Esempio n. 1
0
    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
Esempio n. 2
0
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()