diff --git a/SMILEBASIC/node.d b/SMILEBASIC/node.d index 8fb808d..d825a8c 100644 --- a/SMILEBASIC/node.d +++ b/SMILEBASIC/node.d @@ -39,6 +39,7 @@ enum NodeType Data, Read, Restore, + On, } abstract class Node { @@ -448,3 +449,17 @@ class Data : Statement data ~= v; } } +class On : Statement +{ + bool isGosub; + wstring[] labels; + this(bool isgosub) + { + this.isGosub = isgosub; + this.labels = new wstring[0]; + } + void addLabel(wstring label) + { + this.labels ~= label; + } +} diff --git a/SMILEBASIC/token.d b/SMILEBASIC/token.d index 93a2d27..c84a2bf 100644 --- a/SMILEBASIC/token.d +++ b/SMILEBASIC/token.d @@ -61,6 +61,7 @@ enum TokenType Data, Read, Restore, + On, } struct Token