A simple scanner that can serve out tokens from a given list
| 1172 | |
| 1173 | |
| 1174 | class Scanner(object): |
| 1175 | """A simple scanner that can serve out tokens from a given list""" |
| 1176 | |
| 1177 | def __init__(self, tokens): |
| 1178 | self.tokens = tokens |
| 1179 | self.length = len(tokens) |
| 1180 | self.index = 0 |
| 1181 | |
| 1182 | def HasMore(self): |
| 1183 | return self.index < self.length |
| 1184 | |
| 1185 | def Current(self): |
| 1186 | return self.tokens[self.index] |
| 1187 | |
| 1188 | def Advance(self): |
| 1189 | self.index = self.index + 1 |
| 1190 | |
| 1191 | |
| 1192 | def ParseAtomicExpression(scan): |
no outgoing calls
searching dependent graphs…