]> git.saurik.com Git - bison.git/blobdiff - tests/regression.at
GLR parsers sometimes raise parse errors instead of performing the
[bison.git] / tests / regression.at
index ca5c2f971cc69451a9d77cf89b02e8c264703fe0..d8c3dd88c1eeacf6634303b82d5cec186a379a1d 100644 (file)
@@ -51,7 +51,7 @@ exp: MY_TOKEN;
 ]])
 
 AT_CHECK([bison input.y -o input.c])
-AT_COMPILE([input], [-c input.c])
+AT_COMPILE([input.o], [-c input.c])
 
 AT_CLEANUP
 
@@ -74,7 +74,7 @@ exp: { tests = {{{{{{{{{{}}}}}}}}}}; };
 
 AT_CHECK([bison -v input.y -o input.c])
 
-AT_CHECK([fgrep 'tests = {{{{{{{{{{}}}}}}}}}};' input.c], 0, [ignore])
+AT_CHECK([grep 'tests = {{{{{{{{{{}}}}}}}}}};' input.c], 0, [ignore])
 
 AT_CLEANUP
 
@@ -228,7 +228,7 @@ state 5
 
     0 $accept: expr $end .
 
-    $default   accept
+    $default  accept
 
 
 state 6
@@ -298,7 +298,7 @@ input.y:5.1: invalid character: `%'
 input.y:6.1: invalid character: `%'
 input.y:6.2: invalid character: `-'
 input.y:7.1-8.0: unexpected end of file in a prologue
-input.y:7.1-8.0: parse error, unexpected PROLOGUE, expecting ";" or "|"
+input.y:7.1-8.0: parse error, unexpected "%{...%}", expecting ";" or "|"
 ]])
 
 AT_CLEANUP
@@ -328,7 +328,33 @@ exp: "a";
 ]])
 
 AT_CHECK([bison input.y -o input.c])
-AT_COMPILE([input], [input.c -c])
+AT_COMPILE([input.o], [-c input.c])
+AT_CLEANUP
+
+
+
+## -------------------- ##
+## Characters Escapes.  ##
+## -------------------- ##
+
+
+AT_SETUP([Characters Escapes])
+
+AT_DATA([input.y],
+[%{
+void yyerror (const char *s);
+int yylex (void);
+%}
+[%%
+exp:
+  '\'' "\'"
+| '\"' "\""
+| '"'  "'"
+;
+]])
+
+AT_CHECK([bison input.y -o input.c])
+AT_COMPILE([input.o], [-c input.c])
 AT_CLEANUP
 
 
@@ -456,7 +482,7 @@ state 5
 
     0 $accept: CONST_DEC_PART $end .
 
-    $default   accept
+    $default  accept
 
 
 state 6
@@ -601,7 +627,7 @@ static const unsigned char yyr2[] =
 };
 static const unsigned char yydefact[] =
 {
-       3,     0,     0,     2,     0,     0,     0,     3,     4,     3,
+       3,     0,     0,     2,     0,     0,     1,     3,     4,     3,
        6,     5
 };
 static const signed char yydefgoto[] =