mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
skeletons: add support for %code epilogue
When building the test cases, emitting code in the epilogue is very constraining. Let's make it simpler thanks to %code epilogue. However, I don't want to document this: it is bad style to use it (we should avoid having too many ways to write the same thing, TI!MTOWTDI), just put your code in the true epilogue section. * data/skeletons/glr.c, data/skeletons/lalr1.d, data/skeletons/lalr1.java, * data/skeletons/yacc.c: Implement support for %code epilogue. Remove useless comments. * tests/calc.at, tests/java.at: Simplify.
This commit is contained in:
@@ -117,13 +117,8 @@ exp:
|
||||
| '-' error { $$ = new Integer (0); return YYERROR; }
|
||||
;
|
||||
|
||||
]AT_LEXPARAM_IF([[
|
||||
%code lexer {
|
||||
]],
|
||||
[[
|
||||
%%
|
||||
class CalcLexer implements Calc.Lexer {
|
||||
]])[
|
||||
]AT_LEXPARAM_IF([[%code lexer {]],
|
||||
[[%code epilogue { class CalcLexer implements Calc.Lexer {]])[
|
||||
StreamTokenizer st;
|
||||
|
||||
public ]AT_LEXPARAM_IF([[YYLexer]], [[CalcLexer]])[ (InputStream is)
|
||||
@@ -176,10 +171,9 @@ class CalcLexer implements Calc.Lexer {
|
||||
else
|
||||
return st.ttype;
|
||||
}
|
||||
]AT_LEXPARAM_IF([[
|
||||
]AT_LEXPARAM_IF([], [[}]])[
|
||||
};
|
||||
%%]], [[
|
||||
}]])[
|
||||
%%
|
||||
]AT_JAVA_POSITION_DEFINE[
|
||||
]])
|
||||
])# _AT_DATA_JAVA_CALC_Y
|
||||
|
||||
Reference in New Issue
Block a user