10 #ifndef CPROVER_ANSI_C_ANSI_C_PARSER_H
11 #define CPROVER_ANSI_C_ANSI_C_PARSER_H
123 assert(declaration.
id()==ID_declaration);
145 lookup(base_name, identifier,
false,
true);
154 for(
const auto &pragma : pragma_set)
int yyansi_cerror(const std::string &error)
ansi_c_parsert ansi_c_parser
void ansi_c_scanner_init()
void set_pragma_cprover()
std::list< exprt > pragma_pack
void new_scope(const std::string &prefix)
bool ts_18661_3_Floatn_types
ansi_c_identifiert identifiert
void add_declarator(exprt &declaration, irept &declarator)
std::list< std::set< irep_idt > > pragma_cprover
ansi_c_parse_treet parse_tree
unsigned parenthesis_counter
configt::ansi_ct::flavourt modet
void add_tag_with_body(irept &tag)
std::list< scopet > scopest
static ansi_c_id_classt get_class(const typet &type)
virtual void clear() override
ansi_c_id_classt lookup(const irep_idt &base_name, irep_idt &identifier, bool tag, bool label)
void copy_item(const ansi_c_declarationt &declaration)
virtual bool parse() override
std::string string_literal
irep_idt lookup_label(const irep_idt base_name)
const scopet & root_scope() const
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Base class for all expressions.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
const irep_idt & id() const
void remove(const irep_namet &name)
source_locationt source_location
void add_pragma(const irep_idt &pragma)
The type of an expression, extends irept.