PreviousUpNext

15.3.109  src/lib/compiler/back/low/intel32/code/treecode-extension-compiler-intel32.api

## 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.pkg

stipulate
    package iei =  treecode_extension_sext_intel32;                     # treecode_extension_sext_intel32       is from   src/lib/compiler/back/low/intel32/code/treecode-extension-sext-intel32.pkg
herein

    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.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext