16498Snate@binkert.org# lex_state_norule.py 24479Sbinkertn@umich.edu# 34479Sbinkertn@umich.edu# Declaration of a state for which no rules are defined 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 ('example', '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