|
cprover
|
#include <ansi_c_parser.h>
Inheritance diagram for ansi_c_parsert:
Collaboration diagram for ansi_c_parsert:Public Types | |
| enum | decl_typet { decl_typet::TAG, decl_typet::MEMBER, decl_typet::PARAMETER, decl_typet::OTHER } |
| typedef configt::ansi_ct::flavourt | modet |
| typedef ansi_c_identifiert | identifiert |
| typedef ansi_c_scopet | scopet |
| typedef std::list< scopet > | scopest |
Public Member Functions | |
| ansi_c_parsert () | |
| virtual bool | parse () override |
| virtual void | clear () override |
| scopet & | root_scope () |
| const scopet & | root_scope () const |
| void | pop_scope () |
| scopet & | current_scope () |
| void | add_declarator (exprt &declaration, irept &declarator) |
| void | add_tag_with_body (irept &tag) |
| void | copy_item (const ansi_c_declarationt &declaration) |
| void | new_scope (const std::string &prefix) |
| ansi_c_id_classt | lookup (const irep_idt &base_name, irep_idt &identifier, bool tag, bool label) |
| irep_idt | lookup_label (const irep_idt base_name) |
Public Member Functions inherited from parsert | |
| parsert () | |
| virtual | ~parsert () |
| bool | read (char &ch) |
| bool | eof () |
| void | parse_error (const std::string &message, const std::string &before) |
| void | inc_line_no () |
| void | set_line_no (unsigned _line_no) |
| void | set_file (const irep_idt &file) |
| irep_idt | get_file () const |
| unsigned | get_line_no () const |
| unsigned | get_column () const |
| void | set_column (unsigned _column) |
| void | set_source_location (exprt &e) |
| void | set_function (const irep_idt &function) |
| void | advance_column (unsigned token_width) |
Static Public Member Functions | |
| static ansi_c_id_classt | get_class (const typet &type) |
Public Attributes | |
| ansi_c_parse_treet | parse_tree |
| bool | tag_following |
| bool | asm_block_following |
| unsigned | parenthesis_counter |
| std::string | string_literal |
| std::list< exprt > | pragma_pack |
| modet | mode |
| bool | cpp98 |
| bool | cpp11 |
| bool | for_has_scope |
| bool | ts_18661_3_Floatn_types |
| bool | Float128_type |
| scopest | scopes |
Public Attributes inherited from parsert | |
| std::istream * | in |
| std::string | this_line |
| std::string | last_line |
| std::vector< exprt > | stack |
Additional Inherited Members | |
Protected Attributes inherited from parsert | |
| source_locationt | source_location |
| unsigned | line_no |
| unsigned | previous_line_no |
| unsigned | column |
Definition at line 26 of file ansi_c_parser.h.
Definition at line 88 of file ansi_c_parser.h.
Definition at line 73 of file ansi_c_parser.h.
| typedef std::list<scopet> ansi_c_parsert::scopest |
Definition at line 91 of file ansi_c_parser.h.
| typedef ansi_c_scopet ansi_c_parsert::scopet |
Definition at line 89 of file ansi_c_parser.h.
|
strong |
| Enumerator | |
|---|---|
| TAG | |
| MEMBER | |
| PARAMETER | |
| OTHER | |
Definition at line 115 of file ansi_c_parser.h.
|
inline |
Definition at line 31 of file ansi_c_parser.h.
Definition at line 84 of file ansi_c_parser.cpp.
| void ansi_c_parsert::add_tag_with_body | ( | irept & | tag | ) |
Definition at line 58 of file ansi_c_parser.cpp.
|
inlineoverridevirtual |
Reimplemented from parsert.
Definition at line 49 of file ansi_c_parser.h.
|
inline |
Definition at line 123 of file ansi_c_parser.h.
|
inline |
Definition at line 109 of file ansi_c_parser.h.
|
static |
Definition at line 157 of file ansi_c_parser.cpp.
| ansi_c_id_classt ansi_c_parsert::lookup | ( | const irep_idt & | base_name, |
| irep_idt & | identifier, | ||
| bool | tag, | ||
| bool | label | ||
| ) |
Definition at line 15 of file ansi_c_parser.cpp.
Definition at line 144 of file ansi_c_parser.h.
|
inline |
Definition at line 129 of file ansi_c_parser.h.
|
inlineoverridevirtual |
Implements parsert.
Definition at line 44 of file ansi_c_parser.h.
|
inline |
Definition at line 104 of file ansi_c_parser.h.
|
inline |
Definition at line 94 of file ansi_c_parser.h.
|
inline |
Definition at line 99 of file ansi_c_parser.h.
| bool ansi_c_parsert::asm_block_following |
Definition at line 68 of file ansi_c_parser.h.
| bool ansi_c_parsert::cpp11 |
Definition at line 77 of file ansi_c_parser.h.
| bool ansi_c_parsert::cpp98 |
Definition at line 77 of file ansi_c_parser.h.
| bool ansi_c_parsert::Float128_type |
Definition at line 86 of file ansi_c_parser.h.
| bool ansi_c_parsert::for_has_scope |
Definition at line 80 of file ansi_c_parser.h.
| modet ansi_c_parsert::mode |
Definition at line 74 of file ansi_c_parser.h.
| unsigned ansi_c_parsert::parenthesis_counter |
Definition at line 69 of file ansi_c_parser.h.
| ansi_c_parse_treet ansi_c_parsert::parse_tree |
Definition at line 29 of file ansi_c_parser.h.
| std::list<exprt> ansi_c_parsert::pragma_pack |
Definition at line 71 of file ansi_c_parser.h.
| scopest ansi_c_parsert::scopes |
Definition at line 92 of file ansi_c_parser.h.
| std::string ansi_c_parsert::string_literal |
Definition at line 70 of file ansi_c_parser.h.
| bool ansi_c_parsert::tag_following |
Definition at line 67 of file ansi_c_parser.h.
| bool ansi_c_parsert::ts_18661_3_Floatn_types |
Definition at line 83 of file ansi_c_parser.h.