1
|
open Vhdl_ast_map
|
2
|
open Vhdl_to_lustre
|
3
|
open Vhdl_2_mini_vhdl_map
|
4
|
open Vhdl_ast
|
5
|
open Mini_vhdl_ast
|
6
|
open Ppxlib_traverse_builtins
|
7
|
|
8
|
let any x = x
|
9
|
|
10
|
let replace_op_expr = object (self)
|
11
|
inherit Ppxlib_traverse_builtins.map
|
12
|
inherit vhdl_map as super
|
13
|
|
14
|
method unit: unit T.map = any
|
15
|
|
16
|
method vhdl_expr_t = function
|
17
|
| Op ({id=""; args=hd::[]}) -> self#vhdl_expr_t hd
|
18
|
| x -> super#vhdl_expr_t x
|
19
|
end
|
20
|
|
21
|
let to_lustre = object (self)
|
22
|
inherit Ppxlib_traverse_builtins.map
|
23
|
inherit vhdl_to_lustre_map as super
|
24
|
|
25
|
method unit: unit T.map = any
|
26
|
end
|
27
|
|
28
|
let to_mini_vhdl = object (self)
|
29
|
inherit Ppxlib_traverse_builtins.map
|
30
|
inherit vhdl_2_mini_vhdl_map as super
|
31
|
|
32
|
method unit: unit T.map = any
|
33
|
end
|