@@ -14,15 +14,15 @@ CPROVER codebase.
14
14
15
15
See detailed documentation at \ref irept.
16
16
17
- [ irept] (\ref irept)s are generic tree nodes. You
18
- should think of each node as holding a single string ([ data] (\ref irept::data),
19
- actually an \ref irep_idt) and lots of child nodes, some of which are numbered
20
- ( [ sub ] (\ref irept::dt::sub)) and some of which are labelled, and the label
21
- can either start with a “\# ” ( [ comments ] (\ref irept::dt::comments)) or without
22
- one ( [ named_sub ] (\ref irept::dt::named_sub)). The meaning of the “\# ” is that
23
- this child shouldn't be counted when comparing two [ irept] (\ref irept)s for
24
- equality; this is usually used when making an advisory annotation which does
25
- not alter the semantics of the program.
17
+ [ irept] (\ref irept)s are generic tree nodes. You should think of each node
18
+ as holding a single string ([ data] (\ref irept::data), actually an \ref
19
+ irep_idt) and lots of child nodes, some of which are numbered ( [ sub ] (\ref
20
+ irept::dt::sub)) and some of which are labelled ( [ named_sub ] (\ref
21
+ irept::dt::named_sub)). The the label can either start with a “\# ” or
22
+ without one. The meaning of the “\# ” is that this child shouldn't be
23
+ considered when comparing two [ irept] (\ref irept)s for equality; this is
24
+ usually used when making an advisory annotation which does not alter the
25
+ semantics of the program.
26
26
27
27
They are used to represent many kinds of structured objects throughout the
28
28
CPROVER codebase, such as expressions, types and code. An \ref exprt represents
@@ -72,9 +72,8 @@ standard data structures as in irept.
72
72
73
73
\subsection irep_idt_section Strings: dstringt, the string_container and the ID_ *
74
74
75
- Within cbmc, strings are represented using \ref irep_idt, or \ref irep_namet
76
- for keys to [ named_sub] (\ref irept::dt::named_sub) or
77
- [ comments] (\ref irept::dt::comments). By default these are both
75
+ Within cbmc, strings are represented using \ref irep_idt or \ref irep_namet
76
+ for keys to [ named_sub] (\ref irept::dt::named_sub). By default these are both
78
77
typedefed to \ref dstringt. For debugging purposes you can set ` USE_STD_STRING ` ,
79
78
in which case they are both typedefed to ` std::string ` . You can also easily
80
79
convert an [ irep_idt] (\ref irep_idt) or [ irep_namet] (\ref irep_namet) to a
@@ -91,11 +90,10 @@ in `irep_ids.def` is `“IREP_ID_ONE(type)”`, so the string “type” has ind
91
90
You can refer to this \ref irep_idt as ` ID_type ` . The other kind of line you
92
91
see is \c "IREP_ID_TWO(C_source_location, #source_location)", which means the
93
92
\ref irep_idt for the string “\# source_location” can be referred to as
94
- ` ID_C_source_location ` . The “C” is for comment, meaning that it should be
95
- stored in the [ comments] (\ref irept::dt::comments). Any strings that need
96
- to be stored as [ irep_idt] (\ref irep_idt)s which aren't in ` irep_ids.def `
97
- are added to the end of the table when they are first encountered, and the
98
- same index is used for all instances.
93
+ ` ID_C_source_location ` . The “C” is for comment, meaning that it starts with
94
+ “\# ”. Any strings that need to be stored as [ irep_idt] (\ref irep_idt)s
95
+ which aren't in ` irep_ids.def ` are added to the end of the table when they
96
+ are first encountered, and the same index is used for all instances.
99
97
100
98
See documentation at \ref dstringt.
101
99
@@ -125,8 +123,8 @@ of size 2 (for the two arguments of minus).
125
123
126
124
Recall that every \ref irept has one piece of data of its own, i.e. its
127
125
[ id()] (\ref irept::id()), and all other information is in its
128
- [ named_sub] (\ref irept::dt::named_sub), [ comments ] (\ref irept::dt::comments)
129
- or [ sub ] (\ref irept::dt::sub). For [ exprt] (\ref exprt)s, the
126
+ [ named_sub] (\ref irept::dt::named_sub) or [ sub ] (\ref irept::dt::sub).
127
+ For [ exprt] (\ref exprt)s, the
130
128
[ id()] (\ref irept::id()) is used to specify why kind of \ref exprt this is,
131
129
so a \ref minus_exprt has ` ID_minus ` as its [ id()] (\ref irept::id()). This
132
130
means that a \ref minus_exprt can be passed wherever an \ref exprt is
0 commit comments