}
int
-main(int argc, char* argv[])
+main (int argc, char* argv[])
{
int res;
input = stdin;
%%
]AT_YYLEX_DEFINE(["a"])[
]AT_YYERROR_DEFINE[
-int
-main (void)
-{
- return yyparse () != 1;
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
]])
AT_COMPILE([glr-regr5])
-AT_PARSER_CHECK([[./glr-regr5]], 0, [],
+AT_PARSER_CHECK([[./glr-regr5]], 1, [],
[syntax is ambiguous
])
%%
]AT_YYERROR_DEFINE[
]AT_YYLEX_DEFINE(["a"])[
-int
-main (void)
-{
- return yyparse () != 1;
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
]])
AT_COMPILE([glr-regr6])
-AT_PARSER_CHECK([[./glr-regr6]], 0,
+AT_PARSER_CHECK([[./glr-regr6]], 1,
[Destructor called.
],
[syntax is ambiguous
}
}
-int
-main (void)
-{
- yyparse();
- return 0;
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
return input[toknum++];
}
-int
-main (void)
-{
- return yyparse () != 1;
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
]])
AT_COMPILE([glr-regr17])
-AT_PARSER_CHECK([[./glr-regr17]], 0, [],
+AT_PARSER_CHECK([[./glr-regr17]], 1, [],
[1.1-2.2: syntax is ambiguous
])
%%
]AT_YYERROR_DEFINE[
]AT_YYLEX_DEFINE[
-int
-main (void)
-{
- return yyparse ();
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
AT_SETUP([Ambiguity reports])
-AT_BISON_OPTION_PUSHDEFS
+AT_BISON_OPTION_PUSHDEFS([%debug])
AT_DATA_GRAMMAR([input.y],
[[
%{
%%
]AT_YYLEX_DEFINE(["abc"])[
]AT_YYERROR_DEFINE[
-int
-main (void)
-{
- yydebug = 1;
- return !!yyparse ();
-}
+]AT_MAIN_DEFINE[
]])
AT_BISON_OPTION_POPDEFS
]])
AT_COMPILE([input])
-AT_PARSER_CHECK([[./input]], 1, [],
+AT_PARSER_CHECK([[./input --debug]], 1, [],
[Starting parse
Entering state 0
Reading a token: Next token is token 'a' ()