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); } } }
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); } } }