Mercurial > repo
view ply-3.8/test/lex_state_try.py @ 8650:4337d7793b19
<izabera> ` echo \'f="$(find wisdom -ipath "wisdom/*$1*" -type f -print0 | shuf -z -n1); echo -n "${f#wisdom/}//" | rnooooooodl; rnoooooooodl < "$f"\' > bin/wisdom
author | HackBot |
---|---|
date | Wed, 29 Jun 2016 00:26:03 +0000 |
parents | 343ff337a19b |
children |
line wrap: on
line source
# lex_state_try.py # # Declaration of a state for which no rules are defined import sys if ".." not in sys.path: sys.path.insert(0,"..") 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)