Lines Matching refs:grammar
1942 def __init__(self,grammar,method='LALR',log=None): argument
1946 self.grammar = grammar
1957 self.lr_productions = grammar.Productions # Copy of grammar Production array
1972 self.grammar.build_lritems()
1973 self.grammar.compute_first()
1974 self.grammar.compute_follow()
2040 C = [ self.lr0_closure([self.grammar.Productions[0].lr_next]) ]
2099 for p in self.grammar.Productions[1:]:
2128 if t[1] in self.grammar.Nonterminals:
2151 if a in self.grammar.Terminals:
2155 if state == 0 and N == self.grammar.Productions[0].prod[0]:
2243 if p.prod[li] in self.grammar.Terminals: break # No forget it
2365 Productions = self.grammar.Productions
2366 Precedence = self.grammar.Precedence
2409 laheads = self.grammar.Follow[p.name]
2460 if a in self.grammar.Terminals:
2526 if s in self.grammar.Nonterminals:
2725 grammar = []
2749 grammar.append((file,dline,prodname,syms))
2755 return grammar
2771 self.grammar = []
2981 grammar = []
3006 grammar.append((name, g))
3034 self.grammar = grammar
3114 grammar = Grammar(pinfo.tokens)
3119 grammar.set_precedence(term,assoc,level)
3125 for funcname, gram in pinfo.grammar:
3128 grammar.add_production(prodname,syms,funcname,file,line)
3137 grammar.set_start(pinfo.start)
3139 grammar.set_start(start)
3149 undefined_symbols = grammar.undefined_symbols()
3154 unused_terminals = grammar.unused_terminals()
3168 for n,p in enumerate(grammar.Productions):
3172 unused_rules = grammar.unused_rules()
3190 terms = list(grammar.Terminals)
3193 debuglog.info("%-20s : %s", term, " ".join([str(s) for s in grammar.Terminals[term]]))
3198 nonterms = list(grammar.Nonterminals)
3201 … debuglog.info("%-20s : %s", nonterm, " ".join([str(s) for s in grammar.Nonterminals[nonterm]]))
3205 unreachable = grammar.find_unreachable()
3209 infinite = grammar.infinite_cycles()
3214 unused_prec = grammar.unused_precedence()
3226 lr = LRGeneratedTable(grammar,method,debuglog)