def __init__(self, grammar): self.string = "" self.words = [] self.engine = GrammarEngine(grammar) self.RDP = RecursiveDescentParser(self.engine, False) self.nonterminals = self.engine.get_nonterminals(grammar) self.terminals = self.engine.get_terminals(grammar)
def component2(): grammar_engine = GrammarEngine("component2.txt") grammar = grammar_engine.grammar parser = RecursiveDescentParser(grammar, False) result = parser.parse("Joe said Buster ghosted Schiller", "S") ##keys = grammar.keys() # for symbol in grammar: # rules[symbol] = grammar[symbol].body # print(rules) # print(grammar.variables) print(result)
def __init__(self, grammar, verbose=False): self.parser = RecursiveDescentParser(grammar=grammar, verbose=verbose) self.grammar = grammar self.partial_parses = list()