public string Visit(NArrayList nArrayList)
        {
            string retVal = "\t\tldc.i8 0\n";

            retVal += "\t\tcall int64 class ['int64lib']'Int64'.'Utils'::'New'(int64)\n";
            foreach (Node literal in nArrayList.children)
            {
                retVal += "\t\tdup\n";
                retVal += Visit((dynamic)literal);
                retVal += "\t\tcall int64 class ['int64lib']'Int64'.'Utils'::'add'(int64, int64)\n";
                retVal += "\t\tpop\n";
            }
            return(retVal);
        }
Example #2
0
        // Returns NArrayList
        public Node ArrayList()
        {
            NArrayList nArrayList = new NArrayList();

            Expect(TokenCategory.CURLY_BRACE_LEFT);
            if (firstOfLit.Contains(CurrentToken))
            {
                nArrayList.Add(Lit());
                while (CurrentToken == TokenCategory.COMMA)
                {
                    Expect(TokenCategory.COMMA);
                    nArrayList.Add(Lit());
                }
            }
            Expect(TokenCategory.CURLY_BRACE_RIGHT);
            return(nArrayList);
        }
Example #3
0
//-----------------------------------------------------------
        public void Visit(NArrayList node)
        {
            Console.WriteLine($"+++++++++++++++ NArrayList ++++++++++++++++");
            //VisitBinaryOperator('*', node /*, Type.INT*/);
            VisitChildren(node);
        }
 public void Visit(NArrayList nArrayList)
 {
     GenericChildVisitor(nArrayList);
 }