Esempio n. 1
0
        public string Visit(Program_ node)
        {
            Console.WriteLine("aqui1");
            apifuncs.Add("Printc");
            apifuncs.Add("Printi");
            apifuncs.Add("Prints");
            apifuncs.Add("Println");
            apifuncs.Add("Peadi");
            apifuncs.Add("Reads");
            apifuncs.Add("New");
            apifuncs.Add("Size");
            apifuncs.Add("Add");
            apifuncs.Add("Get");
            apifuncs.Add("Set");
            var str = "";

            str = str + Visit((dynamic)node[0], 0);
            return("// Code generated by the buttercup compiler.\n\n"
                   + ".assembly 'Int64' {}\n\n"
                   + ".assembly extern 'int64lib' {}\n\n"
                   + ".class public 'program' extends "
                   + "['mscorlib']'System'.'Object' {\n"
                   //+ "\t.method public static void 'start'() {\n"
                   //+ "\t\t.entrypoint\n"
                   //  + Visit((dynamic) node[0],0)
                   + str
                   + "}\n"
                   //    + Visit((dynamic) node[1])
                   );
        }
Esempio n. 2
0
// export  variable=blabla
// aqui empieza lo nuestro **********************************************************
        public Node Program()
        {  // //Console.WriteLine("Program");
            var program_ = new Program_();

            if (CurrentToken != TokenCategory.EOF)
            {
                program_.Add(def_list());
            }
            Expect(TokenCategory.EOF);
            //Console.WriteLine("aqui4");
            return(program_);
        }
Esempio n. 3
0
 //-----------------------------------------------------------
 public void Visit(Program_ node)
 {
     Visit((dynamic)node[0], 1);
     foreach (var entry in this.funcs)
     {
         ////Console.WriteLine(entry);
     }
     if (!funcs.Contains("main"))
     {
         throw new SemanticError("no main function found", new Token("Program", TokenCategory.BREAK, 0, 0));
     }
     ////Console.WriteLine(String.Join(", ",global_vars.ToArray()));
     //printVars();
     Visit((dynamic)node[0], 3);
     printVars();
 }