## adl-rtl-tools.api
#
# Some simple utilities on transforming RTLs
# Compiled by:
#
src/lib/compiler/back/low/tools/arch/make-sourcecode-for-backend-packages.libstipulate
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.pkgherein
# 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;