lex_state_norule.py revision 6498:e21e9ab5fad0
14202Sbinkertn@umich.edu# lex_state_norule.py
24202Sbinkertn@umich.edu#
34202Sbinkertn@umich.edu# Declaration of a state for which no rules are defined
44202Sbinkertn@umich.edu
54202Sbinkertn@umich.eduimport sys
64202Sbinkertn@umich.eduif ".." not in sys.path: sys.path.insert(0,"..")
74202Sbinkertn@umich.edu
84202Sbinkertn@umich.eduimport ply.lex as lex
94202Sbinkertn@umich.edu
104202Sbinkertn@umich.edutokens = [
114202Sbinkertn@umich.edu    "PLUS",
124202Sbinkertn@umich.edu    "MINUS",
134202Sbinkertn@umich.edu    "NUMBER",
144202Sbinkertn@umich.edu    ]
154202Sbinkertn@umich.edu
164202Sbinkertn@umich.edustates = (('comment', 'exclusive'),
174202Sbinkertn@umich.edu          ('example', 'exclusive'))
184202Sbinkertn@umich.edu
194202Sbinkertn@umich.edut_PLUS = r'\+'
204202Sbinkertn@umich.edut_MINUS = r'-'
214202Sbinkertn@umich.edut_NUMBER = r'\d+'
224202Sbinkertn@umich.edu
234202Sbinkertn@umich.edu# Comments
244202Sbinkertn@umich.edudef t_comment(t):
254202Sbinkertn@umich.edu    r'/\*'
264202Sbinkertn@umich.edu    t.lexer.begin('comment')
274202Sbinkertn@umich.edu    print("Entering comment state")
284202Sbinkertn@umich.edu
294202Sbinkertn@umich.edudef t_comment_body_part(t):
304202Sbinkertn@umich.edu    r'(.|\n)*\*/'
314202Sbinkertn@umich.edu    print("comment body %s" % t)
324202Sbinkertn@umich.edu    t.lexer.begin('INITIAL')
334486Sbinkertn@umich.edu
344486Sbinkertn@umich.edudef t_error(t):
356165Ssanchezd@stanford.edu    pass
366168Snate@binkert.org
374202Sbinkertn@umich.edu
384202Sbinkertn@umich.edulex.lex()
394202Sbinkertn@umich.edu
404202Sbinkertn@umich.edu
414202Sbinkertn@umich.edu