diff options
| author | Louis Burda <quent.burda@gmail.com> | 2024-03-14 21:30:16 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2024-03-14 21:30:16 +0100 |
| commit | 4007ea18f294aefb6128cbe82c5446cd8cb72c50 (patch) | |
| tree | 0d6e38d202ac7be9a59192cd881a4de5d1713a71 /chall/ply-2.2/test/lex_state_noerror.py | |
| download | cscg24-lolpython-4007ea18f294aefb6128cbe82c5446cd8cb72c50.tar.gz cscg24-lolpython-4007ea18f294aefb6128cbe82c5446cd8cb72c50.zip | |
Add solution
Diffstat (limited to 'chall/ply-2.2/test/lex_state_noerror.py')
| -rw-r--r-- | chall/ply-2.2/test/lex_state_noerror.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chall/ply-2.2/test/lex_state_noerror.py b/chall/ply-2.2/test/lex_state_noerror.py new file mode 100644 index 0000000..853b157 --- /dev/null +++ b/chall/ply-2.2/test/lex_state_noerror.py @@ -0,0 +1,41 @@ +# lex_state2.py +# +# Declaration of a state for which no rules are defined + +import sys +sys.path.insert(0,"..") + +import ply.lex as lex + +tokens = [ + "PLUS", + "MINUS", + "NUMBER", + ] + +comment = 1 +states = (('comment', 'exclusive'),) + +t_PLUS = r'\+' +t_MINUS = r'-' +t_NUMBER = r'\d+' + +# 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", t + t.lexer.begin('INITIAL') + +def t_error(t): + pass + +import sys + +lex.lex() + + |
