summaryrefslogtreecommitdiffstats
path: root/taccle/examples/lalr_reduce_reduce.tac
diff options
context:
space:
mode:
Diffstat (limited to 'taccle/examples/lalr_reduce_reduce.tac')
-rw-r--r--taccle/examples/lalr_reduce_reduce.tac18
1 files changed, 18 insertions, 0 deletions
diff --git a/taccle/examples/lalr_reduce_reduce.tac b/taccle/examples/lalr_reduce_reduce.tac
new file mode 100644
index 0000000..fb7e493
--- /dev/null
+++ b/taccle/examples/lalr_reduce_reduce.tac
@@ -0,0 +1,18 @@
+# $Id: lalr_reduce_reduce.tac,v 1.1 2004/08/18 23:53:42 tang Exp $
+
+# Below illustrates a grammar that is ambiguous by an LALR(1) parser
+# but not an LR(1). There is a reduce/reduce conflict given a viable
+# prefix ac. taccle resolves this by giving precedence to the first
+# listed rule (A -> c).
+#
+# Reference:
+# Dragon book, page 238
+
+%token a b c d e
+
+%%
+
+S: a A d | b B d | a B e | b A e ;
+
+A: c ;
+B: c ;