// Factor : Primary {Primary} ; internal RegExTree Factor() { RegExTree tmp = Primary(); while (prStart[(int)chr] || esc) tmp = new Binary( RegOp.concat, tmp, Primary() ); return tmp; }
// Term : Factor {"|" Factor} ; internal RegExTree Term() { RegExTree tmp = Factor(); while (!esc && chr == '|') { scan(); tmp = new Binary( RegOp.alt, tmp, Factor() ); } return tmp; }