ylex.py (4479:61d3ed46e373) | ylex.py (6498:e21e9ab5fad0) |
---|---|
1# lexer for yacc-grammars 2# 3# Author: David Beazley (dave@dabeaz.com) 4# Date : October 2, 2006 5 6import sys 7sys.path.append("../..") 8 --- 28 unchanged lines hidden (view full) --- 37 t.lexer.lexpos = len(t.lexer.lexdata) 38 else: 39 t.lexer.lastsection = 0 40 return t 41 42# Comments 43def t_ccomment(t): 44 r'/\*(.|\n)*?\*/' | 1# lexer for yacc-grammars 2# 3# Author: David Beazley (dave@dabeaz.com) 4# Date : October 2, 2006 5 6import sys 7sys.path.append("../..") 8 --- 28 unchanged lines hidden (view full) --- 37 t.lexer.lexpos = len(t.lexer.lexdata) 38 else: 39 t.lexer.lastsection = 0 40 return t 41 42# Comments 43def t_ccomment(t): 44 r'/\*(.|\n)*?\*/' |
45 t.lineno += t.value.count('\n') | 45 t.lexer.lineno += t.value.count('\n') |
46 47t_ignore_cppcomment = r'//.*' 48 49def t_LITERAL(t): 50 r'%\{(.|\n)*?%\}' 51 t.lexer.lineno += t.value.count("\n") 52 return t 53 --- 36 unchanged lines hidden (view full) --- 90t_code_ignore_nonspace = r'[^\s\}\'\"\{]+' 91t_code_ignore_whitespace = r'\s+' 92t_code_ignore = "" 93 94def t_code_error(t): 95 raise RuntimeError 96 97def t_error(t): | 46 47t_ignore_cppcomment = r'//.*' 48 49def t_LITERAL(t): 50 r'%\{(.|\n)*?%\}' 51 t.lexer.lineno += t.value.count("\n") 52 return t 53 --- 36 unchanged lines hidden (view full) --- 90t_code_ignore_nonspace = r'[^\s\}\'\"\{]+' 91t_code_ignore_whitespace = r'\s+' 92t_code_ignore = "" 93 94def t_code_error(t): 95 raise RuntimeError 96 97def t_error(t): |
98 print "%d: Illegal character '%s'" % (t.lineno, t.value[0]) | 98 print "%d: Illegal character '%s'" % (t.lexer.lineno, t.value[0]) |
99 print t.value 100 t.lexer.skip(1) 101 102lex.lex() 103 104if __name__ == '__main__': 105 lex.runmain() 106 | 99 print t.value 100 t.lexer.skip(1) 101 102lex.lex() 103 104if __name__ == '__main__': 105 lex.runmain() 106 |
107 108 109 |
|
107 | 110 |
111 |
|
108 | 112 |
109 110 111 112 | |