nextToken method

  1. @override
Token? nextToken(
  1. IScanner scanner,
  2. ITokenizer? tokenizer
)
override

Gets the next token from the stream started from the character linked to this state.

  • scanner A textual string to be tokenized.
  • tokenizer A tokenizer class that controls the process. Returns The next token from the top of the stream.

Implementation

@override
Token? nextToken(IScanner scanner, ITokenizer? tokenizer) {
  var line = scanner.peekLine();
  var column = scanner.peekColumn();
  var token = super.nextToken(scanner, tokenizer);
  var value = token?.value?.toUpperCase();

  for (var keyword in keywords) {
    if (keyword == value) {
      return Token(TokenType.Keyword, token?.value, line, column);
    }
  }
  return token;
}