IfExp

If Expression, a expr ASR node.

声明

语法

IfExp(expr test, expr body, expr orelse, ttype type, expr? value)

参数

Argument Name

Argument Description

test

expression to be tested

body

0 or more statements or constructs to be executed inside if

orelse

construct to be executed if if fails

type

table entry type

value

表达

返回值

The return value is the expression that the IfExp represents.

描述

IfExp represents If expression type. More information on if can be found in if.

类型

Not applicable.

示例

Following example code creates LFortran expression from ASR’s IntegerBinOp:

program if
if(1) error stop
end

ASR:

(TranslationUnit
    (SymbolTable
        1
        {
            if:
                (Program
                    (SymbolTable
                        2
                        {

                        })
                    if
                    []
                    [(If
                        (IntegerConstant 1 (Integer 4 []))
                        [(ErrorStop
                            ()
                        )]
                        []
                    )]
                )

        })
    []
)

也可以看看