cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
goto_cc_cmdline.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Command line interpretation for goto-cc
4
5
Author: Daniel Kroening
6
7
Date: April 2010
8
9
\*******************************************************************/
10
13
14
#ifndef CPROVER_GOTO_CC_GOTO_CC_CMDLINE_H
15
#define CPROVER_GOTO_CC_GOTO_CC_CMDLINE_H
16
17
#include <
util/cmdline.h
>
18
19
class
goto_cc_cmdlinet
:
public
cmdlinet
20
{
21
public
:
22
~goto_cc_cmdlinet
();
23
24
using
cmdlinet::parse
;
25
virtual
bool
parse
(
int
argc,
const
char
**argv)=0;
26
27
static
bool
in_list
(
const
char
*option,
const
char
**list);
28
29
// never fails, will add if not found
30
std::size_t
get_optnr
(
const
std::string &option);
31
33
void
set
(
const
std::string &opt,
const
char
*value)
override
34
{
35
set
(opt, std::string{value});
36
}
37
38
void
set
(
const
std::string &opt,
const
std::string &value)
override
39
{
40
std::size_t nr=
get_optnr
(opt);
41
options
[nr].isset=
true
;
42
options
[nr].values.push_back(value);
43
}
44
45
void
set
(
const
std::string &opt,
bool
value =
true
)
override
46
{
47
options
[
get_optnr
(opt)].isset = value;
48
}
49
50
// This lets you distinguish input file name arguments
51
// from others, but is otherwise identical to the
52
// original command line.
53
54
struct
argt
55
{
56
public
:
57
argt
():
is_infile_name
(false) { }
58
explicit
argt
(
const
std::string &_arg):
is_infile_name
(false),
arg
(_arg) { }
59
bool
is_infile_name
;
60
std::string
arg
;
61
};
62
63
typedef
std::list<argt>
parsed_argvt
;
64
parsed_argvt
parsed_argv
;
65
66
bool
have_infile_arg
()
const
;
67
68
std::string
stdin_file
;
69
70
protected
:
71
void
add_arg
(
const
std::string &arg)
72
{
73
parsed_argv
.push_back(
argt
(arg));
74
}
75
76
void
add_infile_arg
(
const
std::string &arg);
77
};
78
79
#endif
// CPROVER_GOTO_CC_GOTO_CC_CMDLINE_H
cmdlinet::cmdlinet
cmdlinet()
Definition
cmdline.cpp:16
cmdlinet::options
std::vector< optiont > options
Definition
cmdline.h:193
cmdlinet::parse
virtual bool parse(int argc, const char **argv, const char *optstring)
Parses a commandline according to a specification given in optstring.
Definition
cmdline.cpp:163
goto_cc_cmdlinet
Definition
goto_cc_cmdline.h:20
goto_cc_cmdlinet::set
void set(const std::string &opt, const char *value) override
Set option option to value.
Definition
goto_cc_cmdline.h:33
goto_cc_cmdlinet::set
void set(const std::string &opt, const std::string &value) override
Definition
goto_cc_cmdline.h:38
goto_cc_cmdlinet::parsed_argv
parsed_argvt parsed_argv
Definition
goto_cc_cmdline.h:64
goto_cc_cmdlinet::add_infile_arg
void add_infile_arg(const std::string &arg)
Definition
goto_cc_cmdline.cpp:102
goto_cc_cmdlinet::get_optnr
std::size_t get_optnr(const std::string &option)
Definition
goto_cc_cmdline.cpp:49
goto_cc_cmdlinet::stdin_file
std::string stdin_file
Definition
goto_cc_cmdline.h:68
goto_cc_cmdlinet::have_infile_arg
bool have_infile_arg() const
Definition
goto_cc_cmdline.cpp:121
goto_cc_cmdlinet::in_list
static bool in_list(const char *option, const char **list)
Definition
goto_cc_cmdline.cpp:38
goto_cc_cmdlinet::parsed_argvt
std::list< argt > parsed_argvt
Definition
goto_cc_cmdline.h:63
goto_cc_cmdlinet::parse
virtual bool parse(int argc, const char **argv)=0
goto_cc_cmdlinet::set
void set(const std::string &opt, bool value=true) override
Set option option to value, or true if the value is omitted.
Definition
goto_cc_cmdline.h:45
goto_cc_cmdlinet::add_arg
void add_arg(const std::string &arg)
Definition
goto_cc_cmdline.h:71
goto_cc_cmdlinet::~goto_cc_cmdlinet
~goto_cc_cmdlinet()
Definition
goto_cc_cmdline.cpp:25
cmdline.h
goto_cc_cmdlinet::argt
Definition
goto_cc_cmdline.h:55
goto_cc_cmdlinet::argt::is_infile_name
bool is_infile_name
Definition
goto_cc_cmdline.h:59
goto_cc_cmdlinet::argt::argt
argt()
Definition
goto_cc_cmdline.h:57
goto_cc_cmdlinet::argt::arg
std::string arg
Definition
goto_cc_cmdline.h:60
goto_cc_cmdlinet::argt::argt
argt(const std::string &_arg)
Definition
goto_cc_cmdline.h:58
goto-cc
goto_cc_cmdline.h
Generated by
1.17.0