PreviousUpNext

15.3.295  src/lib/compiler/toplevel/main/global-controls.api

## global-controls.api
#
# This is the old compiler-switches system, based on using
# bazillions of icky thread-hostile global variables.
#
# (I want to develop a replacement based on a red-black
# tree that lives in per-compile-stuff. -- 2011-10-02 CrT)

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



api Global_Controls {
    #
    package mc:       Match_Compiler_Controls;                                  # Match_Compiler_Controls       is from   src/lib/compiler/toplevel/main/control-apis.api
    package compiler: Compiler_Controls;                                        # Compiler_Controls             is from   src/lib/compiler/toplevel/main/control-apis.api
    package lowhalf:  Lowhalf_Control;                                          # Lowhalf_Control               is from   src/lib/compiler/back/low/control/lowhalf-control.pkg
    package print:    Control_Print;                                            # Control_Print                 is from   src/lib/compiler/front/basics/print/control-print.pkg
    package highcode: Anormcode_Sequencer_Controls;                             # Anormcode_Sequencer_Controls  is from   src/lib/compiler/toplevel/main/control-apis.api


    debugging:                          Ref( Bool );
    unparse_raw_syntax_tree:            Ref( Bool );
    unparse_deep_syntax_tree:           Ref( Bool );
    execute_compiled_code:              Ref( Bool );
    prettyprint_raw_syntax_tree:        Ref( Bool );


    include api Basic_Control;                                                  # Basic_Control                 is from   src/lib/compiler/front/basics/main/basic-control.pkg
        #
        # Provides:
        #  print_warnings:              Ref( Bool  );

    include api Mythryl_Parser;                                                 # Mythryl_Parser                is from   src/lib/compiler/front/parser/main/mythryl-parser.pkg
        #
        # Provides:
        #  primary_prompt:              Ref( String );
        #  secondary_prompt:            Ref( String );
        #  lazy_is_a_keyword:           Ref( Bool   );
        #  quotation:                   Ref( Bool   );


    remember_highcode_codetemp_names:   Ref( Bool );
    value_restriction_local_warn:       Ref( Bool );    #  Default FALSE        # Warning message on failure of value restriction in local decls 
    value_restriction_top_warn:         Ref( Bool );    #  Default TRUE         # Warning message on failure of value restriction at top level 
    mult_def_warn:                      Ref( Bool );    #  Default FALSE        # Warning messages for multiple defs in sigs 
    share_def_error:                    Ref( Bool );    #  Default TRUE         # Error (TRUE) or warning (FALSE) for defs in sharing constraints 
    macro_expand_sigs:                  Ref( Bool );    #  Default TRUE         # Check apis at declaration by instantiating them 
    internals:                          Ref( Bool );    #  Default FALSE        # Print internal representations of types at top level 
    interp:                             Ref( Bool );                            # Turn on interpreter -- DEFUNCT. 

#   my debugLook:                       Ref( Bool )
#   my debugCollect:                    Ref( Bool )
#   my debugBind:                       Ref( Bool )

    save_lambda:                        Ref( Bool );
    preserve_lvar_names:                Ref( Bool );
    mark_deep_syntax_tree:              Ref( Bool );
    track_exn:                          Ref( Bool );
    poly_eq_warn:                       Ref( Bool );
    indexing:                           Ref( Bool );
    inst_sigs:                          Ref( Bool );

    saveit:                             Ref( Bool );
    save_deep_syntax_tree:              Ref( Bool );
    save_convert:                       Ref( Bool );
    save_nextcode:                      Ref( Bool );            # Never referenced.
    save_closure:                       Ref( Bool );

    tdp_instrument_enabled:             Ref( Bool );            # tdp_instrument        is from   src/lib/compiler/debugging-and-profiling/profiling/tdp-instrument.pkg

    package inline:   api {
                               Global_Setting
                                 = OFF                          #  Completely disabled 
                                 | DEFAULT  Null_Or(Int)        #  Default aggressiveness; NULL: off 
                                 ;

                               Localsetting =  Null_Or( Null_Or(Int) );

                               use_default:  Localsetting;
                               suggest:     Null_Or( Int ) -> Localsetting;
                               set:         Global_Setting -> Void;
                               get:         Void -> Null_Or(  Int );
                               get'  :      Localsetting -> Null_Or( Int );
                               parse:       String -> Null_Or( Global_Setting );
                               show:        Global_Setting -> String;
                          };

};


## COPYRIGHT (c) 1995 AT&T Bell Laboratories 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext