PreviousUpNext

15.3.185  src/lib/compiler/back/low/treecode/instruction-sequence-generator.api

## 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
                                 );

};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext