sub method
void
sub()
Implementation
void sub() {
final char = advance();
// NOTE: This is not preserving comments at this time.
if (peek().lexeme == '-') {
// Check for left block comment token
if (peek(offset: 1).lexeme == '[' && peek(offset: 2).lexeme == '[') {
// Consume this extra '-' char in the stream.
advance();
final substr = parseDoubleBracketStr();
tokens.add(
char.toToken(TokenType.kBlockComment, lexeme: '--${substr.lexeme}'),
);
return;
}
tokens.add(char.toToken(TokenType.kLineComment, lexeme: '--'));
// Consume until newline terminator
while (!eof() && peek().lexeme != '\n') {
advance();
}
return;
}
tokens.add(char.toToken(TokenType.kSub));
}