Lines Matching refs:prod

289prod    = self.productions       # Local reference to production list (to avoid lookup on self.)
380 p = prod[-t]
604prod = self.productions # Local reference to production list (to avoid lookup on self.)
677 p = prod[-t]
876prod = self.productions # Local reference to production list (to avoid lookup on self.)
949 p = prod[-t]
1156 def __init__(self,number,name,prod,precedence=('right',0),func=None,file='',line=0): argument
1158 self.prod = tuple(prod)
1168 self.len = len(self.prod) # Length of the production
1172 for s in self.prod:
1181 if self.prod:
1182 self.str = "%s -> %s" % (self.name," ".join(self.prod))
1193 return len(self.prod)
1199 return self.prod[index]
1203 if n > len(self.prod): return None
1208 p.lr_after = self.Prodnames[p.prod[n+1]]
1212 p.lr_before = p.prod[n-1]
1274 self.prod = list(p.prod)
1278 self.prod.insert(n,".")
1279 self.prod = tuple(self.prod)
1280 self.len = len(self.prod)
1284 if self.prod:
1285 s = "%s -> %s" % (self.name," ".join(self.prod))
1500 for r in p.prod:
1507 mark_reachable_from( self.Productions[0].prod[0] )
1542 for s in p.prod:
1590 for s in p.prod:
1704 for f in self._first(p.prod):
1742 for i in range(len(p.prod)):
1743 B = p.prod[i]
1746 fst = self._first(p.prod[i+1:])
1754 if hasempty or i == (len(p.prod)-1):
1791 lri.lr_after = self.Prodnames[lri.prod[i+1]]
1795 lri.lr_before = lri.prod[i-1]
2103 for t in p.prod:
2127 t = (state,p.prod[p.lr_index+1])
2150 a = p.prod[p.lr_index+1]
2155 if state == 0 and N == self.grammar.Productions[0].prod[0]:
2175 a = p.prod[p.lr_index + 1]
2233 t = p.prod[lr_index]
2243 if p.prod[li] in self.grammar.Terminals: break # No forget it
2244 if not p.prod[li] in nullable: break
2260 if r.prod[i] != p.prod[i+1]: break
2459 a = p.prod[i+1] # Get symbol right after the "."
3150 for sym, prod in undefined_symbols:
3151 …rlog.error("%s:%d: Symbol '%s' used, but not defined as a token or a rule",prod.file,prod.line,sym)
3173 for prod in unused_rules:
3174 errorlog.warning("%s:%d: Rule '%s' defined, but not used", prod.file, prod.line, prod.name)