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