Exemplo n.º 1
0
        void term(out Compiler.IfExpression e)
        {
            string op; IfExpression e2; e = null;

            factor(out e);
            while (la.kind == 8 || la.kind == 9)
            {
                multiply(out op);
                factor(out e2);
                e = new BinaryExpression(e, op, e2);
            }
        }
Exemplo n.º 2
0
 void factor(out Compiler.IfExpression e)
 {
     Compiler.IfValue val; e = null;
     if (StartOf(6))
     {
         value(out val);
         e = new ExpressionLeaf(val);
     }
     else if (la.kind == 40)
     {
         Get();
         expression(out e);
         Expect(41);
     }
     else
     {
         SynErr(60);
     }
 }
Exemplo n.º 3
0
 void expression(out Compiler.IfExpression e)
 {
     e = null; string op; IfExpression e2;
     if (la.kind == 6)
     {
         Get();
         term(out e2);
         e = new UnaryExpression("-", e2);
     }
     else if (StartOf(5))
     {
         term(out e);
     }
     else
     {
         SynErr(58);
     }
     while (la.kind == 6 || la.kind == 7)
     {
         addition(out op);
         term(out e2);
         e = new BinaryExpression(e, op, e2);
     }
 }