mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
tests: add token declaration order test
* tests/conflicts.at: New test.
This commit is contained in:
committed by
Akim Demaille
parent
c6a731eebb
commit
9e62f1a657
@@ -18,6 +18,74 @@
|
||||
AT_BANNER([[Conflicts.]])
|
||||
|
||||
|
||||
## ------------------------ ##
|
||||
## Token declaration order. ##
|
||||
## ------------------------ ##
|
||||
|
||||
# This test checks that token are declared left to right when in a precedence
|
||||
# statement.
|
||||
|
||||
AT_SETUP([Token declaration order])
|
||||
|
||||
AT_BISON_OPTION_PUSHDEFS
|
||||
|
||||
AT_DATA_GRAMMAR([[input.y]],
|
||||
[[%code {
|
||||
#include <stdio.h>
|
||||
]AT_YYERROR_DECLARE[
|
||||
]AT_YYLEX_DECLARE[
|
||||
}
|
||||
%token A B C
|
||||
%token D
|
||||
%right E F G
|
||||
%right H I
|
||||
%right J
|
||||
%left K
|
||||
%left L M N
|
||||
%nonassoc O P Q
|
||||
%precedence R S T U
|
||||
%precedence V W
|
||||
%%
|
||||
exp: A
|
||||
%%
|
||||
]AT_YYERROR_DEFINE[
|
||||
]AT_YYLEX_DEFINE[
|
||||
int main (void)
|
||||
{
|
||||
assert (A < B);
|
||||
assert (B < C);
|
||||
assert (C < D);
|
||||
assert (D < E);
|
||||
assert (E < F);
|
||||
assert (F < G);
|
||||
assert (G < H);
|
||||
assert (H < I);
|
||||
assert (I < J);
|
||||
assert (J < K);
|
||||
assert (K < L);
|
||||
assert (L < M);
|
||||
assert (M < N);
|
||||
assert (N < O);
|
||||
assert (O < P);
|
||||
assert (P < Q);
|
||||
assert (Q < R);
|
||||
assert (R < S);
|
||||
assert (S < T);
|
||||
assert (T < U);
|
||||
assert (U < V);
|
||||
assert (V < W);
|
||||
}
|
||||
]])
|
||||
|
||||
AT_FULL_COMPILE([input])
|
||||
|
||||
AT_CHECK([./input])
|
||||
|
||||
AT_BISON_OPTION_POPDEFS
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## S/R in initial. ##
|
||||
## ---------------- ##
|
||||
|
||||
Reference in New Issue
Block a user