def test_codeGen_17(self): tokelist = Lexer('!P, P').tokenize() parse_tree = Parser().parse(tokelist) generator = CodeGen(tokelist, parse_tree) generator.generate() output = generator.runCode() self.assertEqual(output, 'False')
def test_codeGen_11(self): tokelist = Lexer('B\/(C),A/\!B').tokenize() parse_tree = Parser().parse(tokelist) generator = CodeGen(tokelist, parse_tree) generator.generate() output = generator.runCode() self.assertEqual(output, 'True')
def test_codeGen_8(self): tokelist = Lexer('A/\((B/\(C\/D))),A\/C').tokenize() parse_tree = Parser().parse(tokelist) generator = CodeGen(tokelist, parse_tree) generator.generate() output = generator.runCode() self.assertEqual(output, 'True')
def test_codeGen_5(self): tokelist = Lexer('( P \/ Q ) , ( X => Y )').tokenize() parse_tree = Parser().parse(tokelist) generator = CodeGen(tokelist, parse_tree) generator.generate() output = generator.runCode() self.assertEqual(output, 'True')
def test_codeGen_10(self): tokelist = Lexer('(A/\B)\/C').tokenize() parse_tree = Parser().parse(tokelist) generator = CodeGen(tokelist, parse_tree) generator.generate() output = generator.runCode() # checks to see if the output has the same # error message as the parse tree self.assertEqual(output, parse_tree)
def generateCode(self): # special case: for now, it should be passing parsed WuClass objects CodeGen.generate(self, open(COMPONENTXML_PATH).read(), ROOT_PATH)
def generateCode(self): # special case: for now, it should be passing parsed WuClass objects CodeGen.generate(self, open(COMPONENTXML_PATH).read(), ROOT_PATH)
if __name__ == '__main__' and len(sys.argv) == 1: unittest.main() #else take the input file and run it through lexer and parser else: with open(sys.argv[1], 'r') as file: for index, line in enumerate(file): #Lexer l = Lexer(line) l.line = index + 1 tokelist = l.tokenize() l.line += 1 #Parser parse_tree = Parser().parse(tokelist) #Code Generator g = CodeGen(tokelist, parse_tree) generated = g.generate() if len(sys.argv) == 3 and str(sys.argv[2]) == '--more': print 'Input : \n' + line print 'Token List : \n' + str(tokelist.kind) + '\n' print 'Parser Output : \n' + str(parse_tree) + '\n' print generated + '\n' output = g.runCode() print output print "\n----------\n"