1583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata# lex_dup3.py
2583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata#
3583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata# Duplicated rule specifiers
4583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
5583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granataimport sys
6583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granataif ".." not in sys.path: sys.path.insert(0,"..")
7583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
8583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granataimport ply.lex as lex
9583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
10583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatatokens = [
11583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    "PLUS",
12583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    "MINUS",
13583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    "NUMBER",
14583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    ]
15583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
16583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatat_PLUS = r'\+'
17583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatat_MINUS = r'-'
18583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatat_NUMBER = r'\d+'
19583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
20583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatadef t_NUMBER(t):
21583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    r'\d+'
22583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    pass
23583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
24583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatadef t_error(t):
25583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata    pass
26583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
27583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
28583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
29583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granatalex.lex()
30583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
31583d33c593896afeb8486a25fabfcf6e9dc9ca75Enrico Granata
32