## instruction-sequence-generator.api
# Compiled by:
#
src/lib/compiler/back/low/lib/treecode.lib# Generate a linear sequence of instructions
api Instruction_Sequence_Generator {
#
package rgk: Registerkinds; # Registerkinds is from
src/lib/compiler/back/low/code/registerkinds.api package mcf: Machcode_Form; # Machcode_Form is from
src/lib/compiler/back/low/code/machcode-form.api package cst: Codebuffer; # Codebuffer is from
src/lib/compiler/back/low/code/codebuffer.api package mcg: Machcode_Controlflow_Graph; # Machcode_Controlflow_Graph is from
src/lib/compiler/back/low/mcg/machcode-controlflow-graph.api sharing mcf::rgk == rgk; # "rgk" == "registerkinds".
sharing mcg::pop == cst::pop; # "pop" == "pseudo_op".
# This function creates an instruction stream, which can be
# used to emit instruction into the instruction list.
#
new_stream: Ref( List( mcf::Machine_Op ) )
->
cst::Codebuffer( mcf::Machine_Op,
note::Notes,
X,
mcg::Machcode_Controlflow_Graph
);
};