|
|
@@ -3,24 +3,24 @@ open Util
|
|
|
|
|
|
let rec expand_dims = function
|
|
|
(* Flatten Block nodes returned by transformations below *)
|
|
|
- | FunDef (export, ret_type, name, params, body, loc) ->
|
|
|
+ | FunDef (export, ret_type, name, params, body, ann) ->
|
|
|
let params = flatten_blocks (List.map expand_dims params) in
|
|
|
- FunDef (export, ret_type, name, params, expand_dims body, loc)
|
|
|
+ FunDef (export, ret_type, name, params, expand_dims body, ann)
|
|
|
|
|
|
- | FunDec (ret_type, name, params, loc) ->
|
|
|
+ | FunDec (ret_type, name, params, ann) ->
|
|
|
let params = flatten_blocks (List.map expand_dims params) in
|
|
|
- FunDec (ret_type, name, params, loc)
|
|
|
+ FunDec (ret_type, name, params, ann)
|
|
|
|
|
|
- | FunUse (dec, params, loc) ->
|
|
|
- FunUse (dec, flatten_blocks (List.map expand_dims params), loc)
|
|
|
+ | FunUse (dec, params, ann) ->
|
|
|
+ FunUse (dec, flatten_blocks (List.map expand_dims params), ann)
|
|
|
|
|
|
(* Add additional parameters for array dimensions *)
|
|
|
- | Param (Array (_,dims) as ctype, name, loc) ->
|
|
|
+ | Param (Array (_,dims) as ctype, name, ann) ->
|
|
|
let rec do_expand = function
|
|
|
| [] ->
|
|
|
- [Param (ctype, name, loc)]
|
|
|
- | Dim (name, loc) :: tail ->
|
|
|
- Param (Int, name, loc) :: (do_expand tail)
|
|
|
+ [Param (ctype, name, ann)]
|
|
|
+ | Dim (name, ann) :: tail ->
|
|
|
+ Param (Int, name, ann) :: (do_expand tail)
|
|
|
| _ -> raise InvalidNode
|
|
|
in
|
|
|
Block (do_expand dims)
|