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
basic-block.hh
Go to the documentation of this file.
1
6
#ifndef CANON_BASIC_BLOCK_HH
7
# define CANON_BASIC_BLOCK_HH
8
9
# include <iterator>
10
# include <algorithm>
11
# include <iosfwd>
12
13
# include <
temp/fwd.hh
>
14
# include <
tree/fwd.hh
>
15
# include <
temp/label.hh
>
16
17
namespace
canon
18
{
19
26
class
BasicBlock
27
{
28
public
:
29
typedef
tree::rTree
rTree
;
30
typedef
tree::tree_list_type
tree_list_type
;
31
33
BasicBlock
(tree_list_type::iterator begin, tree_list_type::iterator end);
34
36
const
BasicBlock
*
push_back
(
const
rTree
& tree);
37
39
temp::Label
label_in_get
()
const
;
40
42
temp::label_list_type
labels_out_get
()
const
;
43
45
tree_list_type
&
trees_get
();
46
48
std::ostream&
dump
(std::ostream& ostr)
const
;
49
50
private
:
52
tree_list_type
trees_
;
53
};
54
56
std::ostream&
57
operator<<
(std::ostream& ostr,
const
BasicBlock
& block);
58
59
}
60
61
# include <
canon/basic-block.hxx
>
62
63
#endif // !CANON_BASIC_BLOCK_HH
canon
basic-block.hh
Generated on Wed Mar 5 2014 15:47:36 for LRDE Tiger Compiler by
1.8.1.2