Ejemplo n.º 1
0
 public void Parse(Context context)
 {
     string currentTokenValue = context.CurrentToken().Value.ToLower();
     context.SkipToken(context.CurrentToken().Value);
     while (true)
     {
         if (context.CurrentToken().Kind == TokenKind.EOF || context.CurrentToken().Kind == TokenKind.EOL)
         {
             break;
         }
         else if (currentTokenValue == "bt" || currentTokenValue == "adress" || currentTokenValue == "status")
         {
             mLiteral = new Literal();
             mLiteral.Parse(context);
             mTerms.Add(mLiteral);
             //break;
         }
         else if(currentTokenValue!=";")
         {
             mObjective = new Objective();
             mObjective.Parse(context);
             mTerms.Add(mObjective);
         }
     }
 }
Ejemplo n.º 2
0
 public void Parse(Context context)
 {
     while (true)
     {
         if (context.CurrentToken().Kind == TokenKind.EOF || context.CurrentToken().Kind == TokenKind.EOL)
         {
             break;
         }
         else if (Action.IsAction(context))
         {
             if (mProvidedAction == null)
             {
                 mAction = new Action();
             }
             else
             {
                 mAction = mProvidedAction;
             }
             mAction.Parse(context);
             mList.Add(mAction);
             //break;
         }
         else if(context.CurrentToken().Value==";")
         {
             context.SkipToken(";");
         }
         else
         {
             mExpression = new Expression();
             mExpression.Parse(context);
             mList.Add(mExpression);
         }
     }
 }