16498Snate@binkert.org# lex_state5.py
24479Sbinkertn@umich.edu#
34479Sbinkertn@umich.edu# Bad state declaration
44479Sbinkertn@umich.edu
54479Sbinkertn@umich.eduimport sys
66498Snate@binkert.orgif ".." not in sys.path: sys.path.insert(0,"..")
74479Sbinkertn@umich.edu
84479Sbinkertn@umich.eduimport ply.lex as lex
94479Sbinkertn@umich.edu
106498Snate@binkert.orgtokens = [
114479Sbinkertn@umich.edu    "PLUS",
124479Sbinkertn@umich.edu    "MINUS",
134479Sbinkertn@umich.edu    "NUMBER",
144479Sbinkertn@umich.edu    ]
154479Sbinkertn@umich.edu
164479Sbinkertn@umich.edustates = (('comment', 'exclusive'),
174479Sbinkertn@umich.edu          ('comment', 'exclusive'))
184479Sbinkertn@umich.edu
194479Sbinkertn@umich.edut_PLUS = r'\+'
204479Sbinkertn@umich.edut_MINUS = r'-'
214479Sbinkertn@umich.edut_NUMBER = r'\d+'
224479Sbinkertn@umich.edu
234479Sbinkertn@umich.edu# Comments
244479Sbinkertn@umich.edudef t_comment(t):
254479Sbinkertn@umich.edu    r'/\*'
264479Sbinkertn@umich.edu    t.lexer.begin('comment')
276498Snate@binkert.org    print("Entering comment state")
284479Sbinkertn@umich.edu
294479Sbinkertn@umich.edudef t_comment_body_part(t):
304479Sbinkertn@umich.edu    r'(.|\n)*\*/'
316498Snate@binkert.org    print("comment body %s" % t)
324479Sbinkertn@umich.edu    t.lexer.begin('INITIAL')
334479Sbinkertn@umich.edu
344479Sbinkertn@umich.edudef t_error(t):
354479Sbinkertn@umich.edu    pass
364479Sbinkertn@umich.edu
374479Sbinkertn@umich.edu
384479Sbinkertn@umich.edulex.lex()
394479Sbinkertn@umich.edu
404479Sbinkertn@umich.edu
41