1. CHARJ_SOURCE
    1. TYPE
      1. mainchare
      2. Main(Main{Main=entry Main.Main(Main.msg)}) [type=Main{Main=entry Main.Main(Main.msg)}] [def=Main{Main=entry Main.Main(Main.msg)}]
      3. ENTRY_CONSTRUCTOR_DECL
        1. MODIFIER_LIST
          1. ACCESS_MODIFIER_LIST
            1. public
          2. LOCAL_MODIFIER_LIST
          3. CHARJ_MODIFIER_LIST
            1. entry
          4. OTHER_MODIFIER_LIST
        2. Main(Main{Main=entry Main.Main(Main.msg)}) [type=Main{Main=entry Main.Main(Main.msg)}] [def=entry Main.Main(Main.msg)]
        3. FORMAL_PARAM_LIST
          1. FORMAL_PARAM_STD_DECL
            1. POINTER_TYPE
              1. QUALIFIED_TYPE_IDENT
                1. CkArgMsg
            2. msg(Symbol(CkArgMsg, )) [type=Symbol(CkArgMsg, )] [def=Main.msg]
        4. BLOCK
          1. EXPR
            1. METHOD_CALL
              1. CHELPER
              2. ARGUMENT_LIST
          2. PRIMITIVE_VAR_DECLARATION
            1. SIMPLE_TYPE
              1. int
            2. VAR_DECLARATOR_LIST
              1. VAR_DECLARATOR
                1. ydim(int) [type=int] [def=Main.ydim]
                2. EXPR
                  1. 10
          3. OBJECT_VAR_DECLARATION
            1. POINTER_TYPE
              1. QUALIFIED_TYPE_IDENT
                1. Array
                  1. TEMPLATE_INST
                    1. SIMPLE_TYPE
                      1. double
                    2. 2
            2. VAR_DECLARATOR_LIST
              1. VAR_DECLARATOR
                1. A(Symbol(Array, )) [type=Symbol(Array, )] [def=Main.A]
                2. EXPR
                  1. new
                    1. OBJECT_TYPE
                      1. QUALIFIED_TYPE_IDENT
                        1. Array
                          1. TEMPLATE_INST
                            1. SIMPLE_TYPE
                              1. double
                            2. 2
                    2. ARGUMENT_LIST
                      1. EXPR
                        1. DOMAIN_EXPRESSION
                          1. RANGE_EXPRESSION
                            1. 10
                          2. RANGE_EXPRESSION
                            1. ydim
          4. OBJECT_VAR_DECLARATION
            1. POINTER_TYPE
              1. QUALIFIED_TYPE_IDENT
                1. Array
                  1. TEMPLATE_INST
                    1. SIMPLE_TYPE
                      1. double
            2. VAR_DECLARATOR_LIST
              1. VAR_DECLARATOR
                1. strip(Symbol(Array, )) [type=Symbol(Array, )] [def=Main.strip]
                2. EXPR
                  1. new
                    1. OBJECT_TYPE
                      1. QUALIFIED_TYPE_IDENT
                        1. Array
                          1. TEMPLATE_INST
                            1. SIMPLE_TYPE
                              1. double
                    2. ARGUMENT_LIST
                      1. EXPR
                        1. ARRAY_ELEMENT_ACCESS
                          1. A
                          2. DOMAIN_EXPRESSION
                            1. RANGE_EXPRESSION
                              1. 1
                            2. RANGE_EXPRESSION
                              1. 0
                              2. ydim