Skip to content

Instantly share code, notes, and snippets.

@rightfold
Created June 27, 2015 19:45
Show Gist options
  • Save rightfold/a29abd2668b738ea8b75 to your computer and use it in GitHub Desktop.
Save rightfold/a29abd2668b738ea8b75 to your computer and use it in GitHub Desktop.
case '#':
c = readCharacter();
char[] buffer = new char[4];
switch (c) {
case 't':
reader.read(buffer, 0, 3);
if (buffer[0] != 'r' || buffer[1] != 'u' || buffer[2] != 'e') {
throw new InvalidTokenException();
}
return new Lexeme(Lexeme.Token.BOOLEAN, true);
case 'f':
reader.read(buffer, 0, 4);
if (buffer[0] != 'a' || buffer[1] != 'l' || buffer[2] != 's' || buffer[3] != 'e') {
throw new InvalidTokenException();
}
return new Lexeme(Lexeme.Token.BOOLEAN, false);
case 'n':
reader.read(buffer, 0, 3);
if (buffer[0] != 'u' || buffer[1] != 'l' || buffer[2] != 'l') {
throw new InvalidTokenException();
}
return new Lexeme(Lexeme.Token.NULL);
default:
throw new InvalidTokenException();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment