--   ABSTRACT MACHINE
--   ----------------
--
--        The abstract machine representation is used to communicate between
--   the middle and back end of the compiler.  It is the form in which
--   optimization occurs and which the C generator accepts as input.


am.sa              -has am.sa $AM AM AM_OB_DEF AM_ROUT_DEF

calls.sa           -has calls.sa $AM_CALL_EXPR AM_CALL_EXPR AM_CALL_ARG AM_FORMAL_ARG AM_ROUT_CALL_EXPR AM_ROUT_CALL_EXPR AM_ITER_CALL_EXPR AM_BND_ROUT_CALL_EXPR AM_BND_ITER_CALL_EXPR AM_EXT_CALL_EXPR

const.sa           -has const.sa $AM_CONST AM_CONST AM_VOID_CONST AM_BIT_CONST AM_ARR_CONST AM_BOOL_CONST AM_CHAR_CONST AM_STR_CONST AM_CARD_CONST AM_FIELD_CONST AM_INT_CONST AM_INTI_CONST AM_FLT_CONST AM_FLTD_CONST AM_FLTI_CONST AM_FLTC_CONST AM_FLTDX_CONST

expr.sa            -has expr.sa $AM_EXPR AM_EXPR AM_LOCAL_EXPR AM_ARRAY_EXPR AM_BND_CREATE_EXPR AM_IF_EXPR AM_NEW_EXPR AM_IS_VOID_EXPR AM_SHARED_EXPR AM_ATTR_EXPR AM_VATTR_ASSIGN_EXPR AM_VARR_ASSIGN_EXPR AM_EXCEPT_EXPR AM_STMT_EXPR AM_GLOBAL_EXPR AM_HERE_EXPR AM_ANY_EXPR AM_CLUSTER_EXPR AM_CLUSTER_SIZE_EXPR AM_WHERE_EXPR AM_NEAR_EXPR AM_FAR_EXPR AM_AT_EXPR

stmt.sa            -has stmt.sa $AM_STMT AM_STMT AM_ASSIGN_STMT AM_COMMENT_STMT AM_IF_STMT AM_LOOP_STMT AM_BREAK_STMT AM_RETURN_STMT AM_YIELD_STMT AM_CASE_STMT AM_TYPECASE_STMT AM_PRE_STMT AM_POST_STMT AM_INITIAL_STMT AM_INVARIANT_STMT AM_ASSERT_STMT AM_PROTECT_STMT AM_RAISE_STMT AM_EXPR_STMT AM_SYNC_STMT AM_FORK_STMT AM_PAR_STMT AM_ATTACH_STMT AM_LOCK_STMT AM_UNLOCK_STMT AM_WITH_NEAR_STMT AM_PREFETCH_STMT AM_WAITFOR_STMT 

--        The following file contains the class AM_OUT which is solely
--   required for debugging the compiler.

am_out.sa          -has am_out.sa AM_OUT
