1# lex_state2.py
| 1# lex_state3.py
|
2# 3# Bad state declaration 4 5import sys
| 2# 3# Bad state declaration 4 5import sys
|
6sys.path.insert(0,"..")
| 6if ".." not in sys.path: sys.path.insert(0,"..")
|
7 8import ply.lex as lex 9
| 7 8import ply.lex as lex 9
|
10tokens = [
| 10tokens = [
|
11 "PLUS", 12 "MINUS", 13 "NUMBER", 14 ] 15 16comment = 1 17states = ((comment, 'inclusive'), 18 ('example', 'exclusive')) 19 20t_PLUS = r'\+' 21t_MINUS = r'-' 22t_NUMBER = r'\d+' 23 24# Comments 25def t_comment(t): 26 r'/\*' 27 t.lexer.begin('comment')
| 11 "PLUS", 12 "MINUS", 13 "NUMBER", 14 ] 15 16comment = 1 17states = ((comment, 'inclusive'), 18 ('example', 'exclusive')) 19 20t_PLUS = r'\+' 21t_MINUS = r'-' 22t_NUMBER = r'\d+' 23 24# Comments 25def t_comment(t): 26 r'/\*' 27 t.lexer.begin('comment')
|
28 print "Entering comment state"
| 28 print("Entering comment state")
|
29 30def t_comment_body_part(t): 31 r'(.|\n)*\*/'
| 29 30def t_comment_body_part(t): 31 r'(.|\n)*\*/'
|
32 print "comment body", t
| 32 print("comment body %s" % t)
|
33 t.lexer.begin('INITIAL') 34 35def t_error(t): 36 pass 37
| 33 t.lexer.begin('INITIAL') 34 35def t_error(t): 36 pass 37
|
38import sys
| |
39
| 38
|
| 39
|
40lex.lex() 41 42
| 40lex.lex() 41 42
|