85 lines
1.6 KiB
C#
85 lines
1.6 KiB
C#
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<String> 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();
|
|
}
|
|
}
|
|
}
|
|
|