ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
format_strings.h
Go to the documentation of this file.
1
#ifndef CPROVER_GOTO_PROGRAMS_FORMAT_STRINGS_H_
2
#define CPROVER_GOTO_PROGRAMS_FORMAT_STRINGS_H_
3
4
#include <list>
5
#include <string>
6
#include <
util/irep/expr.h
>
7
#include <
util/arith/mp_arith.h
>
8
9
class
format_tokent
10
{
11
public
:
12
typedef
enum
13
{
14
UNKNOWN
,
15
TEXT
,
16
SIGNED_DEC
,
// d, i
17
UNSIGNED_OCT
,
// o
18
UNSIGNED_DEC
,
// u
19
UNSIGNED_HEX
,
// x, X
20
DOUBLE_ENG
,
// e, E
21
DOUBLE
,
// f, F
22
DOUBLE_G
,
// g, G
23
DOUBLE_HEX
,
// a, A
24
CHAR
,
// c
25
STRING
,
// s
26
POINTER
,
// p
27
PERCENT
// %
28
}
token_typet
;
29
30
typedef
enum
31
{
32
ALTERNATE
,
33
ZERO_PAD
,
34
LEFT_ADJUST
,
35
SIGNED_SPACE
,
36
SIGN
,
37
ASTERISK
38
}
flag_typet
;
39
40
typedef
enum
41
{
42
LEN_h
,
43
LEN_l
,
44
LEN_L
,
45
LEN_j
,
46
LEN_t
47
}
length_modifierst
;
48
49
format_tokent
(
token_typet
_type) :
type
(_type)
50
{
51
}
52
format_tokent
() :
type
(
UNKNOWN
)
53
{
54
}
55
56
token_typet
type
;
57
std::list<flag_typet>
flags
;
58
BigInt
field_width
;
59
BigInt
precision
;
60
length_modifierst
length_modifier
;
61
irep_idt
value
;
// for text and pattern matching
62
};
63
64
typedef
std::list<format_tokent>
format_token_listt
;
65
66
bool
parse_format_string
(
67
const
exprt
&format_arg,
68
format_token_listt
&token_list);
69
70
#endif
/*CPROVER_GOTO_PROGRAMS_FORMAT_STRINGS_H_*/
BigInt
Definition
bigint.hh:58
exprt
Definition
expr.h:34
format_tokent::type
token_typet type
Definition
format_strings.h:56
format_tokent::flag_typet
flag_typet
Definition
format_strings.h:31
format_tokent::ZERO_PAD
@ ZERO_PAD
Definition
format_strings.h:33
format_tokent::SIGNED_SPACE
@ SIGNED_SPACE
Definition
format_strings.h:35
format_tokent::LEFT_ADJUST
@ LEFT_ADJUST
Definition
format_strings.h:34
format_tokent::ASTERISK
@ ASTERISK
Definition
format_strings.h:37
format_tokent::ALTERNATE
@ ALTERNATE
Definition
format_strings.h:32
format_tokent::SIGN
@ SIGN
Definition
format_strings.h:36
format_tokent::token_typet
token_typet
Definition
format_strings.h:13
format_tokent::TEXT
@ TEXT
Definition
format_strings.h:15
format_tokent::STRING
@ STRING
Definition
format_strings.h:25
format_tokent::DOUBLE_HEX
@ DOUBLE_HEX
Definition
format_strings.h:23
format_tokent::UNKNOWN
@ UNKNOWN
Definition
format_strings.h:14
format_tokent::PERCENT
@ PERCENT
Definition
format_strings.h:27
format_tokent::UNSIGNED_OCT
@ UNSIGNED_OCT
Definition
format_strings.h:17
format_tokent::SIGNED_DEC
@ SIGNED_DEC
Definition
format_strings.h:16
format_tokent::DOUBLE_G
@ DOUBLE_G
Definition
format_strings.h:22
format_tokent::UNSIGNED_HEX
@ UNSIGNED_HEX
Definition
format_strings.h:19
format_tokent::CHAR
@ CHAR
Definition
format_strings.h:24
format_tokent::POINTER
@ POINTER
Definition
format_strings.h:26
format_tokent::DOUBLE_ENG
@ DOUBLE_ENG
Definition
format_strings.h:20
format_tokent::UNSIGNED_DEC
@ UNSIGNED_DEC
Definition
format_strings.h:18
format_tokent::DOUBLE
@ DOUBLE
Definition
format_strings.h:21
format_tokent::field_width
BigInt field_width
Definition
format_strings.h:58
format_tokent::format_tokent
format_tokent()
Definition
format_strings.h:52
format_tokent::precision
BigInt precision
Definition
format_strings.h:59
format_tokent::length_modifier
length_modifierst length_modifier
Definition
format_strings.h:60
format_tokent::format_tokent
format_tokent(token_typet _type)
Definition
format_strings.h:49
format_tokent::length_modifierst
length_modifierst
Definition
format_strings.h:41
format_tokent::LEN_t
@ LEN_t
Definition
format_strings.h:46
format_tokent::LEN_j
@ LEN_j
Definition
format_strings.h:45
format_tokent::LEN_L
@ LEN_L
Definition
format_strings.h:44
format_tokent::LEN_l
@ LEN_l
Definition
format_strings.h:43
format_tokent::LEN_h
@ LEN_h
Definition
format_strings.h:42
format_tokent::flags
std::list< flag_typet > flags
Definition
format_strings.h:57
format_tokent::value
irep_idt value
Definition
format_strings.h:61
irep_idt
Definition
irep_idt.h:12
format_token_listt
std::list< format_tokent > format_token_listt
Definition
format_strings.h:64
parse_format_string
bool parse_format_string(const exprt &format_arg, format_token_listt &token_list)
Definition
format_strings.cpp:178
mp_arith.h
expr.h
src
goto-programs
format_strings.h
Generated by
1.15.0