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]) ); }
// 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_); }
//----------------------------------------------------------- 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(); }