Exemple #1
0
                        print x,
                    print "\n\n"
                    self.gram.add_production(start, tuple(partialseq))
            
            
    def readFromFile(self):
        f = open('../bnf2')
        for line in f:
            self.stream += line
            
grammar = Grammar()
sc = Importer(grammar)
for token in sc.parse():
    pass
sc.readProductions()
grammar.set_start_symbol('<program>')
rep = Repository("../sample.cpp")


terminals = []

for token in rep.tokenize():
    if token.code > 49 or token.code == 1:
        terminals.append(token.type)
    else:
        terminals.append(token.value)

finalResult = grammar.parse(terminals)
print "Status:" + finalResult[0]
if finalResult[0] != 'e':
    print "Productions list:\n"