diff options
Diffstat (limited to 'tests/lex_state_try.py')
-rw-r--r-- | tests/lex_state_try.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/lex_state_try.py b/tests/lex_state_try.py new file mode 100644 index 0000000..c5f3448 --- /dev/null +++ b/tests/lex_state_try.py @@ -0,0 +1,42 @@ +# lex_state_try.py +# +# Declaration of a state for which no rules are defined + +import ply.lex as lex + +tokens = [ + "PLUS", + "MINUS", + "NUMBER", + ] + +states = (('comment', 'exclusive'),) + +t_PLUS = r'\+' +t_MINUS = r'-' +t_NUMBER = r'\d+' + +t_ignore = " \t" + +# Comments +def t_comment(t): + r'/\*' + t.lexer.begin('comment') + print("Entering comment state") + +def t_comment_body_part(t): + r'(.|\n)*\*/' + print("comment body %s" % t) + t.lexer.begin('INITIAL') + +def t_error(t): + pass + +t_comment_error = t_error +t_comment_ignore = t_ignore + +lex.lex() + +data = "3 + 4 /* This is a comment */ + 10" + +lex.runmain(data=data) |