PreviousUpNext

15.3.169  src/lib/compiler/back/low/tools/arch/adl-rtl-tools.api

## adl-rtl-tools.api
#
# Some simple utilities on transforming RTLs

# Compiled by:
#     src/lib/compiler/back/low/tools/arch/make-sourcecode-for-backend-packages.lib

stipulate
    package raw =  adl_raw_syntax_form;                                                 # adl_raw_syntax_form           is from   src/lib/compiler/back/low/tools/adl-syntax/adl-raw-syntax-form.pkg
    package tcp =  treecode_pith;                                                       # treecode_pith                 is from   src/lib/compiler/back/low/treecode/treecode-pith.pkg
herein

    # This api is implemented in:
    #     src/lib/compiler/back/low/tools/arch/adl-rtl-tools-g.pkg
    #
    api Adl_Rtl_Tools {
        #
        package rtl:    Treecode_Rtl;                                                   # src/lib/compiler/back/low/treecode/treecode-rtl.api
        #
        simplify:           rtl::Rtl -> rtl::Rtl;                                       # Simplify an RTL.
        rtl_to_expression:  rtl::Rtl -> raw::Expression;                                # Translate an rtl into an expression.
        rtl_to_pattern:     rtl::Rtl -> raw::Pattern;                                   # Translate an rtl into a pattern.

        rtl_to_fun:  (raw::Id, List(raw::Id), rtl::Rtl) -> raw::Declaration;            # Translate an rtl into an rtl construction function.

        create_new_op:  tcp::Misc_Op -> raw::Declaration;                               # Create code to generate a new operator.
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext