-# Checking the output filenames. -*- Autotest -*-
+# Simple calculator. -*- Autotest -*-
# Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# include <stdlib.h>
# include <string.h>
#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#else
+# undef alarm
+# define alarm(seconds) /* empty */
+#endif
#include <ctype.h>
extern void perror (const char *s);
| '(' exp ')' { $$ = $2; }
| '(' error ')' { $$ = 1111; }
| '!' { YYERROR; }
+| '-' error { YYERROR; }
;
%%
/* The input. */
int count = 0;
int status;
+ alarm (10);
if (argc == 2)
yyin = fopen (argv[1], "r");
else
# 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], [64],
+_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (0 0) = 1], [62],
[1.9: syntax error, unexpected "number"
calc: error: 2222 != 1])
+_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (0 0) = 1], [70],
+[1.3: syntax error, unexpected '*', expecting "number" or '-' or '(' or '!'
+1.11: syntax error, unexpected "number"
+calc: error: 2222 != 1])
AT_BISON_OPTION_POPDEFS
AT_CLEANUP