cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
ansi_c_typecheck.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: ANSI-C Language Type Checking
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_ANSI_C_ANSI_C_TYPECHECK_H
13
#define CPROVER_ANSI_C_ANSI_C_TYPECHECK_H
14
15
#include "
c_typecheck_base.h
"
16
17
class
ansi_c_parse_treet
;
18
19
bool
ansi_c_typecheck
(
20
ansi_c_parse_treet
&parse_tree,
21
symbol_table_baset
&symbol_table,
22
const
std::string &module,
23
message_handlert
&message_handler);
24
25
bool
ansi_c_typecheck
(
26
exprt
&expr,
27
message_handlert
&message_handler,
28
const
namespacet
&ns);
29
30
class
ansi_c_typecheckt
:
public
c_typecheck_baset
31
{
32
public
:
33
ansi_c_typecheckt
(
34
ansi_c_parse_treet
&_parse_tree,
35
symbol_table_baset
&_symbol_table,
36
const
std::string &_module,
37
message_handlert
&_message_handler)
38
:
c_typecheck_baset
(_symbol_table, _module, _message_handler),
39
parse_tree
(_parse_tree)
40
{
41
}
42
43
ansi_c_typecheckt
(
44
ansi_c_parse_treet
&_parse_tree,
45
symbol_table_baset
&_symbol_table1,
46
const
symbol_table_baset
&_symbol_table2,
47
const
std::string &_module,
48
message_handlert
&_message_handler)
49
:
c_typecheck_baset
(
50
_symbol_table1,
51
_symbol_table2,
52
_module,
53
_message_handler),
54
parse_tree
(_parse_tree)
55
{
56
}
57
58
virtual
~ansi_c_typecheckt
() { }
59
60
virtual
void
typecheck
();
61
62
protected
:
63
ansi_c_parse_treet
&
parse_tree
;
64
};
65
66
#endif
// CPROVER_ANSI_C_ANSI_C_TYPECHECK_H
ansi_c_typecheck
bool ansi_c_typecheck(ansi_c_parse_treet &parse_tree, symbol_table_baset &symbol_table, const std::string &module, message_handlert &message_handler)
Definition
ansi_c_typecheck.cpp:26
c_typecheck_base.h
ANSI-C Language Type Checking.
ansi_c_parse_treet
Definition
ansi_c_parse_tree.h:18
ansi_c_typecheckt::parse_tree
ansi_c_parse_treet & parse_tree
Definition
ansi_c_typecheck.h:63
ansi_c_typecheckt::ansi_c_typecheckt
ansi_c_typecheckt(ansi_c_parse_treet &_parse_tree, symbol_table_baset &_symbol_table1, const symbol_table_baset &_symbol_table2, const std::string &_module, message_handlert &_message_handler)
Definition
ansi_c_typecheck.h:43
ansi_c_typecheckt::~ansi_c_typecheckt
virtual ~ansi_c_typecheckt()
Definition
ansi_c_typecheck.h:58
ansi_c_typecheckt::typecheck
virtual void typecheck()
Definition
ansi_c_typecheck.cpp:18
ansi_c_typecheckt::ansi_c_typecheckt
ansi_c_typecheckt(ansi_c_parse_treet &_parse_tree, symbol_table_baset &_symbol_table, const std::string &_module, message_handlert &_message_handler)
Definition
ansi_c_typecheck.h:33
c_typecheck_baset::c_typecheck_baset
c_typecheck_baset(symbol_table_baset &_symbol_table, const std::string &_module, message_handlert &_message_handler)
Definition
c_typecheck_base.h:33
exprt
Base class for all expressions.
Definition
expr.h:57
message_handlert
Definition
message.h:27
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
symbol_table_baset
The symbol table base class interface.
Definition
symbol_table_base.h:23
ansi-c
ansi_c_typecheck.h
Generated by
1.17.0