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