16498Snate@binkert.org# lex_state4.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 166498Snate@binkert.org 174479Sbinkertn@umich.edustates = (('comment', 'exclsive'),) 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 376498Snate@binkert.org 384479Sbinkertn@umich.edu 394479Sbinkertn@umich.edulex.lex() 404479Sbinkertn@umich.edu 414479Sbinkertn@umich.edu 42