25 #include "pips_config.h"
59 #define current_module_is_a_function() \
60 (entity_function_p(get_current_module_entity()))
79 #define html_print(format, args...) \
81 pips_assert("Output is set",out_fp); \
82 fprintf(out_fp,format,##args); \
88 html_print(
"<li class=\"%s blocked\"><span>%s</span><ul class=\"inlined\">" NL,
92 html_print(
"<li class=\"%s inlined\"><span>%s</span><ul class=\"inlined\">" NL,
615 html_output(
"sizeofexpression unimplemented",
false);
618 html_output(
"sizeofexpression unimplemented",
false);
814 html_print(
"<li class=\"endSymbolTable\"> </li>" NL "</ul></li>" NL);
833 debug_on(
"HTML_PRETTYPRINT_DEBUG_LEVEL");
852 html_print(
"<li class=\"endmodule\"> </li>" NL "</ul></li>" NL);
877 string html_file_name =
881 "/", html_file_name, NULL ) );
bool statement_consistent_p(statement p)
static statement module_statement
struct _newgen_struct_statement_ * statement
FILE * safe_fopen(const char *filename, const char *what)
int safe_fclose(FILE *stream, const char *filename)
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.
entity set_current_module_entity(entity)
static.c
bool gen_true(__attribute__((unused)) gen_chunk *unused)
Return true and ignore the argument.
#define ENDP(l)
Test if a list is empty.
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define DB_PUT_FILE_RESOURCE
Put a file resource into the current workspace database.
bool empty_statement_p(statement)
Test if a statement is empty.
static Value eval(Pvecteur pv, Value val, Variable var)
static void html_print_whileloop(whileloop w)
static void html_print_call(call c)
static void html_print_qualifier(qualifier q)
void html_print_symbol_table(void)
static void html_print_area(area a)
bool html_prettyprint_symbol_table(const string module)
void html_print_entity_full(entity e)
static void html_print_constant(constant c)
static void html_print_unstructured(_UNUSED_ unstructured u)
static void html_print_entity_name(entity e)
static void html_print_forloop(forloop f)
static void html_print_sequence(sequence seq)
static void html_print_subscript(subscript s)
static void end_block(const char *block, bool cr)
static void html_print_storage(storage s)
static void html_print_mode(mode m)
static void html_print_range(range r)
static void html_print_ram(ram r)
static void html_print_basic(basic b)
bool html_prettyprint(const string mod_name)
static void html_print_formal(formal f)
static void html_print_statement(statement r)
#define html_print(format, args...)
void html_output(const char *out, bool cr)
html_prettyprinter.c
static void begin_block(const char *block, bool cr)
static void html_print_variable(variable v)
static void html_print_expression(expression e, bool cr)
static void html_set_output(FILE *new_fp)
static void html_print_functional(functional f)
static void html_print_value(value v)
static void html_print_reference(reference r)
static void html_print_type(type t)
static void html_print_code(code c)
static void html_print_parameter(parameter p)
static void html_print_loop(loop l)
static void html_print_dimension(dimension d)
static void html_print_test(test t)
static void html_print_rom(_UNUSED_ unit r)
string db_build_file_resource_name(const char *rname, const char *oname, const char *suffix)
returns an allocated file name for a file resource.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
string concatenate(const char *,...)
Return the concatenation of the given strings.
list gen_filter_tabulated(bool(*)(gen_chunk *), int)
returns the list of entities with this caracteristics.
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
string db_get_current_workspace_directory(void)
entity module_name_to_entity(const char *mn)
This is an alias for local_name_to_top_level_entity.
#define functional_result(x)
#define parameter_type(x)
#define value_constant(x)
#define syntax_reference(x)
#define forloop_initialization(x)
#define reference_variable(x)
#define forloop_increment(x)
#define instruction_loop(x)
#define type_functional(x)
#define dimension_lower(x)
#define parameter_mode(x)
#define whileloop_evaluation(x)
#define entity_storage(x)
#define code_declarations(x)
@ is_syntax_sizeofexpression
#define range_increment(x)
#define storage_formal(x)
#define subscript_indices(x)
#define statement_label(x)
@ is_instruction_unstructured
@ is_instruction_whileloop
@ is_instruction_expression
@ is_instruction_sequence
#define instruction_tag(x)
#define functional_parameters(x)
#define formal_function(x)
#define sequence_statements(x)
#define dimension_upper(x)
#define reference_indices(x)
#define instruction_sequence(x)
#define instruction_forloop(x)
#define variable_qualifiers(x)
#define instruction_expression(x)
#define test_condition(x)
#define subscript_array(x)
#define instruction_whileloop(x)
#define variable_dimensions(x)
#define whileloop_body(x)
#define statement_declarations(x)
#define statement_instruction(x)
#define instruction_call(x)
#define syntax_subscript(x)
#define forloop_condition(x)
#define constant_float(x)
#define call_arguments(x)
#define instruction_test(x)
#define constant_logical(x)
#define whileloop_condition(x)
#define expression_syntax(x)
#define evaluation_before_p(x)
#define value_expression(x)
#define storage_undefined_p(x)
#define instruction_unstructured(x)
#define storage_return(x)
#define entity_domain
newgen_syntax_domain_defined
#define constant_undefined
#define variable_basic(x)
#define entity_initial(x)
The structure used to build lists in NewGen.