bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/3] tests: added token declaration order test


From: Valentin Tolmer
Subject: [PATCH 3/3] tests: added token declaration order test
Date: Fri, 25 Jan 2013 11:12:49 +0100

* tests/conflicts.at: New test
---
 tests/conflicts.at |   68 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/tests/conflicts.at b/tests/conflicts.at
index c7ed2fe..37bcfe1 100644
--- a/tests/conflicts.at
+++ b/tests/conflicts.at
@@ -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.  ##
 ## ---------------- ##
-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]