-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathToken.py
More file actions
26 lines (22 loc) · 707 Bytes
/
Copy pathToken.py
File metadata and controls
26 lines (22 loc) · 707 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#{'type':'string','chars':[],'line':lineno, 'col':colno}
class Token:
def __init__(self,type=None,line=None,col=None,chars=None):
self.type = type
self.line = line
self.col = col # column
self.chars = chars if chars is not None else []
def __repr__(self):
st = ''.join(self.chars)
return self.type.upper() + '{' + st + '}'
class TokenList:
def __init__(self):
self.tokens = []
def append(self, token):
assert type(token) is Token
self.tokens.append(token)
def __repr__(self):
st = ''
for t in self.tokens:
st += t.__repr__()
st += '\n'
return st