PreviousUpNext

15.3.101  src/lib/compiler/back/low/emit/machcode-codebuffer-pp.api

## machcode-codebuffer-pp.api
#
# This is an abstract codebuffer-style interface for
# assembler-codes
#
# This api is implemented in:
#
#     src/lib/compiler/back/low/intel32/emit/translate-machcode-to-asmcode-intel32-g.codemade.pkg
#     src/lib/compiler/back/low/pwrpc32/emit/translate-machcode-to-asmcode-pwrpc32-g.codemade.pkg
#     src/lib/compiler/back/low/sparc32/emit/translate-machcode-to-asmcode-sparc32-g.codemade.pkg
#
# Compare to:

#     src/lib/compiler/back/low/emit/execode-emitter.api

# Compiled by:
#     src/lib/compiler/back/low/lib/lowhalf.lib






stipulate
    package nt  =  note;                                                        # note                          is from   src/lib/src/note.pkg
    package pp  =  standard_prettyprinter;                                      # standard_prettyprinter        is from   src/lib/prettyprint/big/src/standard-prettyprinter.pkg
herein

    api Machcode_Codebuffer_Pp {
        #
        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


        # Create a new codebuffer.  The argument is a List of 
        # annotations that can affect the output format.
        #
        make_codebuffer
            :
            pp::Prettyprinter
            ->
            nt::Notes
            ->
            cst::Codebuffer (mcf::Machine_Op, B, C, D);

    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext