class PROG |
---|
attr all_reached:BOOL; |
---|
**** | True when all reachable code emitted |
attr arch:STR; |
---|
**** | Architecture to compile for (pSather only) |
attr arith_checks:BOOL; |
---|
**** | true if at least one class makes arith. checks |
attr as_tbl:PROG_AS_TBL; |
---|
**** | The table of code trees. |
attr assert_checks:BOOL; |
---|
**** | true if at least one class makes assert checks |
attr back_end:$BACK_END; |
---|
attr boot:BOOL; |
---|
**** | true if a boot compiler is beeing generated |
attr build_type_graph:$BUILD_TYPE_GRAPH; |
---|
attr check_am:$CHECK_AM; |
---|
attr check_ifc_conformance:$CHECK_IFC_CONFORMANCE; |
---|
attr config:CONFIG_TBL; |
---|
**** | the configuration table been examined to get other types. |
attr distributed:BOOL; |
---|
**** | Accept pSather code and generate code for more than one cluster |
attr eloc:SFILE_ID; |
---|
**** | Current error location. |
attr err_list:FLIST{SFILE_ID}; |
---|
attr err_seen:BOOL; |
---|
**** | True if an error has been seen. |
attr find_types:$FIND_TYPES; |
---|
attr generate_am:$GENERATE_AM; |
---|
attr generate_checked_code:BOOL; |
---|
**** | Generate all code if true. |
attr genuine_platforms:INT; |
---|
**** | counter, incremented each time a "real" platform (as opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr get_main_sig:$GET_MAIN_SIG; |
---|
attr get_options:$GET_OPTIONS; |
---|
attr hoist_const:BOOL; |
---|
**** | true if loop constants should be hoisted |
attr hoist_iter_init:BOOL; |
---|
**** | true if the initialization of iters has to be hoisted |
attr home:STR; |
---|
**** | home opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr hotcounts:ARRAY{INT}; |
---|
attr inline_iters:BOOL; |
---|
**** | true if iters are to be inlined |
attr inline_routs:BOOL; |
---|
**** | true if routines are to be inlined |
attr inliner:$INLINE; |
---|
attr itercounts:ARRAY{INT}; |
---|
attr locks_on_stack:BOOL; |
---|
**** | true if locks that don't have to be on the exc. stack should not be put there |
attr loops_seen:FSET{SFILE_ID}; |
---|
attr main_class:STR; |
---|
**** | The class with main opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr move_while:BOOL; |
---|
**** | true if while!/until! have to be moved to the end of loops |
attr no_new_types: BOOL; |
---|
**** | True, when find_types has finished. for debugging |
attr opt_debug:BOOL; |
---|
**** | print out optimizer debug info |
attr opt_debug_func:FLIST{STR}; |
---|
**** | if not void only functions with a signature that contains one of these strings are "opt_debuggged" |
attr opt_verbose:BOOL; |
---|
**** | print out opt. info |
attr optimizer:$OPTIMIZE; |
---|
attr parse:$PARSE; |
---|
attr parse_nonlib_classes:BOOL; |
---|
**** | true if non library classes should be parsed, and not only classes reachable from the main class. |
attr platforms:FLIST{STR}; |
---|
**** | list of platforms to be used opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr |
---|
**** | true if at least one class makes post checks |
attr |
---|
**** | e checks |
attr print_version:BOOL; |
---|
**** | Prints info about compiler version. etc opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr prolix:BOOL; |
---|
**** | Be really noisy opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr replace_iters:BOOL; |
---|
**** | true if array and some int iters should be replaced |
attr sather_files:FSET{STR}; |
---|
**** | Sather source files opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr show_am:BOOL; |
---|
**** | Show the am code generated. |
attr show_am_check:BOOL; |
---|
**** | Show am for for checked sigs. |
attr show_as_insert:BOOL; |
---|
**** | Show trees inserted. |
attr show_calls: STR; |
---|
**** | If non-void, print out all function calls |
attr show_checked_sig:BOOL; |
---|
**** | Show the sigs as they are checked. |
attr show_generated_sig:BOOL; |
---|
**** | Show the sigs with code generated. |
attr show_graphs:BOOL; |
---|
**** | Show the type graphs. |
attr show_ifc:BOOL; |
---|
**** | Show all interfaces. |
attr show_ifc_abs_create:BOOL; |
---|
**** | Show when abstract ifc's are created. |
attr show_impl_create:BOOL; |
---|
**** | Show when an impl is created. |
attr show_include:BOOL; |
---|
**** | Show when an include is processed. |
attr show_main:BOOL; |
---|
**** | Show the main sig. |
attr show_parse_file:BOOL; |
---|
**** | Show files parsed. |
attr show_tr:BOOL; |
---|
**** | Show TR. |
attr show_types:BOOL; |
---|
**** | Show all types found. |
attr stat:$STAT; |
---|
**** | used to gather statistics; |
attr threads:BOOL; |
---|
**** | Accept pSather code and generate code for one cluster |
attr tp_done:FSET{$TP}; |
---|
**** | Table of types which have already been examined to get other types. |
attr tp_graph:TP_GRAPH; |
---|
**** | The type graph. been examined to get other types. |
attr tp_graph_abs_des:TP_GRAPH_ABS_DES; |
---|
**** | Abstract descendants. been examined to get other types. |
attr tp_tbl:TP_TBL; |
---|
**** | The type table. been examined to get other types. |
attr trace:BOOL; |
---|
**** |
attr verbose:BOOL; |
---|
**** | Be noisy opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr void_checks:BOOL; |
---|
**** | true if at least one class makes void access checks |
attr yields_in_locks:BOOL; |
---|
**** | true if yields in locks should be optimized |
attr zones:BOOL; |
---|
**** | use zones |
attr all_reached:BOOL; |
---|
**** | True when all reachable code emitted |
attr arch:STR; |
---|
**** | Architecture to compile for (pSather only) |
attr arith_checks:BOOL; |
---|
**** | true if at least one class makes arith. checks |
attr as_tbl:PROG_AS_TBL; |
---|
**** | The table of code trees. |
attr assert_checks:BOOL; |
---|
**** | true if at least one class makes assert checks |
attr back_end:$BACK_END; |
---|
attr boot:BOOL; |
---|
**** | true if a boot compiler is beeing generated |
attr build_type_graph:$BUILD_TYPE_GRAPH; |
---|
attr check_am:$CHECK_AM; |
---|
attr check_ifc_conformance:$CHECK_IFC_CONFORMANCE; |
---|
attr config:CONFIG_TBL; |
---|
**** | the configuration table been examined to get other types. |
attr distributed:BOOL; |
---|
**** | Accept pSather code and generate code for more than one cluster |
attr eloc:SFILE_ID; |
---|
**** | Current error location. |
attr err_list:FLIST{SFILE_ID}; |
---|
attr err_seen:BOOL; |
---|
**** | True if an error has been seen. |
attr find_types:$FIND_TYPES; |
---|
attr generate_am:$GENERATE_AM; |
---|
attr generate_checked_code:BOOL; |
---|
**** | Generate all code if true. |
attr genuine_platforms:INT; |
---|
**** | counter, incremented each time a "real" platform (as opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr get_main_sig:$GET_MAIN_SIG; |
---|
attr get_options:$GET_OPTIONS; |
---|
attr hoist_const:BOOL; |
---|
**** | true if loop constants should be hoisted |
attr hoist_iter_init:BOOL; |
---|
**** | true if the initialization of iters has to be hoisted |
attr home:STR; |
---|
**** | home opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr hotcounts:ARRAY{INT}; |
---|
attr inline_iters:BOOL; |
---|
**** | true if iters are to be inlined |
attr inline_routs:BOOL; |
---|
**** | true if routines are to be inlined |
attr inliner:$INLINE; |
---|
attr itercounts:ARRAY{INT}; |
---|
attr locks_on_stack:BOOL; |
---|
**** | true if locks that don't have to be on the exc. stack should not be put there |
attr loops_seen:FSET{SFILE_ID}; |
---|
attr main_class:STR; |
---|
**** | The class with main opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr move_while:BOOL; |
---|
**** | true if while!/until! have to be moved to the end of loops |
attr no_new_types: BOOL; |
---|
**** | True, when find_types has finished. for debugging |
attr opt_debug:BOOL; |
---|
**** | print out optimizer debug info |
attr opt_debug_func:FLIST{STR}; |
---|
**** | if not void only functions with a signature that contains one of these strings are "opt_debuggged" |
attr opt_verbose:BOOL; |
---|
**** | print out opt. info |
attr optimizer:$OPTIMIZE; |
---|
attr parse:$PARSE; |
---|
attr parse_nonlib_classes:BOOL; |
---|
**** | true if non library classes should be parsed, and not only classes reachable from the main class. |
attr platforms:FLIST{STR}; |
---|
**** | list of platforms to be used opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr |
---|
**** | true if at least one class makes post checks |
attr |
---|
**** | e checks |
attr print_version:BOOL; |
---|
**** | Prints info about compiler version. etc opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr prolix:BOOL; |
---|
**** | Be really noisy opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr replace_iters:BOOL; |
---|
**** | true if array and some int iters should be replaced |
attr sather_files:FSET{STR}; |
---|
**** | Sather source files opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr show_am:BOOL; |
---|
**** | Show the am code generated. |
attr show_am_check:BOOL; |
---|
**** | Show am for for checked sigs. |
attr show_as_insert:BOOL; |
---|
**** | Show trees inserted. |
attr show_calls: STR; |
---|
**** | If non-void, print out all function calls |
attr show_checked_sig:BOOL; |
---|
**** | Show the sigs as they are checked. |
attr show_generated_sig:BOOL; |
---|
**** | Show the sigs with code generated. |
attr show_graphs:BOOL; |
---|
**** | Show the type graphs. |
attr show_ifc:BOOL; |
---|
**** | Show all interfaces. |
attr show_ifc_abs_create:BOOL; |
---|
**** | Show when abstract ifc's are created. |
attr show_impl_create:BOOL; |
---|
**** | Show when an impl is created. |
attr show_include:BOOL; |
---|
**** | Show when an include is processed. |
attr show_main:BOOL; |
---|
**** | Show the main sig. |
attr show_parse_file:BOOL; |
---|
**** | Show files parsed. |
attr show_tr:BOOL; |
---|
**** | Show TR. |
attr show_types:BOOL; |
---|
**** | Show all types found. |
attr stat:$STAT; |
---|
**** | used to gather statistics; |
attr threads:BOOL; |
---|
**** | Accept pSather code and generate code for one cluster |
attr tp_done:FSET{$TP}; |
---|
**** | Table of types which have already been examined to get other types. |
attr tp_graph:TP_GRAPH; |
---|
**** | The type graph. been examined to get other types. |
attr tp_graph_abs_des:TP_GRAPH_ABS_DES; |
---|
**** | Abstract descendants. been examined to get other types. |
attr tp_tbl:TP_TBL; |
---|
**** | The type table. been examined to get other types. |
attr trace:BOOL; |
---|
**** |
attr verbose:BOOL; |
---|
**** | Be noisy opposed to bogus platforms like -gui) is used. At most one real platfomr can be specified. |
attr void_checks:BOOL; |
---|
**** | true if at least one class makes void access checks |
attr yields_in_locks:BOOL; |
---|
**** | true if yields in locks should be optimized |
attr zones:BOOL; |
---|
**** | use zones |
barf(msg:STR) |
---|
**** | Something wrong within the compiler, but we can't say where. |
barf_at(msg:STR,at:$PROG_ERR) |
---|
**** | Something wrong, and we know where. |
create:SAME |
---|
**** | A new program object. All the components have to be filled in from outside, after creation. |
err(s:STR) |
---|
**** | Report an error with `s' as the error string and the last tree node given to `err_loc' as the location. This string shouldn't have information like "Error" and should be an unformatted line of text. It should be a complete sentence beginning with a capital letter and ending with a period. If this is called during a compile, source code will not be generated, but the compile will proceed as far as possible. |
err_loc(t:$PROG_ERR) |
---|
**** | Make the node held by `t' be the culprit for the next error, if any. If `t' is void, then don't print a location with the next message. |
err_loc_old(l:SFILE_ID):BOOL |
---|
**** | Return true if `l' has been seen before, otherwise add it to the list. |
psather:BOOL |
---|
**** |
set_eloc(l:SFILE_ID) |
---|
**** | Set `eloc' to `l'. |
warning(s:STR) |
---|
**** | Report a warning. Like an error, but doesn't stop compile. In general, our philosophy is that warnings are poor compiler interface and their use should be avoided. if ~void(eloc) then if err_loc_old(eloc) then return end end; |