lex_state3.py revision 6498
16498Snate@binkert.org# lex_state3.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.educomment = 1 174479Sbinkertn@umich.edustates = ((comment, 'inclusive'), 184479Sbinkertn@umich.edu ('example', 'exclusive')) 194479Sbinkertn@umich.edu 204479Sbinkertn@umich.edut_PLUS = r'\+' 214479Sbinkertn@umich.edut_MINUS = r'-' 224479Sbinkertn@umich.edut_NUMBER = r'\d+' 234479Sbinkertn@umich.edu 244479Sbinkertn@umich.edu# Comments 254479Sbinkertn@umich.edudef t_comment(t): 264479Sbinkertn@umich.edu r'/\*' 274479Sbinkertn@umich.edu t.lexer.begin('comment') 286498Snate@binkert.org print("Entering comment state") 294479Sbinkertn@umich.edu 304479Sbinkertn@umich.edudef t_comment_body_part(t): 314479Sbinkertn@umich.edu r'(.|\n)*\*/' 326498Snate@binkert.org print("comment body %s" % t) 334479Sbinkertn@umich.edu t.lexer.begin('INITIAL') 344479Sbinkertn@umich.edu 354479Sbinkertn@umich.edudef t_error(t): 364479Sbinkertn@umich.edu pass 374479Sbinkertn@umich.edu 386498Snate@binkert.org 394479Sbinkertn@umich.edu 404479Sbinkertn@umich.edulex.lex() 414479Sbinkertn@umich.edu 424479Sbinkertn@umich.edu 43