Beispiel #1
0
        public string Visit(Bit_shift_ 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 = str + "\t\tshl\n";
            }
            else if (node.AnchorToken.lexeme == ">>")
            {
                str = str + "\t\tshl\n";
            }
            return(str);
        }
Beispiel #2
0
        public Node expr_bit_shift()
        {
            //Console.WriteLine("expr_bit_shift");
            Node expr_add_ = expr_add();

            if (CurrentToken == TokenCategory.SHIFTL || CurrentToken == TokenCategory.SHIFTR || CurrentToken == TokenCategory.SHIFTT)
            {
                //Console.WriteLine("while8");
                var bit_shift = new Bit_shift_();
                var r         = op_bit_shift();
                bit_shift.AnchorToken = r;
                bit_shift.Add(expr_add_);
                bit_shift.Add(expr_add());
                return(bit_shift);
            }
            return(expr_add_);
        }
Beispiel #3
0
 public void Visit(Bit_shift_ node, int modo)
 {
     VisitChildren(node, modo);
 }