## pseudo-ops-g.pkg
# Compiled by:
#
src/lib/compiler/back/low/lib/lowhalf.lib# lowhalf pseudo-ops.
# Ties together the assembler and client pseudo-ops
stipulate
package pbt = pseudo_op_basis_type; # pseudo_op_basis_type is from
src/lib/compiler/back/low/mcg/pseudo-op-basis-type.pkgherein
# This generic is invoked in:
#
#
src/lib/compiler/back/low/main/intel32/backend-lowhalf-intel32-g.pkg #
generic package pseudo_op_g (
# ===========
#
package cpo: Client_Pseudo_Ops; # Client_Pseudo_Ops is from
src/lib/compiler/back/low/mcg/client-pseudo-ops.api )
: (weak) Pseudo_Ops # Pseudo_Ops is from
src/lib/compiler/back/low/mcg/pseudo-op.api {
# Export to client packages:
#
package cpo = cpo; # "cpo" == "client_pseudo_ops".
package tcf = cpo::bpo::tcf; # "tcf" == "treecode_form".
stipulate
package bpo = cpo::bpo; # "bpo" == "base_pseudo_ops".
herein
Pseudo_Op = bpo::Pseudo_Op( cpo::Pseudo_Op );
fun pseudo_op_to_string (pbt::EXT extension) => cpo::pseudo_op_to_string extension;
pseudo_op_to_string pseudo_op => bpo::pseudo_op_to_string pseudo_op;
end;
fun current_pseudo_op_size_in_bytes (pbt::EXT extension, loc) => cpo::current_pseudo_op_size_in_bytes (extension, loc);
current_pseudo_op_size_in_bytes (pseudo_op, loc) => bpo::current_pseudo_op_size_in_bytes (pseudo_op, loc);
end;
fun put_pseudo_op (pseudo_op' as { pseudo_op, loc, put_byte } )
=
case pseudo_op
#
pbt::EXT ext => cpo::put_pseudo_op { pseudo_op=>ext, loc, put_byte };
_ => bpo::put_pseudo_op pseudo_op';
esac;
fun adjust_labels (pbt::EXT ext, loc) => cpo::adjust_labels (ext, loc);
adjust_labels _ => FALSE;
end;
end;
};
end;
## COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.