diff --git a/SMILEBASIC/node.d b/SMILEBASIC/node.d index e0864fa..30df341 100644 --- a/SMILEBASIC/node.d +++ b/SMILEBASIC/node.d @@ -34,6 +34,7 @@ enum NodeType DefineArray, ArrayAssign, DefineFunction, + While, } abstract class Node { @@ -408,3 +409,14 @@ class CallFunctionStatement : Statement outVariable ~= var; } } +class While : Statement +{ + Expression condExpression; + Statements statements; + this(Expression condExpression, Statements statements) + { + this.type = NodeType.While; + this.condExpression = condExpression; + this.statements = statements; + } +} diff --git a/SMILEBASIC/token.d b/SMILEBASIC/token.d index 4f0ec70..3901fe9 100644 --- a/SMILEBASIC/token.d +++ b/SMILEBASIC/token.d @@ -54,6 +54,8 @@ enum TokenType RBracket,//] Def, Out, + While, + Wend, } struct Token