Files
Axiom/AxiomConsole/Program.cs
2026-03-19 16:23:20 -04:00

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