diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2020-04-13 08:45:46 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-04-13 16:49:54 +0200 |
commit | 71e3f6d4da961967b2aca2dde8759cd69fb8b499 (patch) | |
tree | 9df0811e045eb56110c3efdc76eba042bd94ad5b /examples | |
parent | 3877b7210eb630bfea25913bc2493133a7e93882 (diff) | |
download | bison-71e3f6d4da961967b2aca2dde8759cd69fb8b499.tar.gz |
d: put YYEMPTY in the TokenKind
* data/skeletons/d.m4, data/skeletons/lalr1.d (b4_token_enums): Rename
YYTokenType as TokenKind.
Define YYEMPTY.
* examples/d/calc.y, tests/calc.at, tests/scanner.at: Adjust.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/d/calc.y | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/examples/d/calc.y b/examples/d/calc.y index 7e0c5f1a..a2ae85df 100644 --- a/examples/d/calc.y +++ b/examples/d/calc.y @@ -99,16 +99,15 @@ class CalcLexer(R) : Lexer while (!input.empty && input.front != '\n' && isWhite (input.front)) input.popFront; - // Handle EOF. if (input.empty) - return YYTokenType.EOF; + return TokenKind.YYEOF; // Numbers. if (input.front.isNumber) { import std.conv : parse; semanticVal_.ival = input.parse!int; - return YYTokenType.NUM; + return TokenKind.NUM; } // Individual characters @@ -116,16 +115,15 @@ class CalcLexer(R) : Lexer input.popFront; switch (ch) { - case EOF: return YYTokenType.EOF; - case '=': return YYTokenType.EQ; - case '+': return YYTokenType.PLUS; - case '-': return YYTokenType.MINUS; - case '*': return YYTokenType.STAR; - case '/': return YYTokenType.SLASH; - case '(': return YYTokenType.LPAR; - case ')': return YYTokenType.RPAR; - case '\n': return YYTokenType.EOL; - default: assert(0); + case '=': return TokenKind.EQ; + case '+': return TokenKind.PLUS; + case '-': return TokenKind.MINUS; + case '*': return TokenKind.STAR; + case '/': return TokenKind.SLASH; + case '(': return TokenKind.LPAR; + case ')': return TokenKind.RPAR; + case '\n': return TokenKind.EOL; + default: assert(0); } } } |