//------------------------------------------------------------ // コンストラクタ。 public EvaluateNode(SequenceExpression aExpr) { mExpr = aExpr; mFirstNode = mExpr.mFirstExpr.CreateEvaluateNode(); if (mExpr.mNextExpr != null) { mNextNode = mExpr.mNextExpr.CreateEvaluateNode(); } }
//------------------------------------------------------------ /// <summary> /// IndexExpression: /// "[" SequenceExpression "]" /// </summary> /// <returns></returns> IndexExpression parseIndexExpression() { // "[" if (!expectToken(Token.Kind.OpLBracket, ErrorKind.INDEX_EXPRESSION_LBRACKET_EXPECTED)) { return(null); } // SequenceExpression SequenceExpression sequenceExpr = parseSequenceExpression(); if (sequenceExpr == null) { return(null); } // "]" if (!expectToken(Token.Kind.OpRBracket, ErrorKind.INDEX_EXPRESSION_RBRACKET_EXPECTED)) { return(null); } return(new IndexExpression(sequenceExpr)); }
//------------------------------------------------------------ // コンストラクタ。 public IndexExpression(SequenceExpression aSequenceExpr) { mSequenceExpr = aSequenceExpr; }
//------------------------------------------------------------ // コンストラクタ。 public FunctionCallExpression(Token aOpToken, SequenceExpression aSequenceExpr) { mOpToken = aOpToken; mSequenceExpr = aSequenceExpr; }
//------------------------------------------------------------ // コンストラクタ。 public SequenceExpression(IExpression aFirstExpr, SequenceExpression aNextExpr) : this(aFirstExpr) { mNextExpr = aNextExpr; }