]> git.saurik.com Git - bison.git/blobdiff - tests/calc.at
(getargs) [MSDOS]: Don't assume optarg != NULL
[bison.git] / tests / calc.at
index c3873e57c55c10ee687231a310eb4b685e875ddf..7cf12d39e9c064537dfed544a22f8912168217d7 100644 (file)
@@ -46,22 +46,21 @@ AT_DATA_GRAMMAR([calc.y],
 # include <string.h>
 #endif
 #include <ctype.h>
-#include <assert.h>
 
 extern void perror (const char *s);
 
 /* Exercise pre-prologue dependency to %union.  */
-typedef int value_t;
+typedef int value;
 
-value_t global_result = 0;
-int global_count = 0;
+static value global_result = 0;
+static int global_count = 0;
 
 %}
 
 /* Exercise %union. */
 %union
 {
-  value_t ival;
+  value ival;
 };
 
 %{
@@ -96,7 +95,7 @@ static int power (int base, int exponent);
    - %location & %pure & %glr
    - %location & %pure & %yacc & %parse-param. */
 static void yyerror (]AT_YYERROR_ARG_LOC_IF([YYLTYPE *yylloc, ])[
-                     ]AT_PARAM_IF([value_t *result, int *count, ])[
+                     ]AT_PARAM_IF([value *result, int *count, ])[
                      const char *s
                      );
 static int yylex (LEX_FORMALS);
@@ -146,11 +145,11 @@ exp:
 ;
 %%
 /* The input. */
-FILE *yyin;
+static FILE *yyin;
 
 static void
 yyerror (]AT_YYERROR_ARG_LOC_IF([YYLTYPE *yylloc, ])[
-         ]AT_PARAM_IF([value_t *result, int *count, ])[
+         ]AT_PARAM_IF([value *result, int *count, ])[
          const char *s
          )
 {
@@ -289,10 +288,9 @@ power (int base, int exponent)
 int
 main (int argc, const char **argv)
 {
-  value_t result = 0;
+  value result = 0;
   int count = 0;
-  int status = 0;
-  yyin = NULL;
+  int status;
 
   if (argc == 2)
     yyin = fopen (argv[1], "r");
@@ -309,8 +307,10 @@ main (int argc, const char **argv)
   yydebug = 1;
 #endif
   status = yyparse (]AT_PARAM_IF([&result, &count])[);
-  assert (global_result == result);
-  assert (global_count  == count);
+  if (global_result != result)
+    abort ();
+  if (global_count != count)
+    abort ();
   return status;
 }
 ]])
@@ -353,7 +353,7 @@ m4_bmatch([$1],
 #                      [NUM-DEBUG-LINES],
 #                      [VERBOSE-AND-LOCATED-ERROR-MESSAGE])
 # ---------------------------------------------------------
-# Run `calc' on INPUT, and expect a `parse 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,
 # otherwise as contents.
@@ -362,7 +362,7 @@ m4_bmatch([$1],
 # is correctly output on stderr.
 #
 # If BISON-OPTIONS contains `%error-verbose', then make sure the
-# IF-YYERROR-VERBOSE message is properly output after `parse error, '
+# IF-YYERROR-VERBOSE message is properly output after `syntax error, '
 # on STDERR.
 #
 # If BISON-OPTIONS contains `%debug' but not `%glr', then NUM-STDERR-LINES
@@ -406,7 +406,7 @@ AT_YYERROR_SEES_LOC_IF([],
 mv at-expout expout]])
 # 4. If error-verbose is not used, strip the`, unexpected....' part.
 m4_bmatch([$1], [%error-verbose], [],
-[[sed 's/parse error, .*$/parse error/' expout >at-expout
+[[sed 's/syntax error, .*$/syntax error/' expout >at-expout
 mv at-expout expout]])
 # 5. Check
 AT_CHECK([cat stderr], 0, [expout])
@@ -497,30 +497,30 @@ _AT_CHECK_CALC([$1],
 (2^2)^3 = 64],
                [486])
 
-# Some parse errors.
+# Some syntax errors.
 _AT_CHECK_CALC_ERROR([$1], [1], [0 0], [11],
-                     [1.3-1.4: parse error, unexpected "number"])
+                     [1.3-1.4: syntax error, unexpected "number"])
 _AT_CHECK_CALC_ERROR([$1], [1], [1//2], [15],
-                     [1.3-1.4: parse error, unexpected '/', expecting "number" or '-' or '('])
+                     [1.3-1.4: syntax error, unexpected '/', expecting "number" or '-' or '('])
 _AT_CHECK_CALC_ERROR([$1], [1], [error], [4],
-                     [1.1-1.2: parse error, unexpected $undefined, expecting "number" or '-' or '\n' or '('])
+                     [1.1-1.2: syntax error, unexpected $undefined, expecting "number" or '-' or '\n' or '('])
 _AT_CHECK_CALC_ERROR([$1], [1], [1 = 2 = 3], [22],
-                     [1.7-1.8: parse error, unexpected '='])
+                     [1.7-1.8: syntax error, unexpected '='])
 _AT_CHECK_CALC_ERROR([$1], [1],
                      [
 +1],
                      [14],
-                     [2.1-2.2: parse error, unexpected '+'])
+                     [2.1-2.2: syntax error, unexpected '+'])
 # Exercise error messages with EOF: work on an empty file.
 _AT_CHECK_CALC_ERROR([$1], [1], [/dev/null], [4],
-                     [1.1-1.2: parse error, unexpected "end of input", expecting "number" or '-' or '\n' or '('])
+                     [1.1-1.2: syntax error, unexpected "end of input", expecting "number" or '-' or '\n' or '('])
 
 # Exercise the error token: without it, we die at the first error,
 # hence be sure i. to have several errors, ii. to test the action
 # associated to `error'.
 _AT_CHECK_CALC_ERROR([$1], [0], [(1 ++ 2) + (0 0) = 1], [82],
-[1.5-1.6: parse error, unexpected '+', expecting "number" or '-' or '('
-1.15-1.16: parse error, unexpected "number"
+[1.5-1.6: syntax error, unexpected '+', expecting "number" or '-' or '('
+1.15-1.16: syntax error, unexpected "number"
 calc: error: 0 != 1])
 
 AT_CHECK_POPDEFS
@@ -562,7 +562,7 @@ AT_CHECK_CALC_LALR([%error-verbose %debug %locations %defines %name-prefix="calc
 
 AT_CHECK_CALC_LALR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc])
 
-AT_CHECK_CALC_LALR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc %parse-param {value_t *result}, {result} %parse-param {int *count}, {count}])
+AT_CHECK_CALC_LALR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc %parse-param {value *result} %parse-param {int *count}])
 
 
 # ----------------------- #
@@ -597,4 +597,4 @@ AT_CHECK_CALC_GLR([%error-verbose %debug %locations %defines %name-prefix="calc"
 
 AT_CHECK_CALC_GLR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc])
 
-AT_CHECK_CALC_GLR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc %parse-param {value_t *result}, {result} %parse-param {int *count}, {count}])
+AT_CHECK_CALC_GLR([%pure-parser %error-verbose %debug %locations %defines %name-prefix="calc" %verbose %yacc %parse-param {value *result} %parse-param {int *count}])