static void Main(string[] args) { string code = @" struct Persona { string name; } struct fecha { int a; string b; Persona per; int c; } fecha fch; "; SampleParser parser = new SampleParser(new Lexer.Lexer(new StringContent(code))); try { var tree = parser.Parse(); tree.ValidateSemantic(); var maincode = tree.TreeGenerateCode(); var javaCode = GenerateMain.InitJavaCode(maincode); Console.Write(javaCode); Console.WriteLine("No errors found."); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } Console.ReadKey(); }
static void Main(string[] args) { GenerateMain generatePascal = new GenerateMain(); HandlerFiles handlFile = new HandlerFiles(); string pascalCode = handlFile.getCode(); string firstCode = " "; //Declaraciones Syntactic parser = new Syntactic(new Lexer.Lexer(new StringContent(pascalCode.ToLower()))); try { var treeNodes = parser.Parse(); var javaCode = string.Empty; foreach (var sentencesNode in treeNodes) { sentencesNode.ValidateSemantic(); if (sentencesNode is ProcedureNode || sentencesNode is FunctionNode || sentencesNode is RecordNode || sentencesNode is EnumerateNode) { firstCode += sentencesNode.GenerateCode(); } else { javaCode += sentencesNode.GenerateCode(); } } Console.WriteLine(generatePascal.ReturnCode(javaCode, firstCode)); handlFile.writeCode(generatePascal.ReturnCode(javaCode, firstCode)); Console.WriteLine("errors no founds"); Console.ReadKey(); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Console.ReadKey(); } System.Diagnostics.Process.Start("C:\\Users\\Sequeiros\\Documents\\Compi\\pascal.bat"); }