valueState function

Function valueState(
  1. Lexer lexer
)

Implementation

Function valueState(Lexer lexer) {
  String chr = lexer.next();

  if (chr == "+" || chr == "'") {
    lexer.rewind();
    return movementState;
  }

  if (int.tryParse(chr) != null) {
    return numberState;
  }

  if (chr != "b" && chr != "B") {
    lexer.rewind();
    return movementState;
  }

  String p = lexer.peek();

  if (p != "w" && p != "W") {
    lexer.rewind();
    return movementState;
  }

  while (!isWhitespace(chr)) {
    chr = lexer.next();
  }

  lexer.rewind();
  lexer.emit(TokenType.Load);

  return idleState;
}