hepts: enum types & alias

The graphical simulator hepts now support type aliasing.
This commit is contained in:
Gwenaël Delaval 2016-01-18 17:24:51 +01:00
parent 2aed0f6537
commit e9540a2159
1 changed files with 14 additions and 9 deletions

View File

@ -269,15 +269,20 @@ let create_input v_name v_ty n (table:GPack.table) =
| Tid{ qual = Pervasives; name = "bool" } -> | Tid{ qual = Pervasives; name = "bool" } ->
new boolean_input table n new boolean_input table n
| Tid(name) -> | Tid(name) ->
let rec input name =
let _ = check_type name in
begin try begin try
let ty = find_type name in let ty = find_type name in
begin match ty with begin
match ty with
| Tenum(clist) -> new enum_input name.qual clist table n | Tenum(clist) -> new enum_input name.qual clist table n
| Talias(Tid name) -> input name
| _ -> new entry_input "" table n | _ -> new entry_input "" table n
end end
with Not_found -> with Not_found ->
new entry_input "" table n new entry_input "" table n
end end in
input name
| _ -> failwith("Arrays and tuples not yet implemented") | _ -> failwith("Arrays and tuples not yet implemented")
let create_output v_name _v_ty n (table:GPack.table) = let create_output v_name _v_ty n (table:GPack.table) =