25 #include "pips_config.h"
54 #include "resources.h"
67 #define PREC_FORESYS_PREFIX "C$PREC"
68 #define TRAN_FORESYS_PREFIX "C$TRAN"
102 #define continuation get_comment_continuation()
103 #define append(s) add_to_current_line(crt_line, s, continuation, txt)
131 append(
" CONTINUATION: TRANSFORMER_UNDEFINED");
138 append(is_must?
"C-MUST-":
"C-MAY-");
261 debug_on(
"CONTINUATION_DEBUG_LEVEL");
312 (
"PRETTYPRINT_UNSTRUCTURED_AS_A_GRAPH") ?
317 DBR_GRAPH_PRINTED_FILE :
sentence make_sentence(enum sentence_utype tag, void *val)
struct _newgen_struct_statement_ * statement
void system_text_format(string line, string prefix, text txt, Psysteme ps, string(*variable_name)(Variable), bool a_la_fortran)
appends ps to line/txt with prefix continuations.
bool print_source_continuation_conditions(const string module_name)
static text text_statement_continuation_conditions(entity module, int margin, statement stat)
static text text_continuation(transformer cont, bool is_must)
text text_continuation(transformer tran) input : a transformer representing a transformer or a precon...
static text get_continuation_condition_text(const char *module_name, bool give_code_p)
static bool is_user_view_p
static int is_inferior_pvarval(Pvecteur *pvarval1, Pvecteur *pvarval2)
The strange argument type is required by qsort(), deep down in the calls.
static text text_continuation_conditions(transformer must_cont_t, transformer may_cont_t)
bool print_code_continuation_conditions(const string module_name)
prettyprint.c
static bool print_continuation_conditions(const char *module_name)
static transformer may_sum_cont_t
static transformer must_sum_cont_t
package continuation : Be'atrice Creusillet, 1996
transformer load_statement_must_continuation(statement)
void set_may_continuation_map(statement_mapping)
transformer load_statement_may_continuation(statement)
void set_must_continuation_map(statement_mapping)
void reset_may_continuation_map(void)
void reset_must_continuation_map(void)
void set_cumulated_rw_effects(statement_effects)
void reset_cumulated_rw_effects(void)
const char * module_name(const char *s)
Return the module part of an entity name.
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
statement set_current_module_statement(statement)
Set the current module statement.
statement get_current_module_statement(void)
Get the current module statement.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
#define NIL
The empty list (nil in Lisp)
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
hash_table allocate_number_to_statement(void)
hash_table build_number_to_statement(hash_table, statement)
void * hash_get(const hash_table htp, const void *key)
this function retrieves in the hash table pointed to by htp the couple whose key is equal to key.
void hash_table_free(hash_table htp)
this function deletes a hash table that is no longer useful.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
string concatenate(const char *,...)
Return the concatenation of the given strings.
#define HASH_UNDEFINED_VALUE
value returned by hash_get() when the key is not found; could also be called HASH_KEY_NOT_FOUND,...
#define hash_table_undefined
Value of an undefined hash_table.
string get_comment_sentinel()
Start a single line comment.
void close_prettyprint()
because some prettyprint functions may be used for debug, so the last hook set by somebody may have s...
void init_prettyprint(text(*hook)(entity, int, statement))
checks that the prettyprint hook was actually reset...
text text_module(entity, statement)
bool make_text_resource_and_free(const char *, const char *, const char *, text)
void print_number_to_statement(hash_table)
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
#define transformer_undefined
#define transformer_relation(x)
struct _newgen_struct_transformer_ * transformer
#define statement_number(x)
#define predicate_system(x)
#define statement_undefined
void sc_lexicographic_sort(Psysteme sc, int(*compare)(Pvecteur *, Pvecteur *))
Minimize first the lexico-graphic weight of each constraint according to the comparison function "com...
void module_to_value_mappings(entity m)
void module_to_value_mappings(entity m): build hash tables between variables and values (old,...
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
#define MERGE_TEXTS(r, t)
#define ADD_SENTENCE_TO_TEXT(t, p)
#define MAX_LINE_LENGTH
maximum length of a line when prettyprinting...
void close_current_line(string, text, string)
char *(* get_variable_name_t)(Variable)