TRD-0002 push latest

This commit is contained in:
2024-02-23 12:49:59 -05:00
parent 5d48b5d791
commit f0f34555e4
2 changed files with 33 additions and 6 deletions

View File

@@ -194,6 +194,14 @@ namespace Axiom.Interpreter
{
SyntaxError("Encountered 'break' without 'while'");
}
if(breakStack.Count>0)
{
long codePointer = breakStack.Peek();
if(codePointer.Equals(CodePointer()))
{
SyntaxError("Unexpected break encountered.");
}
}
breakStack.Push(CodePointer());
Expect(Scanner.ScanSymbols.break1);
}

View File

@@ -25,17 +25,36 @@ namespace AxiomConsole
String expression=@"
A=1;
B=1;
C=1;
D=1;
WHILE(A<10)
{
WHILE(B<10)
{
IF(B==1)THEN BREAK;
B=B+1;
}
IF(A==1)THEN BREAK;
WHILE(C<10)
{
WHILE(D<10)
{
A=A+1;
B=B+1;
C=C+1;
D=D+1;
IF(D==10)THEN BREAK;
BREAK;
}
BREAK;
}
BREAK;
}
BREAK;
}";
CodeRunner codeRunner = new CodeRunner();
//if (!codeRunner.Execute(expression))
//{
// Console.WriteLine("CodeRunner Failed with {0}", codeRunner.LastMessage);
// Console.Read();
//}
List<String> disassembly=codeRunner.Disassemble(expression);
if(codeRunner.IsInError)
{