PreviousUpNext

15.4.623  src/lib/compiler/front/typer-stuff/symbolmapstack/unparse-compiler-state.pkg

## unparse-compiler-state.pkg

# Compiled by:
#     src/lib/compiler/core.sublib

stipulate
    package cms =  compiler_mapstack_set;                               # compiler_mapstack_set         is from   src/lib/compiler/toplevel/compiler-state/compiler-mapstack-set.pkg
                                                                        # symbol                        is from   src/lib/compiler/front/basics/map/symbol.pkg
                                                                        # types                         is from   src/lib/compiler/front/typer-stuff/types/types.pkg
                                                                        # variables_and_constructors    is from   src/lib/compiler/front/typer-stuff/deep-syntax/variables-and-constructors.pkg
                                                                        # symbolmapstack                is from   src/lib/compiler/front/typer-stuff/symbolmapstack/symbolmapstack.pkg
                                                                        # symbolmapstack_entry          is from   src/lib/compiler/front/typer-stuff/symbolmapstack/symbolmapstack-entry.pkg

    package cps =  compiler_state;                                      # compiler_state                is from   src/lib/compiler/toplevel/interact/compiler-state.pkg

    package pp  =  prettyprint;                                         # prettyprint                   is from   src/lib/prettyprint/big/src/prettyprint.pkg
                                                                        # prettyprint_symbolmapstack    is from   src/lib/compiler/front/typer-stuff/symbolmapstack/prettyprint-symbolmapstack.pkg
herein

    package unparse_compiler_state:  Unparse_Compiler_State {           # Unparse_Compiler_State        is from   src/lib/compiler/front/typer-stuff/symbolmapstack/unparse-compiler-state.api


        fun unparse_compiler_mapstack_set
                (pps:  prettyprint::Stream)
                (compiler_mapstack_set:  cms::Compiler_Mapstack_Set)
            =
            {
                include  compiler_mapstack_set;

                pp::string  pps   "Symbol table";             pp::newline pps;
                pp::string  pps   "------------";             pp::newline pps;
                pp::newline pps;

                prettyprint_symbolmapstack::prettyprint_symbolmapstack
                    pps
                    (symbolmapstack_part  compiler_mapstack_set);

                pp::newline pps;
                pp::newline pps;
                pp::newline pps;
                pp::string  pps   "Linking table";            pp::newline pps;
                pp::string  pps   "-------------";            pp::newline pps;
                pp::newline pps;
                pp::string  pps   "(unimplemented)";          pp::newline pps;

                pp::newline pps;
                pp::newline pps;
                pp::newline pps;
                pp::string  pps   "Inlining table";           pp::newline pps;
                pp::string  pps   "--------------";           pp::newline pps;
                pp::newline pps;
                pp::string  pps   "(unimplemented)";          pp::newline pps;
            };


        fun unparse_compiler_mapstack_set_reference
                #
                (pps:  prettyprint::Stream)
                #
                (compiler_mapstack_set_reference:   cps::Compiler_Mapstack_Set_Jar)
            =
            unparse_compiler_mapstack_set  pps   (compiler_mapstack_set_reference.get_mapstack_set ());


        fun unparse_compiler_state
                (pps:  prettyprint::Stream)
            =
            {   pp::string   pps   "Combined (top_level + base) compiler tableset";            pp::newline  pps;
                pp::string   pps   "=============================================";            pp::newline  pps;
                unparse_compiler_mapstack_set            pps  (cps::combined ());

                pp::newline  pps;
                pp::newline  pps;
                pp::newline  pps;
                pp::string   pps   "Toplevel compiler tableset";            pp::newline  pps;
                pp::string   pps   "==========================";            pp::newline  pps;
                unparse_compiler_mapstack_set_reference  pps  (cps::get_top_level_pkg_etc_defs_jar ());

                pp::newline  pps;
                pp::newline  pps;
                pp::newline  pps;
                pp::string   pps   "Base compiler tableset";            pp::newline  pps;
                pp::string   pps   "======================";            pp::newline  pps;
                unparse_compiler_mapstack_set_reference  pps  (cps::get_baselevel_pkg_etc_defs_jar ());

                pp::newline  pps;
                pp::newline  pps;
                pp::newline  pps;
                pp::string   pps   "Pervasive compiler tableset";            pp::newline  pps;
                pp::string   pps   "===========================";            pp::newline  pps;
                unparse_compiler_mapstack_set_reference  pps  cps::pervasive_fun_etc_defs_jar;
            };


        fun unparse_compiler_state_to_file
            (prettyprint_filename:  String)
            =
            {
                pp  = prettyprinter::make_file_prettyprinter  prettyprint_filename;
                pps = pp.stream;

                unparse_compiler_state  pps; 

                pp::newline  pps;
                pp::newline  pps;
                pp::newline  pps;
                pp::string   pps   "This file generated by unparse_compiler_state_to_file  from";           pp::newline  pps;
                pp::string   pps   "    src/lib/compiler/front/typer-stuff/symbolmapstack/unparse-compiler-state.pkg";
                pp::newline  pps;

                pp.flush ();
                pp.close ();
            };

    };
end;














Comments and suggestions to: bugs@mythryl.org

PreviousUpNext