public override void Interpret(Context context) { // 循环处理Context中的标记 while (true) { // 如果已经没有任何标记,则退出解释 if (context.GetCurrentToken() == null) { break; } // 如果标记为END,则不解释END并结束本次解释过程,可以继续之后的解释 else if (context.GetCurrentToken().Equals("END", StringComparison.OrdinalIgnoreCase)) { context.SkipToken("END"); break; } // 如果为其它标记,则解释标记并加入命令集合 else { Node node = new CommandNode(); node.Interpret(context); nodeList.Add(node); } } }