scan method

Token? scan()

Consumes and returns the next token.

Implementation

Token? scan() {
  if (_streamEndProduced) return null;
  if (_tokens.isEmpty) _fetchNextToken();
  return _tokens.removeFirst();
}