コード例 #1
0
        public override ASTNode VisitExpressionStatement([NotNull] ExpressionStatementContext ctx)
        {
            if (ctx.expression() is null)
            {
                return(new EmptyStatNode(ctx.Start.Line));
            }

            ExprNode expr = this.Visit(ctx.expression()).As <ExprNode>();

            return(new ExprStatNode(ctx.Start.Line, expr));
        }
コード例 #2
0
ファイル: Expression.cs プロジェクト: hwdef/feel-csharp
        public override object VisitExpressionStatement(ExpressionStatementContext context)
        {
            var r = (Result)(Visit(context.expression()));

            return(r.text + Terminate + Wrap);
        }
コード例 #3
0
        public override Expression VisitExpressionStatement(ExpressionStatementContext context)
        {
            var expression = VisitExpression(context.expression());

            return(expression);
        }
コード例 #4
0
ファイル: RParser.cs プロジェクト: mpmedia/Excess
	public Expr_or_assignContext expr_or_assign() {
		Expr_or_assignContext _localctx = new Expr_or_assignContext(Context, State);
		EnterRule(_localctx, 2, RULE_expr_or_assign);
		int _la;
		try {
			State = 32;
			switch ( Interpreter.AdaptivePredict(TokenStream,2,Context) ) {
			case 1:
				_localctx = new AssignmentContext(_localctx);
				EnterOuterAlt(_localctx, 1);
				{
				State = 27; expr(0);
				State = 28;
				_la = TokenStream.La(1);
				if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__2) | (1L << T__3))) != 0)) ) {
				ErrorHandler.RecoverInline(this);
				}
				else {
				    Consume();
				}
				State = 29; expr_or_assign();
				}
				break;
			case 2:
				_localctx = new ExpressionStatementContext(_localctx);
				EnterOuterAlt(_localctx, 2);
				{
				State = 31; expr(0);
				}
				break;
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}