Go to the documentation of this file.
10 #ifndef CPROVER_ANSI_C_ANSI_C_PARSER_H
11 #define CPROVER_ANSI_C_ANSI_C_PARSER_H
119 assert(declaration.
id()==ID_declaration);
141 lookup(base_name, identifier,
false,
true);
174 #endif // CPROVER_ANSI_C_ANSI_C_PARSER_H
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
void pragma_cprover_add_check(const irep_idt &name, bool enabled)
Adds a check to the CPROVER pragma stack.
void add_declarator(exprt &declaration, irept &declarator)
The type of an expression, extends irept.
Base class for all expressions.
configt::ansi_ct::flavourt modet
unsigned parenthesis_counter
void copy_item(const ansi_c_declarationt &declaration)
void new_scope(const std::string &prefix)
bool pragma_cprover_clash(const irep_idt &name, bool enabled)
Returns true iff the same check with polarity is already present at top of the stack.
ansi_c_id_classt lookup(const irep_idt &base_name, irep_idt &identifier, bool tag, bool label)
int yyansi_cerror(const std::string &error)
std::list< exprt > pragma_pack
bool ts_18661_3_Floatn_types
irep_idt lookup_label(const irep_idt base_name)
void pragma_cprover_pop()
Pops a level in the CPROVER pragma stack.
void set_pragma_cprover()
Tags source_location with the current CPROVER pragma stack.
static ansi_c_id_classt get_class(const typet &type)
std::list< scopet > scopest
virtual void clear() override
ansi_c_parsert ansi_c_parser
void ansi_c_scanner_init()
std::string string_literal
const irep_idt & id() const
std::list< std::map< const irep_idt, bool > > pragma_cprover_stack
void add_tag_with_body(irept &tag)
ansi_c_parse_treet parse_tree
const scopet & root_scope() const
bool pragma_cprover_empty()
True iff the CPROVER pragma stack is empty.
void pragma_cprover_push()
Pushes an empty level in the CPROVER pragma stack.
virtual bool parse() override
There are a large number of kinds of tree structured or tree-like data in CPROVER.
ansi_c_identifiert identifiert