def parseMethodCode(self): if self.tokenizer.check(';'): self.expr = None else: self.tokenizer.require('{') self.expr = parseExpression(self.tokenizer) self.tokenizer.require('}') if self.selector.operator: name = None else: name = self.selector.messageName name = name + "_" + self.cls if self.isClass: name = name + "_class" self.block = Block(name = name,nameSet = False) self.name = self.block.getName() return True
from __future__ import with_statement from sys import argv from Compass.tokenizer import Tokenizer from Compass.Expression.expression import parseExpression if __name__ == '__main__': with open(argv[1]) as file: contents = '' for line in file: contents += line tokenizer = Tokenizer(contents) res = 'Expressions:' while res: print res res = parseExpression(tokenizer) t = tokenizer.nextToken() if t: print 'Error: tokens left over:',t.errForm()