class testTraverse(unittest.TestCase): def setUp(self): self.m = BGDLexer() def test_tic_tac_toe(self): self.m.input(BGDTests.tic_tac_toe) self.parser = yacc.yacc(debug = False) root = self.parser.parse(tokenfunc = self.m.token) print Traverse(root).getJava() + '\n******************************************************\n' def test_test_code(self): self.m.input(BGDTests.test_code) self.parser = yacc.yacc(debug = False) root = self.parser.parse(tokenfunc = self.m.token) print Traverse(root).getJava() + '\n******************************************************\n' def test_init_example(self): self.m.input(BGDTests.init_example) self.parser = yacc.yacc(debug = False) root = self.parser.parse(tokenfunc = self.m.token) print Traverse(root).getJava() + '\n******************************************************\n' '''def test_multication(self): self.m.input(BGDTests.multication) self.parser = yacc.yacc(debug = False) root = self.parser.parse(tokenfunc = self.m.token) self.out_str += Traverse(root).getJava() + '\n******************************************************\n' ''' def test_multipiece(self): self.m.input(BGDTests.multipiece) self.parser = yacc.yacc(debug = False) root = self.parser.parse(tokenfunc = self.m.token) print Traverse(root).getJava() + '\n******************************************************\n'
s = s + '('+transform(type)+')' + vars[i] + ', ' else: s = s + vars[i] + ', ' s = s[0:-2] s += ')' return s #return s + '(' + node.children[1].string + ')' def getJava(self): self.traverse(self.root) return self.root.string if __name__ == "__main__": m = BGDLexer() inputFile = open(sys.argv[1]) #inputFile = open('tic-tac-toe.bgd') inputData = inputFile.read() #print inputData m.input(inputData) parser = yacc.yacc() result = parser.parse(tokenfunc = m.token) code = Traverse(result).getJava() #print code outputFile = open('GameDesigner.java','w') outputFile.write(code) inputFile.close() outputFile.close()