16498Snate@binkert.org# -----------------------------------------------------------------------------
26498Snate@binkert.org# yacc_rr_unused.py
36498Snate@binkert.org#
46498Snate@binkert.org# A grammar with reduce/reduce conflicts and a rule that never
56498Snate@binkert.org# gets reduced.
66498Snate@binkert.org# -----------------------------------------------------------------------------
76498Snate@binkert.orgimport sys
86498Snate@binkert.org
96498Snate@binkert.orgif ".." not in sys.path: sys.path.insert(0,"..")
106498Snate@binkert.orgimport ply.yacc as yacc
116498Snate@binkert.org
126498Snate@binkert.orgtokens = ('A', 'B', 'C')
136498Snate@binkert.org
146498Snate@binkert.orgdef p_grammar(p):
156498Snate@binkert.org   '''
166498Snate@binkert.org   rule1 : rule2 B
176498Snate@binkert.org         | rule2 C
186498Snate@binkert.org
196498Snate@binkert.org   rule2 : rule3 B
206498Snate@binkert.org         | rule4
216498Snate@binkert.org         | rule5
226498Snate@binkert.org
236498Snate@binkert.org   rule3 : A
246498Snate@binkert.org
256498Snate@binkert.org   rule4 : A
266498Snate@binkert.org
276498Snate@binkert.org   rule5 : A
286498Snate@binkert.org   '''
296498Snate@binkert.org
306498Snate@binkert.orgyacc.yacc()
31