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>
8
10{
11public:
12 typedef enum
13 {
16 SIGNED_DEC, // d, i
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
29
39
48
50 {
51 }
53 {
54 }
55
57 std::list<flag_typet> flags;
61 irep_idt value; // for text and pattern matching
62};
63
64typedef std::list<format_tokent> format_token_listt;
65
67 const exprt &format_arg,
68 format_token_listt &token_list);
69
70#endif /*CPROVER_GOTO_PROGRAMS_FORMAT_STRINGS_H_*/
Definition bigint.hh:58
Definition expr.h:34
token_typet type
Definition format_strings.h:56
flag_typet
Definition format_strings.h:31
@ ZERO_PAD
Definition format_strings.h:33
@ SIGNED_SPACE
Definition format_strings.h:35
@ LEFT_ADJUST
Definition format_strings.h:34
@ ASTERISK
Definition format_strings.h:37
@ ALTERNATE
Definition format_strings.h:32
@ SIGN
Definition format_strings.h:36
token_typet
Definition format_strings.h:13
@ TEXT
Definition format_strings.h:15
@ STRING
Definition format_strings.h:25
@ DOUBLE_HEX
Definition format_strings.h:23
@ UNKNOWN
Definition format_strings.h:14
@ PERCENT
Definition format_strings.h:27
@ UNSIGNED_OCT
Definition format_strings.h:17
@ SIGNED_DEC
Definition format_strings.h:16
@ DOUBLE_G
Definition format_strings.h:22
@ UNSIGNED_HEX
Definition format_strings.h:19
@ CHAR
Definition format_strings.h:24
@ POINTER
Definition format_strings.h:26
@ DOUBLE_ENG
Definition format_strings.h:20
@ UNSIGNED_DEC
Definition format_strings.h:18
@ DOUBLE
Definition format_strings.h:21
BigInt field_width
Definition format_strings.h:58
format_tokent()
Definition format_strings.h:52
BigInt precision
Definition format_strings.h:59
length_modifierst length_modifier
Definition format_strings.h:60
format_tokent(token_typet _type)
Definition format_strings.h:49
length_modifierst
Definition format_strings.h:41
@ LEN_t
Definition format_strings.h:46
@ LEN_j
Definition format_strings.h:45
@ LEN_L
Definition format_strings.h:44
@ LEN_l
Definition format_strings.h:43
@ LEN_h
Definition format_strings.h:42
std::list< flag_typet > flags
Definition format_strings.h:57
irep_idt value
Definition format_strings.h:61
Definition irep_idt.h:12
std::list< format_tokent > format_token_listt
Definition format_strings.h:64
bool parse_format_string(const exprt &format_arg, format_token_listt &token_list)
Definition format_strings.cpp:178