10 #ifndef CPROVER_ANSI_C_ANSI_C_PARSER_H 11 #define CPROVER_ANSI_C_ANSI_C_PARSER_H 83 return scopes.front();
88 return scopes.front();
98 assert(!scopes.empty());
112 assert(declaration.
id()==ID_declaration);
113 parse_tree.
items.push_back(declaration);
119 scopes.push_back(
scopet());
120 scopes.back().prefix=current.
prefix+prefix;
134 lookup(base_name, identifier,
false,
true);
144 #endif // CPROVER_ANSI_C_ANSI_C_PARSER_H The type of an expression.
static ansi_c_id_classt get_class(const typet &type)
ansi_c_parse_treet parse_tree
std::string string_literal
void add_tag_with_body(irept &tag)
ansi_c_identifiert identifiert
const scopet & root_scope() const
const irep_idt & id() const
virtual bool parse() override
void add_declarator(exprt &declaration, irept &declarator)
Base class for tree-like data structures with sharing.
void copy_item(const ansi_c_declarationt &declaration)
void new_scope(const std::string &prefix)
Base class for all expressions.
std::list< exprt > pragma_pack
unsigned parenthesis_counter
configt::ansi_ct::flavourt modet
irep_idt lookup_label(const irep_idt base_name)
std::list< scopet > scopest
ansi_c_parsert ansi_c_parser
virtual void clear() override
void ansi_c_scanner_init()
int yyansi_cerror(const std::string &error)
ansi_c_id_classt lookup(const irep_idt &base_name, irep_idt &identifier, bool tag, bool label)