X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/e436fa677c748f52929996590d3e46b5f984d6dc..99d795e8f28470838cc45bd38ce3da9503fe20fb:/tests/java.at diff --git a/tests/java.at b/tests/java.at index b6ea1636..2a1ba514 100644 --- a/tests/java.at +++ b/tests/java.at @@ -32,6 +32,7 @@ AT_BANNER([[Java Calculator.]]) m4_define([_AT_DATA_JAVA_CALC_Y], [m4_if([$1$2$3], $[1]$[2]$[3], [], [m4_fatal([$0: Invalid arguments: $@])])dnl +AT_BISON_OPTION_PUSHDEFS([%language "Java" $4]) AT_DATA([Calc.y], [[/* Infix notation calculator--calc */ %language "Java" @@ -122,20 +123,8 @@ AT_LOCATION_IF([[ public Position getEndPos() { return yypos; } - - public void yyerror (Calc.Location l, String s) - { - if (l == null) - System.err.println (s); - else - System.err.println (l + ": " + s); - } -]], [[ - public void yyerror (String s) - { - System.err.println (s); - } ]])[ + ]AT_YYERROR_DEFINE[ Integer yylval; @@ -211,6 +200,7 @@ class Position { } ]]) +AT_BISON_OPTION_POPDEFS ])# _AT_DATA_JAVA_CALC_Y @@ -224,7 +214,7 @@ m4_define([AT_DATA_JAVA_CALC_Y], # _AT_CHECK_JAVA_CALC_ERROR(BISON-OPTIONS, INPUT, # [VERBOSE-AND-LOCATED-ERROR-MESSAGE]) -# --------------------------------------------------------- +# -------------------------------------------------------------- # Run `calc' on INPUT, and expect a `syntax error' message. # # If INPUT starts with a slash, it is used as absolute input file name, @@ -418,7 +408,7 @@ AT_JAVA_COMPILE([[YYParser.java]]) # AT_CHECK_JAVA_MINIMAL_W_LEXER([1:DIRECTIVES], [2:LEX_THROWS], -# [3:YYLEX_ACTION], [4:LEXER_BODY], [5:PARSER_ACTION], [6:STYPE], +# [3:YYLEX_ACTION], [4:LEXER_BODY], [5:PARSER_ACTION], [6:VALUE_TYPE], # [7:POSITION_TYPE], [8:LOCATION_TYPE]) # --------------------------------------------------------------------- # Check that a mininal parser with DIRECTIVES and a "%code lexer". @@ -471,7 +461,7 @@ AT_CHECK_JAVA_GREP([[class YYParser]]) AT_CHECK_JAVA_MINIMAL([[%name-prefix "Prefix"]]) AT_CHECK_JAVA_GREP([[class PrefixParser]]) -AT_CHECK_JAVA_MINIMAL([[%define api.tokens.prefix "TOK_"]]) +AT_CHECK_JAVA_MINIMAL([[%define api.token.prefix "TOK_"]]) AT_CHECK_JAVA_GREP([[.*TOK_END.*]]) AT_CHECK_JAVA_MINIMAL([[%define parser_class_name "ParserClassName"]]) @@ -752,27 +742,27 @@ AT_CHECK([[grep -q 'super("Test Thread"); if (true) throw new InterruptedExcepti AT_CLEANUP -# --------------------------------------------- # -# Java stype, position_class and location_class # -# --------------------------------------------- # +# ------------------------------------------ # +# Java value, position, and location types. # +# ------------------------------------------ # -AT_SETUP([Java stype, position_class and location_class]) +AT_SETUP([Java value, position, and location types]) AT_CHECK_JAVA_MINIMAL([[ -%define stype "java.awt.Color" +%define api.value.type "java.awt.Color" %type start; -%define location_type "MyLoc" -%define position_type "MyPos" +%define api.location.type "MyLoc" +%define api.position.type "MyPos" %code { class MyPos {} }]], [[$$ = $1;]], [[MyPos]]) AT_CHECK([[grep 'java.awt.Color' YYParser.java]], [0], [ignore]) AT_CHECK([[$EGREP -v ' */?\*' YYParser.java | grep 'Position']], [1], [ignore]) AT_CHECK([[$EGREP -v ' */?\*' YYParser.java | grep 'Location']], [1], [ignore]) AT_CHECK_JAVA_MINIMAL_W_LEXER([[ -%define stype "java.awt.Color" +%define api.value.type "java.awt.Color" %type start; -%define location_type "MyLoc" -%define position_type "MyPos" +%define api.location.type "MyLoc" +%define api.position.type "MyPos" %code { class MyPos {} }]], [], [[return EOF;]], [], [[$$ = $1;]], [[java.awt.Color]], [[MyPos]], [[MyLoc]])