Beispiel #1
0
 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);
         }
     }
 }