Node ParseTerm(StringTokenizer t) { Node fact = ParseFactor(t); while (t.CurrentToken == TokenType.Mult || t.CurrentToken == TokenType.Div) { fact = new BinaryNode(t.GetCurrentTypeAndForward(), fact, ParseFactor(t)); } return(fact); }
Node ParseExpression(StringTokenizer t) { var expr = ParseTerm(t); while (t.CurrentToken == TokenType.Plus || t.CurrentToken == TokenType.Minus) { expr = new BinaryNode(t.GetCurrentTypeAndForward(), expr, ParseTerm(t)); } return(expr); }