Peano
Loading...
Searching...
No Matches
Printer.py
Go to the documentation of this file.
1from abc import ABC, abstractmethod
2import exahype2.dslhype.SyntaxTree as SyntaxTree
3
4class Printer(ABC):
5 @abstractmethod
6 def print_function_definition(self, function_definition: SyntaxTree.FunctionDefinition, indent_level = 0):
7 pass
8
9 @abstractmethod
10 def print_function_declaration(self, function_definition: SyntaxTree.FunctionDefinition, indent_level=0):
11 pass
12
13 @abstractmethod
14 def print_function_definition_with_timer(self, function_definition: SyntaxTree.FunctionDefinition, indent_level=0):
15 pass
16
17 @abstractmethod
18 def print_function_declaration_with_timer(self, function_definition: SyntaxTree.FunctionDefinition, indent_level=0):
19 pass
20
21 @abstractmethod
22 def print_argument(self, argument: SyntaxTree.Argument, indent_level=0):
23 pass
24
25 @abstractmethod
26 def print_name(self, name: SyntaxTree.Name, indent_level=0):
27 pass
28
29 @abstractmethod
30 def print_if(self, if_statement: SyntaxTree.If, indent_level=0):
31 pass
32
33 @abstractmethod
34 def print_for(self, for_statement: SyntaxTree.For, indent_level = 0):
35 pass
36
37 @abstractmethod
38 def print_comment(self, comment: SyntaxTree.Comment, indent_level=0):
39 pass
40
41 @abstractmethod
42 def print_function_call(self, function_call: SyntaxTree.FunctionCall, indent_level=0):
43 pass
44
45 @abstractmethod
46 def print_max(self, max: SyntaxTree.Max, indent_level=0):
47 pass
48
49 @abstractmethod
50 def print_memory_allocation(self, memory_allocation: SyntaxTree.MemoryAllocation, indent_level=0):
51 pass
52
53 @abstractmethod
54 def print_memory_deallocation(self, memory_deallocation: SyntaxTree.MemoryDeallocation, indent_level=0):
55 pass
56
57 @abstractmethod
58 def print_assignment(self, assignment: SyntaxTree.Assignment, indent_level = 0):
59 pass
60
61 @abstractmethod
62 def print_construction(self, construction: SyntaxTree.Construction, indent_level=0):
63 pass
64
65 @abstractmethod
66 def print_data_block_construction_from_existing(self, construction: SyntaxTree.DataBlockConstructionFromExisting, indent_level=0):
67 pass
68
69 @abstractmethod
70 def print_data_block_construction_from_operation(self, construction: SyntaxTree.DataBlockConstructionFromOperation, indent_level=0):
71 pass
72
73 @abstractmethod
74 def print_data_block_construction_from_function(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
75 pass
76
77 @abstractmethod
78 def print_data_block_construction_from_matrix_vector_product(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
79 pass
80
81 @abstractmethod
82 def print_data_block_construction_from_dot_product(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
83 pass
84
85 @abstractmethod
86 def print_diagonal_matrix(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
87 pass
88
89 @abstractmethod
90 def print_matrix(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
91 pass
92
93 @abstractmethod
94 def print_diagonal_matrix_construction_from_kronecker_product(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
95 pass
96
97 @abstractmethod
98 def print_diagonal_matrix_construction_from_value(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
99 pass
100
101 @abstractmethod
102 def print_matrix_construction_from_kronecker_product(self, construction: SyntaxTree.DataBlockConstructionFromFunction, indent_level=0):
103 pass
104
105 @abstractmethod
106 def print_data_block_assignment(self, assignment: SyntaxTree.DataBlockAssignment, indent_level=0):
107 pass
108
109 @abstractmethod
110 def print_integer(self, integer: SyntaxTree.Integer, indent_level = 0):
111 pass
112
113 @abstractmethod
114 def print_boolean(self, boolean: SyntaxTree.Boolean, indent_level = 0):
115 pass
116
117 @abstractmethod
118 def print_string(self, string: SyntaxTree.String, indent_level = 0):
119 pass
120
121 @abstractmethod
122 def print_float(self, float: SyntaxTree.Float, indent_level = 0):
123 pass
124
125 @abstractmethod
126 def print_data_block(self, data_block: SyntaxTree.DataBlock, indent_level=0):
127 pass
128
129 @abstractmethod
130 def print_subscript(self, subscript: SyntaxTree.Subscript, indent_level=0):
131 pass
132
133 @abstractmethod
134 def print_reference(self, reference: SyntaxTree.Reference, indent_level=0):
135 pass
136
137 @abstractmethod
138 def print_vector(self, vector: SyntaxTree.Vector, indent_level=0):
139 pass
140
141 @abstractmethod
142 def print_vector_index(self, vector_index: SyntaxTree.VectorIndex, indent_level=0):
143 pass
144
145 @abstractmethod
146 def print_comparison(self, comparison: SyntaxTree.Comparison, indent_level=0):
147 pass
148
149 @abstractmethod
150 def print_binary_operation(self, binary_operation: SyntaxTree.BinaryOperation, indent_level=0):
151 pass
152
153 @abstractmethod
154 def print_unary_operation(self, unary_operation: SyntaxTree.UnaryOperation, indent_level=0):
155 pass
156
157 @abstractmethod
158 def print_data_block_unary_max(self, unary_max: SyntaxTree.DataBlockUnaryMax, indent_level=0):
159 pass
160
161 @abstractmethod
162 def print_custom_type(self, type: SyntaxTree.TCustom, indent_level=0):
163 pass
164
165 @abstractmethod
166 def print_void_type(self, type: SyntaxTree.TVoid, indent_level=0):
167 pass
168
169 @abstractmethod
170 def print_integer_type(self, type: SyntaxTree.TInteger, indent_level=0):
171 pass
172
173 @abstractmethod
174 def print_long_type(self, type: SyntaxTree.TLong, indent_level=0):
175 pass
176
177 @abstractmethod
178 def print_boolean_type(self, type: SyntaxTree.TBoolean, indent_level=0):
179 pass
180
181 @abstractmethod
182 def print_float_type(self, type: SyntaxTree.TFloat, indent_level=0):
183 pass
184
185 @abstractmethod
186 def print_string_type(self, type: SyntaxTree.TString, indent_level=0):
187 pass
188
189 @abstractmethod
190 def print_data_block_type(self, type: SyntaxTree.TDataBlock, indent_level=0):
191 pass
192
193 def print_vector_type(self, type: SyntaxTree.TVector, indent_level=0):
194 pass
195#
196# @abstractmethod
197# def print_matrix_type(self, type: SyntaxTree.TMatrix, indent_level=0):
198# pass
199#
200# @abstractmethod
201# def print_diagonal_matrix_type(self, type: SyntaxTree.TDiagonalMatrix, indent_level=0):
202# pass
203
204 @abstractmethod
205 def print_nested_memref_type(self, type: SyntaxTree.TNestedMemref, indent_level=0):
206 pass
207
208 @abstractmethod
209 def print_simple_memref_type(self, type: SyntaxTree.TSimpleMemref, indent_level=0):
210 pass
211
212 @abstractmethod
213 def print_function_type(self, type: SyntaxTree.TFunctionType, indent_level=0):
214 pass
print_comment(self, SyntaxTree.Comment comment, indent_level=0)
Definition Printer.py:38
print_function_declaration(self, SyntaxTree.FunctionDefinition function_definition, indent_level=0)
Definition Printer.py:10
print_long_type(self, SyntaxTree.TLong type, indent_level=0)
Definition Printer.py:174
print_max(self, SyntaxTree.Max max, indent_level=0)
Definition Printer.py:46
print_matrix_construction_from_kronecker_product(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:102
print_vector(self, SyntaxTree.Vector vector, indent_level=0)
Definition Printer.py:138
print_simple_memref_type(self, SyntaxTree.TSimpleMemref type, indent_level=0)
Definition Printer.py:209
print_memory_allocation(self, SyntaxTree.MemoryAllocation memory_allocation, indent_level=0)
Definition Printer.py:50
print_integer(self, SyntaxTree.Integer integer, indent_level=0)
Definition Printer.py:110
print_integer_type(self, SyntaxTree.TInteger type, indent_level=0)
Definition Printer.py:170
print_nested_memref_type(self, SyntaxTree.TNestedMemref type, indent_level=0)
Definition Printer.py:205
print_boolean(self, SyntaxTree.Boolean boolean, indent_level=0)
Definition Printer.py:114
print_argument(self, SyntaxTree.Argument argument, indent_level=0)
Definition Printer.py:22
print_data_block_construction_from_dot_product(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:82
print_diagonal_matrix_construction_from_value(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:98
print_data_block_construction_from_operation(self, SyntaxTree.DataBlockConstructionFromOperation construction, indent_level=0)
Definition Printer.py:70
print_string(self, SyntaxTree.String string, indent_level=0)
Definition Printer.py:118
print_diagonal_matrix_construction_from_kronecker_product(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:94
print_data_block_unary_max(self, SyntaxTree.DataBlockUnaryMax unary_max, indent_level=0)
Definition Printer.py:158
print_reference(self, SyntaxTree.Reference reference, indent_level=0)
Definition Printer.py:134
print_custom_type(self, SyntaxTree.TCustom type, indent_level=0)
Definition Printer.py:162
print_data_block_type(self, SyntaxTree.TDataBlock type, indent_level=0)
Definition Printer.py:190
print_binary_operation(self, SyntaxTree.BinaryOperation binary_operation, indent_level=0)
Definition Printer.py:150
print_memory_deallocation(self, SyntaxTree.MemoryDeallocation memory_deallocation, indent_level=0)
Definition Printer.py:54
print_data_block_construction_from_function(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:74
print_comparison(self, SyntaxTree.Comparison comparison, indent_level=0)
Definition Printer.py:146
print_boolean_type(self, SyntaxTree.TBoolean type, indent_level=0)
Definition Printer.py:178
print_void_type(self, SyntaxTree.TVoid type, indent_level=0)
Definition Printer.py:166
print_name(self, SyntaxTree.Name name, indent_level=0)
Definition Printer.py:26
print_diagonal_matrix(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:86
print_float_type(self, SyntaxTree.TFloat type, indent_level=0)
Definition Printer.py:182
print_construction(self, SyntaxTree.Construction construction, indent_level=0)
Definition Printer.py:62
print_function_call(self, SyntaxTree.FunctionCall function_call, indent_level=0)
Definition Printer.py:42
print_unary_operation(self, SyntaxTree.UnaryOperation unary_operation, indent_level=0)
Definition Printer.py:154
print_data_block_assignment(self, SyntaxTree.DataBlockAssignment assignment, indent_level=0)
Definition Printer.py:106
print_matrix(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:90
print_float(self, SyntaxTree.Float float, indent_level=0)
Definition Printer.py:122
print_function_declaration_with_timer(self, SyntaxTree.FunctionDefinition function_definition, indent_level=0)
Definition Printer.py:18
print_vector_index(self, SyntaxTree.VectorIndex vector_index, indent_level=0)
Definition Printer.py:142
print_subscript(self, SyntaxTree.Subscript subscript, indent_level=0)
Definition Printer.py:130
print_string_type(self, SyntaxTree.TString type, indent_level=0)
Definition Printer.py:186
print_data_block_construction_from_matrix_vector_product(self, SyntaxTree.DataBlockConstructionFromFunction construction, indent_level=0)
Definition Printer.py:78
print_data_block(self, SyntaxTree.DataBlock data_block, indent_level=0)
Definition Printer.py:126
print_assignment(self, SyntaxTree.Assignment assignment, indent_level=0)
Definition Printer.py:58
print_data_block_construction_from_existing(self, SyntaxTree.DataBlockConstructionFromExisting construction, indent_level=0)
Definition Printer.py:66
print_if(self, SyntaxTree.If if_statement, indent_level=0)
Definition Printer.py:30
print_function_definition_with_timer(self, SyntaxTree.FunctionDefinition function_definition, indent_level=0)
Definition Printer.py:14
print_for(self, SyntaxTree.For for_statement, indent_level=0)
Definition Printer.py:34
print_function_definition(self, SyntaxTree.FunctionDefinition function_definition, indent_level=0)
Definition Printer.py:6
print_function_type(self, SyntaxTree.TFunctionType type, indent_level=0)
Definition Printer.py:213
print_vector_type(self, SyntaxTree.TVector type, indent_level=0)
Definition Printer.py:193