Пример #1
0
 //------------------------------------------------------------
 // コンストラクタ。
 public EvaluateNode(SequenceExpression aExpr)
 {
     mExpr      = aExpr;
     mFirstNode = mExpr.mFirstExpr.CreateEvaluateNode();
     if (mExpr.mNextExpr != null)
     {
         mNextNode = mExpr.mNextExpr.CreateEvaluateNode();
     }
 }
Пример #2
0
        //------------------------------------------------------------
        /// <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));
        }
Пример #3
0
 //------------------------------------------------------------
 // コンストラクタ。
 public IndexExpression(SequenceExpression aSequenceExpr)
 {
     mSequenceExpr = aSequenceExpr;
 }
Пример #4
0
 //------------------------------------------------------------
 // コンストラクタ。
 public FunctionCallExpression(Token aOpToken, SequenceExpression aSequenceExpr)
 {
     mOpToken      = aOpToken;
     mSequenceExpr = aSequenceExpr;
 }
Пример #5
0
 //------------------------------------------------------------
 // コンストラクタ。
 public SequenceExpression(IExpression aFirstExpr, SequenceExpression aNextExpr)
     : this(aFirstExpr)
 {
     mNextExpr = aNextExpr;
 }