summaryrefslogtreecommitdiffstats
path: root/chall/ply-2.2/example/yply/ylex.py
diff options
context:
space:
mode:
Diffstat (limited to 'chall/ply-2.2/example/yply/ylex.py')
-rw-r--r--chall/ply-2.2/example/yply/ylex.py112
1 files changed, 0 insertions, 112 deletions
diff --git a/chall/ply-2.2/example/yply/ylex.py b/chall/ply-2.2/example/yply/ylex.py
deleted file mode 100644
index 67d2354..0000000
--- a/chall/ply-2.2/example/yply/ylex.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# lexer for yacc-grammars
-#
-# Author: David Beazley (dave@dabeaz.com)
-# Date : October 2, 2006
-
-import sys
-sys.path.append("../..")
-
-from ply import *
-
-tokens = (
- 'LITERAL','SECTION','TOKEN','LEFT','RIGHT','PREC','START','TYPE','NONASSOC','UNION','CODE',
- 'ID','QLITERAL','NUMBER',
-)
-
-states = (('code','exclusive'),)
-
-literals = [ ';', ',', '<', '>', '|',':' ]
-t_ignore = ' \t'
-
-t_TOKEN = r'%token'
-t_LEFT = r'%left'
-t_RIGHT = r'%right'
-t_NONASSOC = r'%nonassoc'
-t_PREC = r'%prec'
-t_START = r'%start'
-t_TYPE = r'%type'
-t_UNION = r'%union'
-t_ID = r'[a-zA-Z_][a-zA-Z_0-9]*'
-t_QLITERAL = r'''(?P<quote>['"]).*?(?P=quote)'''
-t_NUMBER = r'\d+'
-
-def t_SECTION(t):
- r'%%'
- if getattr(t.lexer,"lastsection",0):
- t.value = t.lexer.lexdata[t.lexpos+2:]
- t.lexer.lexpos = len(t.lexer.lexdata)
- else:
- t.lexer.lastsection = 0
- return t
-
-# Comments
-def t_ccomment(t):
- r'/\*(.|\n)*?\*/'
- t.lineno += t.value.count('\n')
-
-t_ignore_cppcomment = r'//.*'
-
-def t_LITERAL(t):
- r'%\{(.|\n)*?%\}'
- t.lexer.lineno += t.value.count("\n")
- return t
-
-def t_NEWLINE(t):
- r'\n'
- t.lexer.lineno += 1
-
-def t_code(t):
- r'\{'
- t.lexer.codestart = t.lexpos
- t.lexer.level = 1
- t.lexer.begin('code')
-
-def t_code_ignore_string(t):
- r'\"([^\\\n]|(\\.))*?\"'
-
-def t_code_ignore_char(t):
- r'\'([^\\\n]|(\\.))*?\''
-
-def t_code_ignore_comment(t):
- r'/\*(.|\n)*?\*/'
-
-def t_code_ignore_cppcom(t):
- r'//.*'
-
-def t_code_lbrace(t):
- r'\{'
- t.lexer.level += 1
-
-def t_code_rbrace(t):
- r'\}'
- t.lexer.level -= 1
- if t.lexer.level == 0:
- t.type = 'CODE'
- t.value = t.lexer.lexdata[t.lexer.codestart:t.lexpos+1]
- t.lexer.begin('INITIAL')
- t.lexer.lineno += t.value.count('\n')
- return t
-
-t_code_ignore_nonspace = r'[^\s\}\'\"\{]+'
-t_code_ignore_whitespace = r'\s+'
-t_code_ignore = ""
-
-def t_code_error(t):
- raise RuntimeError
-
-def t_error(t):
- print "%d: Illegal character '%s'" % (t.lineno, t.value[0])
- print t.value
- t.lexer.skip(1)
-
-lex.lex()
-
-if __name__ == '__main__':
- lex.runmain()
-
-
-
-
-
-
-