LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
binder.hh
Go to the documentation of this file.
1
6
#ifndef OVERLOAD_BINDER_HH
7
# define OVERLOAD_BINDER_HH
8
9
# include <map>
10
# include <list>
11
# include <
bind/binder.hh
>
12
# include <
overload/over-table.hh
>
13
14
namespace
overload
15
{
16
18
typedef
std::map<ast::CallExp*,
19
std::list<ast::FunctionDec*>>
overfun_bindings_type
;
20
33
class
Binder
:
public
bind::Binder
34
{
35
public
:
37
typedef
bind::Binder
super_type
;
39
using
super_type::operator();
40
43
protected
:
44
virtual
void
scope_begin
()
override
;
45
virtual
void
scope_end
()
override
;
49
/* The visiting methods. */
50
public
:
52
virtual
void
operator()
(ast::CallExp& e)
override
;
53
55
void
visit_dec_header
(
ast::FunctionDec
& e);
57
virtual
void
operator()
(
ast::FunctionDecs
& e)
override
;
58
59
public
:
61
overfun_bindings_type
*
overfun_bindings_get
();
62
63
private
:
64
typedef
OverTable<ast::FunctionDec>
overtable_type
;
66
overtable_type
overfuns_
;
68
overfun_bindings_type
*
overfun_bindings_
=
new
overfun_bindings_type
();
69
};
70
71
}
// namespace overload
72
73
#endif // !OVERLOAD_BINDER_HH
overload
binder.hh
Generated on Wed Mar 5 2014 15:47:36 for LRDE Tiger Compiler by
1.8.1.2