PIPS
|
Go to the source code of this file.
Macros | |
#define | ICFG_NOT_FOUND NULL |
Warning! Do not modify this file that is automatically generated! More... | |
#define | ICFG_OPTIONS "tcdDIFl" |
#define | ICFG_CALLEES_TOPO_SORT "ICFG_CALLEES_TOPO_SORT" |
#define | ICFG_DRAW "ICFG_DRAW" |
#define | ICFG_DEBUG "ICFG_DEBUG" |
#define | ICFG_DEBUG_LEVEL "ICFG_DEBUG_LEVEL" |
#define | ICFG_DOs "ICFG_DOs" |
#define | ICFG_IFs "ICFG_IFs" |
#define | ICFG_DV "ICFG_DV" |
#define | ICFG_FLOATs "ICFG_FLOATs" |
#define | ICFG_SHORT_NAMES "ICFG_SHORT_NAMES" |
#define | CALL_MARK "CALL_MARK@@@@" |
#define | ADD_ELEMENT_TO_LIST(_list, _type, _element) (_list = gen_nconc( _list, CONS( _type, _element, NIL))) |
Typedefs | |
typedef dg_arc_label | arc_label |
typedef dg_vertex_label | vertex_label |
#define ICFG_NOT_FOUND NULL |
Warning! Do not modify this file that is automatically generated!
Modify src/Libs/icfg/icfg-local.h instead, to add your own modifications. header file built by cproto icfg-local.h
typedef dg_arc_label arc_label |
typedef dg_vertex_label vertex_label |
bool generic_print_icfg | ( | const | string, |
bool | with_ifs, | ||
bool | with_loops, | ||
bool | do_graph, | ||
text(*)(const string) | decoration | ||
) |
string | odule_name |
with_ifs | ith_ifs |
with_loops | ith_loops |
do_graph | o_graph |
Definition at line 713 of file icfg_scan.c.
References internal_print_icfg(), and module_name().
Referenced by print_icfg(), print_icfg_with_control(), and print_icfg_with_loops().
bool generic_print_icfg_filtered | ( | const | string, |
bool | with_ifs, | ||
bool | with_loops, | ||
bool | do_graph, | ||
text(*)(entity, statement, call) | decoration_call, | ||
text(*)(entity, statement) | decoration_stmt | ||
) |
string | odule_name |
with_ifs | ith_ifs |
with_loops | ith_loops |
do_graph | o_graph |
Definition at line 735 of file icfg_scan.c.
References internal_print_icfg(), and module_name().
bool generic_print_icfg_precise | ( | const | string, |
bool | with_ifs, | ||
bool | with_loops, | ||
bool | do_graph, | ||
text(*)(entity, entity, statement, call) | decoration | ||
) |
string | odule_name |
with_ifs | ith_ifs |
with_loops | ith_loops |
do_graph | o_graph |
Definition at line 724 of file icfg_scan.c.
References internal_print_icfg(), and module_name().
str_name | tr_name |
l_of_vers | _of_vers |
Definition at line 92 of file util.c.
References CAR, first_word_of_sentence(), free(), MAP, remove_newline_of_string(), same_string_p, sens, SENTENCE, text_sentences, VERTEX, vertex_undefined, and vertex_vertex_label.
Referenced by call_flt(), and print_marged_text_from_starting_node().
void icfg_error_handler | ( | void | ) |
Definition at line 122 of file icfg_scan.c.
Referenced by print_module_icfg().
void icfg_reset_indentation | ( | void | ) |
Definition at line 117 of file icfg_scan.c.
References ICFG_DEFAULT_INDENTATION, and icfg_indent.
Referenced by internal_print_icfg().
void icfg_set_indentation | ( | int | indent | ) |
indent | ndent |
Definition at line 112 of file icfg_scan.c.
References icfg_indent.
Referenced by internal_print_icfg().
ver | er |
l_of_vers | _of_vers |
Definition at line 57 of file util.c.
References list_of_connected_nodes(), MAP, safe_add_vertex_to_list(), SUCCESSOR, successor_vertex, and vertex_successors.
Referenced by list_of_connected_nodes(), and print_graph_daVinci_from_starting_node().
bool make_resource_from_starting_node | ( | const char * | mod_name, |
string | res_name, | ||
string | file_ext, | ||
vertex | start_ver, | ||
list | l_of_vers, | ||
bool | res_text_type | ||
) |
ree(dir);
this line may cause a problem of bus errone
this line must be after DB_PUT_FILE_RESOURCE for the reason of memory liberation
mod_name | od_name |
res_name | es_name |
file_ext | ile_ext |
start_ver | tart_ver |
l_of_vers | _of_vers |
res_text_type | es_text_type |
Definition at line 220 of file util.c.
References concatenate(), db_build_file_resource_name(), db_get_current_workspace_directory(), DB_PUT_FILE_RESOURCE, free(), print_graph_daVinci_from_starting_node(), print_marged_text_from_starting_node(), safe_fclose(), safe_fopen(), strdup(), vertex_undefined_p, and write_an_attachment_file().
Referenced by print_module_icfg().
list module_list_sort | ( | hash_table | hash_module_to_depth, |
list | current_list, | ||
entity | mod, | ||
size_t | n | ||
) |
create the callees list whose caller has the depth n
free the same_depth_list for later use
create same_depth_list whose depth is n+1
concatenate former current_list with same_depth_list
use module_list_sort recursively
hash_module_to_depth | ash_module_to_depth |
current_list | urrent_list |
mod | od |
Definition at line 123 of file toposort.c.
References CAR, CONS, depth, ENTITY, gen_copy_seq(), gen_nconc(), hash_get(), hash_put(), MAPL, module_list_sort(), module_to_callees(), and NIL.
Referenced by module_list_sort(), and topologically_sorted_module_list().
list module_name_to_callees | ( | const char * | ) |
cproto-generated files
mod | od |
Definition at line 85 of file toposort.c.
References CAR, code_declarations, CONS, ENTITY, entity_code(), entity_local_name(), entity_type, local_name_to_top_level_entity(), MAPL, NIL, and type_functional_p.
Referenced by module_list_sort(), and topological_number_assign_to_module().
void print_graph_daVinci_from_starting_node | ( | FILE * | f_out, |
vertex | start_ver | ||
) |
f_out | _out |
start_ver | tart_ver |
Definition at line 190 of file util.c.
References ADD_ELEMENT_TO_LIST, gen_free_list(), list_of_connected_nodes(), NIL, print_graph_of_text_to_daVinci(), and VERTEX.
Referenced by make_resource_from_starting_node().
void print_graph_of_text_to_daVinci | ( | FILE * | f_out, |
list | l_of_vers | ||
) |
printf(f_out, convert_string_for_daVinci_graph(s + strlen(CALL_MARK)));
f_out | _out |
l_of_vers | _of_vers |
Definition at line 134 of file util.c.
References CALL_MARK, CAR, convert_string_for_daVinci_graph(), first_word_of_sentence(), FOREACH, fprintf(), free(), remove_newline_of_string(), SENTENCE, sentence_to_string(), SUCCESSOR, successor_vertex, text_sentences, VERTEX, vertex_successors, and vertex_vertex_label.
Referenced by print_graph_daVinci_from_starting_node().
print.c
print.c
They should be called by pipsmake
Lei Zhou, February 91
module_name | odule_name |
Definition at line 45 of file print.c.
References generic_print_icfg(), and module_name().
bool print_icfg_with_control | ( | const | string | ) |
string | odule_name |
Definition at line 55 of file print.c.
References generic_print_icfg(), and module_name().
bool print_icfg_with_loops | ( | const | string | ) |
string | odule_name |
Definition at line 50 of file print.c.
References generic_print_icfg(), and module_name().
void print_marged_text_from_starting_node | ( | FILE * | fd, |
int | margin, | ||
vertex | start_ver, | ||
list | l_of_vers | ||
) |
if s in not empty, ok write out
fd | d |
margin | argin |
start_ver | tart_ver |
l_of_vers | _of_vers |
Definition at line 200 of file util.c.
References CALL_MARK, fprintf(), free(), get_vertex_by_string(), MAP, print_marged_text_from_starting_node(), remove_newline_of_string(), SENTENCE, sentence_to_string(), text_sentences, vertex_undefined_p, and vertex_vertex_label.
Referenced by make_resource_from_starting_node(), and print_marged_text_from_starting_node().
void print_module_name_to_toposorts | ( | const char * | ) |
ver | er |
l_of_vers | _of_vers |
Definition at line 50 of file util.c.
References ADD_ELEMENT_TO_LIST, gen_in_list_p(), and VERTEX.
Referenced by list_of_connected_nodes(), print_module_icfg(), and safe_make_successor().
util.c
ver | er |
l_of_vers | _of_vers |
Definition at line 43 of file util.c.
References free_vertex(), and gen_in_list_p().
Referenced by print_module_icfg().
search if it was made yet, do not make
if it was not made, do it
add vertex parent to the list of vertex
ver_parent | er_parent |
ver_child | er_child |
l_of_vers | _of_vers |
Definition at line 110 of file util.c.
References ADD_ELEMENT_TO_LIST, CAR, first_word_of_sentence(), make_successor(), MAP, safe_add_vertex_to_list(), same_string_p, SENTENCE, SUCCESSOR, successor_vertex, text_sentences, vertex_successors, and vertex_vertex_label.
Referenced by call_flt().
void topological_number_assign_to_module | ( | hash_table | hash_module_to_depth, |
entity | mod, | ||
size_t | n | ||
) |
assigns depth n+1 to callees of current module
hash_module_to_depth | ash_module_to_depth |
mod | od |
Definition at line 102 of file toposort.c.
References CAR, depth, ENTITY, hash_get(), hash_put(), ICFG_NOT_FOUND, MAPL, module_to_callees(), NIL, and topological_number_assign_to_module().
Referenced by topological_number_assign_to_module(), and topologically_sorted_module_list().
"depth" of subroutine or function for topological sort
mod | od |
Definition at line 173 of file toposort.c.
References hash_dont_warn_on_redefinition(), hash_pointer, hash_table_free(), hash_table_make(), module_list_sort(), NIL, pips_assert, and topological_number_assign_to_module().
Referenced by print_module_name_to_toposorts().