Revision 20d354f4
Added by Arnaud Dieumegard over 3 years ago
src/backends/VHDL/vhdl_ast_fold_sensitivity.ml  

15  15 
let _ = fun (_ : vhdl_signal_attributes_t) > () 
16  16 
let _ = fun (_ : vhdl_string_attributes_t) > () 
17  17 
let _ = fun (_ : vhdl_suffix_selection_t) > () 
18 
let _ = fun (_ : 'basetype vhdl_type_attributes_t) > ()


18 
(*let _ = fun (_ : 'basetype vhdl_type_attributes_t) > () *)


19  19 
let _ = fun (_ : vhdl_parameter_t) > () 
20  20 
let _ = fun (_ : vhdl_subprogram_spec_t) > () 
21  21 
let _ = fun (_ : vhdl_waveform_element_t) > () 
...  ...  
71  71  
72  72 
method vhdl_element_declaration_t : 
73  73 
vhdl_element_declaration_t > 'acc > 'acc= 
74 
fun { names; definition } > 

74 
fun { ed_names; definition } >


75  75 
fun acc > acc 
76  76  
77  77 
method vhdl_subtype_indication_t : 
78  78 
vhdl_subtype_indication_t > 'acc > 'acc= 
79 
fun { name; functionName; const } > 

79 
fun { si_name; functionName; const } >


80  80 
fun acc > 
81 
let acc = self#vhdl_name_t name acc in 

81 
let acc = self#vhdl_name_t si_name acc in


82  82 
let acc = self#vhdl_name_t functionName acc in 
83  83 
let acc = self#vhdl_constraint_t const acc in acc 
84  84  
...  ...  
210  210 
 SuffixRange (a,b) > 
211  211 
let acc = self#int a acc in let acc = self#int b acc in acc 
212  212  
213 
method vhdl_type_attributes_t : 

213 
(* method vhdl_type_attributes_t :


214  214 
'a . ('a > 'acc > 'acc) > 'a vhdl_type_attributes_t > 'acc > 'acc= 
215  215 
fun _basetype > 
216  216 
fun x > 
...  ...  
225  225 
let acc = _basetype arg acc in acc 
226  226 
 TAttStringArg { id; arg } > 
227  227 
let acc = self#string id acc in 
228 
let acc = self#string arg acc in acc 

228 
let acc = self#string arg acc in acc *)


229  229  
230  230 
method vhdl_parameter_t : vhdl_parameter_t > 'acc > 'acc= 
231 
fun { names; mode; typ; init_val } >


231 
fun { parameter_names; parameter_mode; parameter_typ; init_val } >


232  232 
fun acc > 
233 
let acc = self#list self#vhdl_name_t names acc in 

234 
let acc = self#list self#string mode acc in 

235 
let acc = self#vhdl_subtype_indication_t typ acc in 

233 
let acc = self#list self#vhdl_name_t parameter_names acc in


234 
let acc = self#list self#string parameter_mode acc in


235 
let acc = self#vhdl_subtype_indication_t parameter_typ acc in


236  236 
let acc = self#option self#vhdl_cst_val_t init_val acc in acc 
237  237  
238  238 
method vhdl_subprogram_spec_t : vhdl_subprogram_spec_t > 'acc > 'acc= 
239 
fun { name; subprogram_type; typeMark; parameters; isPure } > 

239 
fun { ss_name; subprogram_type; typeMark; parameters; isPure } >


240  240 
fun acc > 
241 
let acc = self#string name acc in 

241 
let acc = self#string ss_name acc in


242  242 
let acc = self#string subprogram_type acc in 
243  243 
let acc = self#vhdl_name_t typeMark acc in 
244  244 
let acc = self#list self#vhdl_parameter_t parameters acc in 
245  245 
let acc = self#bool isPure acc in acc 
246  246  
247  247 
method vhdl_waveform_element_t : vhdl_waveform_element_t > 'acc > 'acc= 
248 
fun { value; delay } > 

248 
fun { value; we_delay } >


249  249 
fun acc > 
250  250 
let acc = self#option self#vhdl_expr_t value acc in 
251 
let acc = self#option self#vhdl_expr_t delay acc in acc 

251 
let acc = self#option self#vhdl_expr_t we_delay acc in acc


252  252  
253  253 
method vhdl_sequential_stmt_t : vhdl_sequential_stmt_t > 'acc > 'acc= 
254  254 
fun x > 
255  255 
fun acc > 
256  256 
match x with 
257 
 VarAssign { label; lhs; rhs } > 

257 
 VarAssign { label; seqs_lhs; rhs } >


258  258 
let acc = self#vhdl_expr_t rhs acc in acc 
259 
 SigSeqAssign { label; lhs; rhs } > 

259 
 SigSeqAssign { label; seqs_lhs; rhs } >


260  260 
let acc = self#list self#vhdl_waveform_element_t rhs acc in 
261  261 
acc 
262  262 
 If { label; if_cases; default } > 
...  ...  
300  300 
fun _ > fun acc > acc 
301  301  
302  302 
method vhdl_port_t : vhdl_port_t > 'acc > 'acc= 
303 
fun { names; mode; typ; expr } >


303 
fun { port_names; port_mode; port_typ; port_expr } >


304  304 
fun acc > 
305 
let acc = self#list self#vhdl_name_t names acc in 

306 
let acc = self#vhdl_port_mode_t mode acc in 

307 
let acc = self#vhdl_subtype_indication_t typ acc in 

308 
let acc = self#vhdl_expr_t expr acc in acc 

305 
let acc = self#list self#vhdl_name_t port_names acc in


306 
let acc = self#vhdl_port_mode_t port_mode acc in


307 
let acc = self#vhdl_subtype_indication_t port_typ acc in


308 
let acc = self#vhdl_expr_t port_expr acc in acc


309  309  
310  310 
method vhdl_declaration_t : vhdl_declaration_t > 'acc > 'acc= 
311  311 
fun x > 
...  ...  
316  316 
fun acc > acc 
317  317  
318  318 
method vhdl_declarative_item_t : vhdl_declarative_item_t > 'acc > 'acc= 
319 
fun { use_clause; declaration; definition } >


319 
fun { use_clause; di_declaration; di_definition } >


320  320 
fun acc > acc 
321  321  
322  322 
method vhdl_signal_condition_t : vhdl_signal_condition_t > 'acc > 'acc= 
323 
fun { expr; cond } > 

323 
fun { sc_expr; cond } >


324  324 
fun acc > 
325 
let acc = self#list self#vhdl_waveform_element_t expr acc in 

325 
let acc = self#list self#vhdl_waveform_element_t sc_expr acc in


326  326 
let acc = self#option self#vhdl_expr_t cond acc in acc 
327  327  
328  328 
method vhdl_signal_selection_t : vhdl_signal_selection_t > 'acc > 'acc= 
329 
fun { expr; when_sel } > 

329 
fun { ss_expr; when_sel } >


330  330 
fun acc > 
331 
let acc = self#list self#vhdl_waveform_element_t expr acc in 

331 
let acc = self#list self#vhdl_waveform_element_t ss_expr acc in


332  332 
let acc = self#list self#vhdl_expr_t when_sel acc in acc 
333  333 

334  334 
method vhdl_conditional_signal_t : 
335  335 
vhdl_conditional_signal_t > 'acc > 'acc= 
336 
fun { postponed; label; lhs; rhs; delay } >


336 
fun { cs_postponed; cs_label; cs_lhs; rhs; cs_delay } >


337  337 
fun acc > 
338  338 
let acc = self#list self#vhdl_signal_condition_t rhs acc in 
339 
let acc = self#vhdl_expr_t delay acc in acc 

339 
let acc = self#vhdl_expr_t cs_delay acc in acc


340  340  
341  341 
method vhdl_process_t : vhdl_process_t > 'acc > 'acc= 
342 
fun { id; declarations; active_sigs; body } >


342 
fun { id; p_declarations; active_sigs; p_body } >


343  343 
fun acc > 
344 
let acc = self#list self#vhdl_sequential_stmt_t body acc in acc 

344 
let acc = self#list self#vhdl_sequential_stmt_t p_body acc in acc


345  345  
346  346 
method vhdl_selected_signal_t : vhdl_selected_signal_t > 'acc > 'acc= 
347 
fun { postponed; label; lhs; sel; branches; delay } >


347 
fun { ss_postponed; ss_label; ss_lhs; sel; branches; ss_delay } >


348  348 
fun acc > 
349  349 
let acc = self#vhdl_expr_t sel acc in 
350  350 
let acc = self#list self#vhdl_signal_selection_t branches acc in 
351 
let acc = self#option self#vhdl_expr_t delay acc in acc 

351 
let acc = self#option self#vhdl_expr_t ss_delay acc in acc


352  352  
353  353 
method vhdl_component_instantiation_t : 
354  354 
vhdl_component_instantiation_t > 'acc > 'acc= 
355  355 
fun 
356 
{ name; inst_unit; inst_unit_type; archi_name; generic_map; port_map 

356 
{ ci_name; inst_unit; inst_unit_type; archi_name; generic_map; port_map


357  357 
} 
358  358 
> 
359  359 
fun acc > acc 
...  ...  
368  368 
 ComponentInst a > self#vhdl_component_instantiation_t a acc 
369  369  
370  370 
method vhdl_entity_t : vhdl_entity_t > 'acc > 'acc= 
371 
fun { name; generics; ports; declaration; stmts } >


371 
fun { e_name; generics; ports; e_declaration; stmts } >


372  372 
fun acc > acc 
373  373  
374  374 
method vhdl_package_t : vhdl_package_t > 'acc > 'acc= 
375 
fun { name; shared_defs; shared_decls; shared_uses } > 

375 
fun { p_name; shared_defs; shared_decls; shared_uses } >


376  376 
fun acc > acc 
377  377  
378  378 
method vhdl_architecture_t : vhdl_architecture_t > 'acc > 'acc= 
379 
fun { name; entity; declarations; body } >


379 
fun { a_name; entity; a_declarations; a_body } >


380  380 
fun acc > acc 
381  381  
382  382 
method vhdl_configuration_t : vhdl_configuration_t > 'acc > 'acc= 
Also available in: Unified diff
Update of types fields names