[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 8/8] tests: calc: modernize the use of locations
From: |
Akim Demaille |
Subject: |
[PATCH 8/8] tests: calc: modernize the use of locations |
Date: |
Tue, 6 Nov 2012 17:47:17 +0100 |
* tests/calc.at: Don't initialize the location, let the parser
do it.
Use a $printer.
Change some testing input to be easier to distinguish (instead of always
"0 0" for instance).
---
tests/calc.at | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/tests/calc.at b/tests/calc.at
index d912832..062bb45 100644
--- a/tests/calc.at
+++ b/tests/calc.at
@@ -178,18 +178,7 @@ read_signed_integer (]AT_YYLEX_FORMALS[)
]AT_YYLEX_PROTOTYPE[
{
- static int init = 1;
int c;
-
- if (init)
- {
- init = 0;
-]AT_LOCATION_IF([
- AT_LOC_LAST_COLUMN = 1;
- AT_LOC_LAST_LINE = 1;
-])[
- }
-
/* Skip current token, then white spaces. */
do
{
@@ -261,6 +250,8 @@ AT_SKEL_CC_IF(
{
semantic_value ival;
};
+%printer { ]AT_SKEL_CC_IF([[yyoutput << $$]],
+ [[fprintf (yyoutput, "%d", $$)]])[; } <ival>;
%code provides
{
@@ -284,6 +275,13 @@ static int power (int base, int exponent);
]AT_YYLEX_DECLARE_EXTERN[
}
+]AT_SKEL_CC_IF([AT_LOCATION_TYPE_IF([[
+%initial-action
+{
+ @$.first.l = @$.first.c = 1;
+ @$.last = @$.first;
+}]])])[
+
/* Bison Declarations */
%token CALC_EOF 0 "end of input"
%token <ival> NUM "number"
@@ -516,7 +514,7 @@ _AT_CHECK_CALC([$1],
[842])
# Some syntax errors.
-_AT_CHECK_CALC_ERROR([$1], [1], [0 0], [15],
+_AT_CHECK_CALC_ERROR([$1], [1], [1 2], [15],
[1.3: syntax error, unexpected number])
_AT_CHECK_CALC_ERROR([$1], [1], [1//2], [20],
[1.3: syntax error, unexpected '/', expecting number or
'-' or '(' or '!'])
@@ -560,10 +558,10 @@ 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], [102],
+_AT_CHECK_CALC_ERROR([$1], [0], [(!) + (1 2) = 1], [102],
[1.10: syntax error, unexpected number
calc: error: 2222 != 1])
-_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (0 0) = 1], [113],
+_AT_CHECK_CALC_ERROR([$1], [0], [(- *) + (1 2) = 1], [113],
[1.4: syntax error, unexpected '*', expecting number or '-' or '(' or '!'
1.12: syntax error, unexpected number
calc: error: 2222 != 1])
--
1.8.0
- [PATCH 0/8] {branch-2.6} more fixes for -Wuninitialized warnings, Akim Demaille, 2012/11/06
- [PATCH 3/8] glr.cc, yacc.c: initialize yylloc properly, Akim Demaille, 2012/11/06
- [PATCH 4/8] yacc.c: also disable -Wuninitialized., Akim Demaille, 2012/11/06
- [PATCH 6/8] lalr1.cc: always initialize yylval., Akim Demaille, 2012/11/06
- [PATCH 2/8] yacc.c, glr.c: a better YY_LOCATION_PRINT, Akim Demaille, 2012/11/06
- [PATCH 8/8] tests: calc: modernize the use of locations,
Akim Demaille <=
- [PATCH 1/8] yacc.c: simplify initialization, Akim Demaille, 2012/11/06
- [PATCH 5/8] tests: check that C and C++ objects can be linked together., Akim Demaille, 2012/11/06
- [PATCH 7/8] tests: remove useless location initializations, Akim Demaille, 2012/11/06