diff options
author | Adela Vais <adela.vais99@gmail.com> | 2020-09-28 15:30:11 +0300 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-09-28 19:27:19 +0200 |
commit | 2e5592b3abb94155e6814ddd985694df5dccfc67 (patch) | |
tree | bb8e99ba62b6fb3eeb3142f65d1eae92ac09c9b5 /tests | |
parent | 9b18cac96bdad4a71b546a3c16ca4b7e25c0a657 (diff) | |
download | bison-2e5592b3abb94155e6814ddd985694df5dccfc67.tar.gz |
d: support api.symbol.prefix and api.token.prefix
The D skeleton was not properly supporting them.
* data/skeletons/d.m4, data/skeletons/lalr1.d: Fix it.
* tests/calc.at: Check it.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/calc.at | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/tests/calc.at b/tests/calc.at index e44000a2..ec8723c9 100644 --- a/tests/calc.at +++ b/tests/calc.at @@ -606,13 +606,13 @@ class CalcLexer(R) : Lexer // EOF. if (input.empty) - return TokenKind.CALC_EOF; + return TokenKind.]AT_TOKEN_PREFIX[CALC_EOF; // Numbers. if (input.front.isNumber) { semanticVal_.ival = parseInt; - return TokenKind.NUM; + return TokenKind.]AT_TOKEN_PREFIX[NUM; } // Individual characters @@ -630,22 +630,22 @@ class CalcLexer(R) : Lexer if (c == '#') { stderr.writeln (]AT_LOCATION_IF([location, ": ", ])["syntax error: invalid character: '#'"); - return TokenKind.YYerror; + return TokenKind.]AT_TOKEN_PREFIX[YYerror; } switch (c) { - 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; - case '=': return TokenKind.EQUAL; - case '^': return TokenKind.POW; - case '!': return TokenKind.NOT; - default: return TokenKind.YYUNDEF; + case '+': return TokenKind.]AT_TOKEN_PREFIX[PLUS; + case '-': return TokenKind.]AT_TOKEN_PREFIX[MINUS; + case '*': return TokenKind.]AT_TOKEN_PREFIX[STAR; + case '/': return TokenKind.]AT_TOKEN_PREFIX[SLASH; + case '(': return TokenKind.]AT_TOKEN_PREFIX[LPAR; + case ')': return TokenKind.]AT_TOKEN_PREFIX[RPAR; + case '\n': return TokenKind.]AT_TOKEN_PREFIX[EOL; + case '=': return TokenKind.]AT_TOKEN_PREFIX[EQUAL; + case '^': return TokenKind.]AT_TOKEN_PREFIX[POW; + case '!': return TokenKind.]AT_TOKEN_PREFIX[NOT; + default: return TokenKind.]AT_TOKEN_PREFIX[YYUNDEF; } } } @@ -1449,7 +1449,9 @@ AT_CHECK_CALC_LALR1_D([%define parse.error verbose %define api.prefix {calc} %ve AT_CHECK_CALC_LALR1_D([%debug]) AT_CHECK_CALC_LALR1_D([%define parse.error verbose %debug %verbose]) -#AT_CHECK_CALC_LALR1_D([%define parse.error verbose %debug %define api.token.prefix {TOK_} %verbose]) +AT_CHECK_CALC_LALR1_D([%define parse.error verbose %debug %define api.token.prefix {TOK_} %verbose]) +AT_CHECK_CALC_LALR1_D([%define parse.error verbose %debug %define api.symbol.prefix {SYMB_} %verbose]) +AT_CHECK_CALC_LALR1_D([%define parse.error verbose %debug %define api.symbol.prefix {SYMB_} %define api.token.prefix {TOK_} %verbose]) #AT_CHECK_CALC_LALR1_D([%locations %define parse.error verbose %debug %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}]) #AT_CHECK_CALC_LALR1_D([%locations %define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}]) |