## treecode-extension-compiler-intel32.api
#
# Background comments may be found in:
#
#
src/lib/compiler/back/low/treecode/treecode-extension.api#
# Emit code for intel32 extensions to Treecode_Form.
# Compiled by:
#
src/lib/compiler/back/low/intel32/backend-intel32.lib# This api is implemented in:
#
src/lib/compiler/back/low/intel32/code/treecode-extension-sext-compiler-intel32-g.pkgstipulate
package iei = treecode_extension_sext_intel32; # treecode_extension_sext_intel32 is from
src/lib/compiler/back/low/intel32/code/treecode-extension-sext-intel32.pkgherein
api Treecode_Extension_Compiler_Intel32 {
#
package mcf: Machcode_Intel32; # Machcode_Intel32 is from
src/lib/compiler/back/low/intel32/code/machcode-intel32.codemade.api package tcs: Treecode_Codebuffer # Treecode_Codebuffer is from
src/lib/compiler/back/low/treecode/treecode-codebuffer.api where
tcf == mcf::tcf; # "tcf" == "treecode_form".
package mcg: Machcode_Controlflow_Graph # Machcode_Controlflow_Graph is from
src/lib/compiler/back/low/mcg/machcode-controlflow-graph.api where
mcf == mcf # "mcf" == "machcode_form" (abstract machine code).
also pop == tcs::cst::pop; # "pop" == "pseudo_op".
Reducer
=
tcs::Reducer
(
mcf::Machine_Op,
mcf::rgk::Codetemplists,
mcf::Operand,
mcf::Addressing_Mode,
mcg::Machcode_Controlflow_Graph
);
compile_sext
:
Reducer
->
{ void_expression: iei::Sext
(
mcf::tcf::Void_Expression,
mcf::tcf::Int_Expression,
mcf::tcf::Float_Expression,
mcf::tcf::Flag_Expression
),
#
notes: List( mcf::tcf::Note )
}
->
Void;
};
end;
## COPYRIGHT (c) 2000 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.