* tests/actions.at, tests/c++.at, tests/headers.at,
* tests/input.at: here.
%%
]AT_YYERROR_DEFINE[
]AT_YYLEX_DEFINE[
%%
]AT_YYERROR_DEFINE[
]AT_YYLEX_DEFINE[
%%
]AT_YYERROR_DEFINE[
]])
%%
]AT_YYERROR_DEFINE[
]])
]AT_YYLEX_DECLARE_EXTERN[
%}
%%
]AT_YYLEX_DECLARE_EXTERN[
%}
%%
]])
AT_BISON_CHECK([--defines -o input.c input.y])
]])
AT_BISON_CHECK([--defines -o input.c input.y])
%%
exp: foo { $$; } foo { $2; } foo
| foo
%%
exp: foo { $$; } foo { $2; } foo
| foo
| foo
^^^
input.y:7.5: warning: empty rule for typed nonterminal, and no action [-Wother]
| foo
^^^
input.y:7.5: warning: empty rule for typed nonterminal, and no action [-Wother]
AT_DATA_GRAMMAR([input.y],
[[%require "$1";
%%
AT_DATA_GRAMMAR([input.y],
[[%require "$1";
%%
+empty_file: /* empty */;
]])
AT_BISON_CHECK([-o input.c input.y], $2, [], ignore)
AT_CLEANUP
]])
AT_BISON_CHECK([-o input.c input.y], $2, [], ignore)
AT_CLEANUP
[AT_DATA([[input.y]],
[[$1
%%
[AT_DATA([[input.y]],
[[$1
%%
]])
AT_BISON_CHECK([[$2 input.y]], [[1]], [[]],
[[$3: error: '%name-prefix' and '%define api.prefix' cannot be used together
]])
AT_BISON_CHECK([[$2 input.y]], [[1]], [[]],
[[$3: error: '%name-prefix' and '%define api.prefix' cannot be used together