lex_state4.py revision 6498
15522Snate@binkert.org# lex_state4.py 25522Snate@binkert.org# 35522Snate@binkert.org# Bad state declaration 45522Snate@binkert.org 55522Snate@binkert.orgimport sys 65522Snate@binkert.orgif ".." not in sys.path: sys.path.insert(0,"..") 75522Snate@binkert.org 85522Snate@binkert.orgimport ply.lex as lex 95522Snate@binkert.org 105522Snate@binkert.orgtokens = [ 115522Snate@binkert.org "PLUS", 125522Snate@binkert.org "MINUS", 135522Snate@binkert.org "NUMBER", 145522Snate@binkert.org ] 155522Snate@binkert.org 165522Snate@binkert.org 175522Snate@binkert.orgstates = (('comment', 'exclsive'),) 185522Snate@binkert.org 195522Snate@binkert.orgt_PLUS = r'\+' 205522Snate@binkert.orgt_MINUS = r'-' 215522Snate@binkert.orgt_NUMBER = r'\d+' 225522Snate@binkert.org 235522Snate@binkert.org# Comments 245522Snate@binkert.orgdef t_comment(t): 255522Snate@binkert.org r'/\*' 265522Snate@binkert.org t.lexer.begin('comment') 275522Snate@binkert.org print("Entering comment state") 285522Snate@binkert.org 295522Snate@binkert.orgdef t_comment_body_part(t): 305522Snate@binkert.org r'(.|\n)*\*/' 315522Snate@binkert.org print("comment body %s" % t) 325522Snate@binkert.org t.lexer.begin('INITIAL') 335522Snate@binkert.org 345522Snate@binkert.orgdef t_error(t): 355522Snate@binkert.org pass 367674Snate@binkert.org 375522Snate@binkert.org 385522Snate@binkert.org 395522Snate@binkert.orglex.lex() 405522Snate@binkert.org 415522Snate@binkert.org 425522Snate@binkert.org