public static int Check(CSymbol s, Production p, int d) { if (s.m_prec==null) return 0; int a = CheckType(s.m_prec, PrecType.after,d+1); int b = CheckType(s.m_prec, PrecType.left,d+1); if (a>b) return a - p.m_prec; else return b - p.m_prec; }
public static int Check(Precedence p, Precedence.PrecType t, int d) { if (p == null) { return(0); } if (p.m_type == t) { return(p.m_prec); } return(Precedence.Check(p.m_next, t, d + 1)); }