cprover
Loading...
Searching...
No Matches
ansi_c_typecheck.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: ANSI-C Language Type Checking
4
5Author: 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
18
20 ansi_c_parse_treet &parse_tree,
21 symbol_table_baset &symbol_table,
22 const std::string &module,
23 message_handlert &message_handler);
24
26 exprt &expr,
27 message_handlert &message_handler,
28 const namespacet &ns);
29
31{
32public:
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
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)
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
62protected:
64};
65
66#endif // CPROVER_ANSI_C_ANSI_C_TYPECHECK_H
bool ansi_c_typecheck(ansi_c_parse_treet &parse_tree, symbol_table_baset &symbol_table, const std::string &module, message_handlert &message_handler)
ANSI-C Language Type Checking.
ansi_c_parse_treet & parse_tree
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)
virtual ~ansi_c_typecheckt()
virtual void typecheck()
ansi_c_typecheckt(ansi_c_parse_treet &_parse_tree, symbol_table_baset &_symbol_table, const std::string &_module, message_handlert &_message_handler)
Base class for all expressions.
Definition expr.h:56
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91
The symbol table base class interface.