TRD-0002 push latest
This commit is contained in:
@@ -194,6 +194,14 @@ namespace Axiom.Interpreter
|
|||||||
{
|
{
|
||||||
SyntaxError("Encountered 'break' without 'while'");
|
SyntaxError("Encountered 'break' without 'while'");
|
||||||
}
|
}
|
||||||
|
if(breakStack.Count>0)
|
||||||
|
{
|
||||||
|
long codePointer = breakStack.Peek();
|
||||||
|
if(codePointer.Equals(CodePointer()))
|
||||||
|
{
|
||||||
|
SyntaxError("Unexpected break encountered.");
|
||||||
|
}
|
||||||
|
}
|
||||||
breakStack.Push(CodePointer());
|
breakStack.Push(CodePointer());
|
||||||
Expect(Scanner.ScanSymbols.break1);
|
Expect(Scanner.ScanSymbols.break1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,17 +25,36 @@ namespace AxiomConsole
|
|||||||
String expression=@"
|
String expression=@"
|
||||||
A=1;
|
A=1;
|
||||||
B=1;
|
B=1;
|
||||||
|
C=1;
|
||||||
|
D=1;
|
||||||
WHILE(A<10)
|
WHILE(A<10)
|
||||||
{
|
{
|
||||||
WHILE(B<10)
|
WHILE(B<10)
|
||||||
{
|
{
|
||||||
IF(B==1)THEN BREAK;
|
WHILE(C<10)
|
||||||
B=B+1;
|
{
|
||||||
|
WHILE(D<10)
|
||||||
|
{
|
||||||
|
A=A+1;
|
||||||
|
B=B+1;
|
||||||
|
C=C+1;
|
||||||
|
D=D+1;
|
||||||
|
IF(D==10)THEN BREAK;
|
||||||
|
BREAK;
|
||||||
|
}
|
||||||
|
BREAK;
|
||||||
|
}
|
||||||
|
BREAK;
|
||||||
}
|
}
|
||||||
IF(A==1)THEN BREAK;
|
BREAK;
|
||||||
A=A+1;
|
}";
|
||||||
}";
|
CodeRunner codeRunner = new CodeRunner();
|
||||||
CodeRunner codeRunner=new CodeRunner();
|
//if (!codeRunner.Execute(expression))
|
||||||
|
//{
|
||||||
|
// Console.WriteLine("CodeRunner Failed with {0}", codeRunner.LastMessage);
|
||||||
|
// Console.Read();
|
||||||
|
//}
|
||||||
|
|
||||||
List<String> disassembly=codeRunner.Disassemble(expression);
|
List<String> disassembly=codeRunner.Disassemble(expression);
|
||||||
if(codeRunner.IsInError)
|
if(codeRunner.IsInError)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user