X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/72cd9a913f6d282c5e24990505c2c820bda2bf1b..b921d92fcbdb2c19fe2c6158e9a5181d451b976a:/tests/named-refs.at diff --git a/tests/named-refs.at b/tests/named-refs.at index 0b2f4c94..0e6f60c8 100644 --- a/tests/named-refs.at +++ b/tests/named-refs.at @@ -19,7 +19,7 @@ AT_BANNER([[Named references tests.]]) AT_SETUP([Tutorial calculator]) - +AT_BISON_OPTION_PUSHDEFS AT_DATA_GRAMMAR([test.y], [[ %{ @@ -33,8 +33,8 @@ FILE *input; static semantic_value global_result = 0; static int global_count = 0; static int power (int base, int exponent); -static void yyerror (const char *s); -int yylex (void); +]AT_YYERROR_DECLARE[ +]AT_YYLEX_DECLARE[ %} %union @@ -83,12 +83,7 @@ exp: | '-' error { $$ = 0; YYERROR; } ; %% - -static void yyerror (const char *s) -{ - fprintf (stderr, "%s\n", s); -} - +]AT_YYERROR_DEFINE[ static int get_char (void) { int res = getc (input); @@ -119,7 +114,8 @@ static int read_signed_integer (void) return sign * n; } -int yylex (void) +static int +yylex (void) { int c; /* Skip white space. */ @@ -190,6 +186,7 @@ AT_DATA([input.txt], AT_BISON_CHECK([-o test.c test.y]) AT_COMPILE([[test]]) AT_PARSER_CHECK([./test input.txt], 0, [], [stderr]) +AT_BISON_OPTION_POPDEFS AT_CLEANUP @@ -198,13 +195,13 @@ AT_CLEANUP AT_SETUP([Undefined and ambiguous references]) - +AT_BISON_OPTION_PUSHDEFS AT_DATA_GRAMMAR([test.y], [[ %{ static int power (int base, int exponent); -static void yyerror (const char *s); -int yylex (void); +]AT_YYERROR_DECLARE[ +]AT_YYLEX_DECLARE[ %} %union @@ -268,6 +265,7 @@ test.y:55.3-53: symbol not found in production: r12 test.y:56.29-33: invalid reference: '$expo' test.y:56.3-46: symbol not found in production: expo ]]) +AT_BISON_OPTION_POPDEFS AT_CLEANUP #######################################################################