X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6e26ca8c273070fed47c986a96ffc9ed21d9bb17..df09ef2e8fc03de1bc17e9687fddd5f2ed86662c:/tests/calc.at diff --git a/tests/calc.at b/tests/calc.at index b2f85783..eb59ac9e 100644 --- a/tests/calc.at +++ b/tests/calc.at @@ -1,5 +1,5 @@ # Simple calculator. -*- Autotest -*- -# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -144,7 +144,7 @@ yy::Parser::error_ () int yyparse (AT_PARAM_IF([semantic_value *result, int *count])) { - yy::Parser parser (!!YYDEBUG[]AT_LOCATION_IF([, yy::Location::Location ()])AT_PARAM_IF([, result, count])); + yy::Parser parser (!!YYDEBUG[]AT_PARAM_IF([, result, count])); return parser.parse (); } ], @@ -442,11 +442,11 @@ AT_BISON_OPTION_PUSHDEFS([$1]) AT_DATA_CALC_Y([$1]) -# Specify the output files to avoid problems on different file systems. -AT_CHECK([bison -o calc.c calc.y]) - -AT_LALR1_CC_IF([AT_COMPILE_CXX([calc])], - [AT_COMPILE([calc])]) +AT_LALR1_CC_IF( + [AT_CHECK([bison -o calc.cc calc.y]) + AT_COMPILE_CXX([calc])], + [AT_CHECK([bison -o calc.c calc.y]) + AT_COMPILE([calc])]) # Test the priorities. _AT_CHECK_CALC([$1], @@ -463,24 +463,24 @@ _AT_CHECK_CALC([$1], 2^2^3 = 256 (2^2)^3 = 64], - [486]) + [570]) # Some syntax errors. -_AT_CHECK_CALC_ERROR([$1], [1], [0 0], [11], +_AT_CHECK_CALC_ERROR([$1], [1], [0 0], [13], [1.2: syntax error, unexpected "number"]) -_AT_CHECK_CALC_ERROR([$1], [1], [1//2], [15], +_AT_CHECK_CALC_ERROR([$1], [1], [1//2], [18], [1.2: syntax error, unexpected '/', expecting "number" or '-' or '(' or '!']) -_AT_CHECK_CALC_ERROR([$1], [1], [error], [4], +_AT_CHECK_CALC_ERROR([$1], [1], [error], [5], [1.0: syntax error, unexpected $undefined]) -_AT_CHECK_CALC_ERROR([$1], [1], [1 = 2 = 3], [22], +_AT_CHECK_CALC_ERROR([$1], [1], [1 = 2 = 3], [26], [1.6: syntax error, unexpected '=']) _AT_CHECK_CALC_ERROR([$1], [1], [ +1], - [14], + [16], [2.0: syntax error, unexpected '+']) # Exercise error messages with EOF: work on an empty file. -_AT_CHECK_CALC_ERROR([$1], [1], [/dev/null], [4], +_AT_CHECK_CALC_ERROR([$1], [1], [/dev/null], [5], [1.0: syntax error, unexpected "end of input"]) # Exercise the error token: without it, we die at the first error, @@ -494,14 +494,14 @@ _AT_CHECK_CALC_ERROR([$1], [1], [/dev/null], [4], # # - test the action associated to `error' # -# - check the lookahead that triggers an error is not discarded -# when we enter error recovery. Below, the lookahead causing the +# - check the look-ahead that triggers an error is not discarded +# when we enter error recovery. Below, the look-ahead causing the # first error is ")", which is needed to recover from the error and # produce the "0" that triggers the "0 != 1" error. # _AT_CHECK_CALC_ERROR([$1], [0], [() + (1 + 1 + 1 +) + (* * *) + (1 * 2 * *) = 1], - [156], + [188], [1.1: syntax error, unexpected ')', expecting "number" or '-' or '(' or '!' 1.17: syntax error, unexpected ')', expecting "number" or '-' or '(' or '!' 1.22: syntax error, unexpected '*', expecting "number" or '-' or '(' or '!' @@ -509,11 +509,11 @@ _AT_CHECK_CALC_ERROR([$1], [0], calc: error: 4444 != 1]) # The same, but this time exercising explicitly triggered syntax errors. -# POSIX says the lookahead causing the error should not be discarded. -_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (0 0) = 1], [62], +# POSIX says the look-ahead causing the error should not be discarded. +_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (0 0) = 1], [75], [1.9: syntax error, unexpected "number" calc: error: 2222 != 1]) -_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (0 0) = 1], [70], +_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (0 0) = 1], [85], [1.3: syntax error, unexpected '*', expecting "number" or '-' or '(' or '!' 1.11: syntax error, unexpected "number" calc: error: 2222 != 1])