//------------------------------------------------------------ /// <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 SequenceExpression(IExpression aTermExpr, SequenceExpression aNextExpr) : this(aTermExpr) { mNextExpr = aNextExpr; }
//------------------------------------------------------------ // コンストラクタ。 public FunctionCallExpression(SequenceExpression aSequenceExpr) { mSequenceExpr = aSequenceExpr; }