(TranslationUnit
    (SymbolTable
        1
        {
            allocate_05:
                (Program
                    (SymbolTable
                        2
                        {
                            num:
                                (Variable
                                    2
                                    num
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString)
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                    []
                                ),
                            string:
                                (Variable
                                    2
                                    string
                                    []
                                    Local
                                    ()
                                    ()
                                    Default
                                    (Allocatable
                                        (String 1 () DeferredLength DescriptorString)
                                    )
                                    ()
                                    Source
                                    Public
                                    Required
                                    .false.
                                    .false.
                                    .false.
                                    ()
                                    .false.
                                    .false.
                                    NotMethod
                                    ()
                                    []
                                )
                        })
                    allocate_05
                    []
                    [(Allocate
                        [((Var 2 string)
                        []
                        (IntegerConstant 3 (Integer 4) Decimal)
                        ()
                        (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString))]
                        ()
                        ()
                        ()
                    )
                    (Assignment
                        (Var 2 num)
                        (StringConstant
                            "abc"
                            (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString)
                        )
                        ()
                        .false.
                        .false.
                    )
                    (Assignment
                        (Var 2 string)
                        (Var 2 num)
                        ()
                        .false.
                        .false.
                    )
                    (If
                        ()
                        (StringCompare
                            (Var 2 string)
                            NotEq
                            (StringConstant
                                "abc"
                                (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString)
                            )
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )
                    (Assignment
                        (StringSection
                            (Var 2 string)
                            (IntegerConstant 1 (Integer 4) Decimal)
                            (StringLen
                                (Var 2 string)
                                (Integer 4)
                                ()
                            )
                            (IntegerConstant 1 (Integer 4) Decimal)
                            (String 1 (IntegerBinOp
                                (IntegerBinOp
                                    (StringLen
                                        (Var 2 string)
                                        (Integer 4)
                                        ()
                                    )
                                    Sub
                                    (IntegerConstant 1 (Integer 4) Decimal)
                                    (Integer 4)
                                    ()
                                )
                                Add
                                (IntegerConstant 1 (Integer 4) Decimal)
                                (Integer 4)
                                ()
                            ) ExpressionLength DescriptorString)
                            ()
                        )
                        (Var 2 num)
                        ()
                        .false.
                        .false.
                    )
                    (If
                        ()
                        (StringCompare
                            (Var 2 string)
                            NotEq
                            (StringConstant
                                "abc"
                                (String 1 (IntegerConstant 3 (Integer 4) Decimal) ExpressionLength DescriptorString)
                            )
                            (Logical 4)
                            ()
                        )
                        [(ErrorStop
                            ()
                        )]
                        []
                    )]
                )
        })
    []
)
