25 #include "pips_config.h"
51 fprintf(fd,
"Set contains statements");
71 fprintf(fd,
"Undefined statement\n");
74 (void)
fprintf(fd,
"Arg. \"s\"is not a statement.\n");
128 debug_on(
"PRETTYPRINT_DEBUG_LEVEL");
143 fprintf(stderr,
"Statement undefined\n");
224 user_log(
"Do you want to pick the following statement ?\n"
225 "*********************************************\n");
229 "*********************************************\n"
234 if( answer[0]!=
'y' && answer[0]!=
'n' )
241 bool pick = answer[0]==
'y';
void user_log(const char *format,...)
bool empty_string_p(const char *s)
char * get_string_property(const char *)
#define gen_context_recurse(start, ctxt, domain_number, flt, rwt)
void reset_current_module_entity(void)
Reset the current module entity.
void push_current_module_statement(statement)
Set the statement of the current module and push the statement of the previous one on a stack.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
void pop_current_module_statement(void)
Pop the current module statement stack and use it as the current module statement.
void gen_recurse_stop(void *obj)
Tells the recursion not to go in this object.
void gen_null2(__attribute__((unused)) void *u1, __attribute__((unused)) void *u2)
idem with 2 args, to please overpeaky compiler checks
#define ENDP(l)
Test if a list is empty.
list gen_nreverse(list cp)
reverse a list in place
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
list gen_last(list l)
Return the last element of a list.
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
unstructured statement_unstructured(statement s)
Get the unstructured of a statement.
bool statement_expression_p(statement s)
bool statement_goto_p(statement s)
bool statement_whileloop_p(statement s)
bool statement_call_p(statement s)
bool statement_forloop_p(statement s)
bool statement_loop_p(statement s)
bool statement_sequence_p(statement s)
Statement classes induced from instruction type.
bool statement_unstructured_p(statement s)
string statement_identification(statement s)
Like external_statement_identification(), but with internal information, the hexadecimal address of t...
bool continue_statement_p(statement s)
Test if a statement is a CONTINUE, that is the FORTRAN nop, the ";" in C or the "pass" in Python....
#define pips_user_warning
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
string user_request(const char *,...)
#define HASH_MAP(k, v, code, ht)
#define SET_MAP(element, code, the_set)
#define string_undefined_p(s)
void set_alternate_return_set()
void reset_alternate_return_set()
void fprint_statement(FILE *fd, statement s)
Print statement "s" on file descriptor "fd".
void print_statement(statement s)
Print a statement on stderr.
static bool find_statements_interactively_walker(statement s, list *l)
void print_statement_of_module(statement s, const char *mn)
void print_statement_set(FILE *fd, set r)
statement.c
void print_parallel_statement(statement s)
void print_number_to_statement(hash_table nts)
void print_statements(list sl)
void safe_print_statement(statement s)
list find_statements_interactively(statement s)
prompt the user to select contiguous statement in s
statement last_statement(statement s)
A simplified version of find_last_statement() located in prettyprint.c and designed to be used within...
text statement_to_text(statement s)
text text_statement(entity, int, statement, list *)
list unstructured_to_trail(unstructured)
#define PRETTYPRINT_PARALLEL
void set_string_property(const char *, const char *)
#define instruction_block(i)
bool entity_return_label_p(entity e)
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
void reset_label_counter()
#define statement_domain
newgen_sizeofexpression_domain_defined
#define CONTROL(x)
CONTROL.
#define statement_label(x)
#define entity_undefined_p(x)
#define statement_domain_number(x)
#define statement_instruction(x)
#define control_statement(x)
#define statement_undefined_p(x)
#define statement_number(x)
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
FI: I do not understand why the type is duplicated at the set level.
The structure used to build lists in NewGen.
void print_text(FILE *fd, text t)