lex_state5.py revision 4479
11196Shsul@eecs.umich.edu# lex_state2.py
21196Shsul@eecs.umich.edu#
31196Shsul@eecs.umich.edu# Bad state declaration
41196Shsul@eecs.umich.edu
51196Shsul@eecs.umich.eduimport sys
61196Shsul@eecs.umich.edusys.path.insert(0,"..")
71196Shsul@eecs.umich.edu
81242Ssaidi@eecs.umich.eduimport ply.lex as lex
91196Shsul@eecs.umich.edu
101196Shsul@eecs.umich.edutokens = [
111196Shsul@eecs.umich.edu    "PLUS",
121196Shsul@eecs.umich.edu    "MINUS",
131196Shsul@eecs.umich.edu    "NUMBER",
141196Shsul@eecs.umich.edu    ]
151196Shsul@eecs.umich.edu
161196Shsul@eecs.umich.educomment = 1
171196Shsul@eecs.umich.edustates = (('comment', 'exclusive'),
181196Shsul@eecs.umich.edu          ('comment', 'exclusive'))
191196Shsul@eecs.umich.edu
201196Shsul@eecs.umich.edut_PLUS = r'\+'
211196Shsul@eecs.umich.edut_MINUS = r'-'
221196Shsul@eecs.umich.edut_NUMBER = r'\d+'
231196Shsul@eecs.umich.edu
241196Shsul@eecs.umich.edu# Comments
251196Shsul@eecs.umich.edudef t_comment(t):
261362Shsul@eecs.umich.edu    r'/\*'
271648Sbinkertn@umich.edu    t.lexer.begin('comment')
281196Shsul@eecs.umich.edu    print "Entering comment state"
291196Shsul@eecs.umich.edu
301196Shsul@eecs.umich.edudef t_comment_body_part(t):
311196Shsul@eecs.umich.edu    r'(.|\n)*\*/'
321196Shsul@eecs.umich.edu    print "comment body", t
331196Shsul@eecs.umich.edu    t.lexer.begin('INITIAL')
341196Shsul@eecs.umich.edu
351196Shsul@eecs.umich.edudef t_error(t):
361196Shsul@eecs.umich.edu    pass
371196Shsul@eecs.umich.edu
381196Shsul@eecs.umich.eduimport sys
391196Shsul@eecs.umich.edu
401196Shsul@eecs.umich.edulex.lex()
411196Shsul@eecs.umich.edu
421196Shsul@eecs.umich.edu
431196Shsul@eecs.umich.edu