using System; using System.Collections.Generic; using Axiom.Interpreter; namespace AxiomConsole { class Program { static void Main(string[] args) { //String expression=@" // A=1; // B=1; // WHILE(A<10) // { // WHILE(B<10) // { // IF(B==1)THEN BREAK; // B=B+1; // } // IF(A==1)THEN BREAK; // A=A+1; // }"; //String expression = @" // J=1; // FOR(I=1;I<10;I=I+1) // { // J=J+10; // break; // } // "; //String expression = @" // J=1; // FOR(I=1;I<10;I=I+1) // { // J=J+10; // } // "; String expression = @" DECLARE A,J,TOTAL; A=1; J=1; TOTAL=0; FOR(A=1;A<=10;A=A+1) { FOR(J=1;J<=10;J=J+1) { BREAK; TOTAL=TOTAL+1 } } "; CodeRunner codeRunner = new CodeRunner(); codeRunner.Trace=true; //if (!codeRunner.Execute(expression)) //{ // Console.WriteLine("CodeRunner Failed with {0}", codeRunner.LastMessage); // Console.Read(); //} List disassembly = codeRunner.Disassemble(expression); if (codeRunner.IsInError) { Console.WriteLine("CodeRunner Failed with {0}", codeRunner.LastMessage); } else { Console.WriteLine(expression); foreach (String line in disassembly) { Console.WriteLine(line); } } Console.Read(); } } }