Esempio n. 1
0
        public Node expr_mul()
        {
            //Console.WriteLine("expr_mul");
            Node expr_pow_ = expr_pow();

            if (CurrentToken == TokenCategory.TIMES || CurrentToken == TokenCategory.DIV || CurrentToken == TokenCategory.REM)
            {
                //Console.WriteLine("while10");
                var mul = new Mul_();
                var r   = op_mul();
                mul.AnchorToken = r;
                mul.Add(expr_pow_);
                mul.Add(expr_pow());
                return(mul);
            }
            return(expr_pow_);
        }
Esempio n. 2
0
        public string Visit(Mul_ node, int modo)
        {
            var str = "";

            str = str + Visit((dynamic)node[0], 4) + "\n";
            str = str + Visit((dynamic)node[1], 4) + "\n";
            if (node.AnchorToken.lexeme == "/")
            {
                str = "\t\tdiv\n";
            }
            else if (node.AnchorToken.lexeme == "*")
            {
                str = str + "\t\tmul\n";
            }
            else if (node.AnchorToken.lexeme == "%")
            {
                str = str + "\t\trem\n";
            }
            return(str);
        }
Esempio n. 3
0
 public void Visit(Mul_ node, int modo)
 {
     VisitChildren(node, modo);
 }