## adl-rtl.pkg "rtl" == "Register Transfer Language" -- an intermediate code representation.
#
# RTL definitions
# Compiled by:
#
src/lib/compiler/back/low/tools/arch/make-sourcecode-for-backend-packages.libpackage adl_constant
: Late_Constant # Late_Constant is from
src/lib/compiler/back/low/code/late-constant.api{
#
Late_Constant = Void;
#
fun late_constant_to_string _ = "";
fun late_constant_to_int _ = 0;
fun late_constant_to_hashcode _ = 0u0;
fun same_late_constant _ = FALSE;
};
package adl_ramregion
: Ramregion # Ramregion is from
src/lib/compiler/back/low/code/ramregion.api{
#
Ramregion = Void;
#
stack = ();
readonly = ();
memory = ();
#
fun ramregion_to_string _ = "";
};
package adl_extension
: Treecode_Extension # Treecode_Extension is from
src/lib/compiler/back/low/treecode/treecode-extension.api{
#
Sx ( S,R,F,C ) = Void;
Rx ( S,R,F,C ) = Void;
Fx ( S,R,F,C ) = Void;
Ccx( S,R,F,C ) = Void;
};
package adl_treecode
=
treecode_form_g ( # treecode_form_g is from
src/lib/compiler/back/low/treecode/treecode-form-g.pkg #
package lac = adl_constant;
package rgn = adl_ramregion;
package trx = adl_extension;
);
stipulate
package adl_client_pseudo_ops {
#
package bpo { # "bpo" == "base_pseudo_ops".
#
package tcf = adl_treecode; # "tcf" == "treecode_form".
stipulate
package pb = pseudo_op_basis_type;
herein
#
Pseudo_Op(X) = pb::Pseudo_Op( tcf::Label_Expression, X );
end;
#
fun pseudo_op_to_string _ = "";
fun label_expression_to_string _ = "";
fun define_private_label _ = "";
fun put_pseudo_op _ = ();
fun current_pseudo_op_size_in_bytes _ = 0;
};
#
Pseudo_Op = Void;
#
fun pseudo_op_to_string _ = "";
fun put_pseudo_op _ = ();
fun current_pseudo_op_size_in_bytes _ = 0;
fun adjust_labels _ = FALSE;
};
herein
package adl_pseudo_ops
=
pseudo_op_g ( # pseudo_op_g is from
src/lib/compiler/back/low/mcg/pseudo-op-g.pkg #
package cpo = adl_client_pseudo_ops;
);
end;
package adl_stream
=
codebuffer_g (
#
adl_pseudo_ops
);
package adl_treecode_utilities
=
treecode_hashing_equality_and_display_g ( # treecode_hashing_equality_and_display_g is from
src/lib/compiler/back/low/treecode/treecode-hashing-equality-and-display-g.pkg #
package tcf = adl_treecode; # "tcf" == "treecode_form".
#
fun hash_sext _ _ = 0u0;
fun hash_rext _ _ = 0u0;
fun hash_fext _ _ = 0u0;
fun hash_ccext _ _ = 0u0;
#
fun eq_sext _ _ = FALSE;
fun eq_rext _ _ = FALSE;
fun eq_fext _ _ = FALSE;
fun eq_ccext _ _ = FALSE;
#
fun show_sext _ _ = "";
fun show_rext _ _ = "";
fun show_fext _ _ = "";
fun show_ccext _ _ = "";
);
package adl_treecode_rewrite
=
treecode_rewrite_g ( # treecode_rewrite_g is from
src/lib/compiler/back/low/treecode/treecode-rewrite-g.pkg #
package tcf = adl_treecode; # "tcf" == "treecode_form".
#
fun sext _ x = x;
fun rext _ x = x;
fun fext _ x = x;
fun ccext _ x = x;
);
package adl_treecode_fold
=
treecode_fold_g ( # treecode_fold_g is from
src/lib/compiler/back/low/treecode/treecode-fold-g.pkg #
package tcf = adl_treecode; # "tcf" == "treecode_form".
#
fun sext _ (_, x) = x;
fun rext _ (_, _, x) = x;
fun fext _ (_, _, x) = x;
fun ccext _ (_, _, x) = x;
);
package adl_treecode_rtl
=
treecode_rtl_g ( # treecode_rtl_g is from
src/lib/compiler/back/low/treecode/treecode-rtl-g.pkg #
package tcj = adl_treecode_utilities;
package tcr = adl_treecode_rewrite;
package fld = adl_treecode_fold;
);
package adl_rtl_builder
=
rtl_build_g ( # rtl_build_g is from
src/lib/compiler/back/low/treecode/rtl-build-g.pkg #
adl_treecode_rtl
);