with End_of_file ->
!environment, !multiple_environment
+let alias_of_domain_and_codomain_items domain_item (dsc,_) =
+ match domain_item with
+ Id id -> GrafiteAst.Ident_alias (id, dsc)
+ | Symbol (symb, i) -> GrafiteAst.Symbol_alias (symb, i, dsc)
+ | Num i -> GrafiteAst.Number_alias (i, dsc)
+
let aliases_of_environment env =
Environment.fold
- (fun domain_item (dsc,_) acc ->
- let s =
- match domain_item with
- | Id id -> GrafiteAst.Ident_alias (id, dsc)
- | Symbol (symb, i) -> GrafiteAst.Symbol_alias (symb, i, dsc)
- | Num i -> GrafiteAst.Number_alias (i, dsc)
- in
- s :: acc)
- env []
+ (fun domain_item codomain_item acc ->
+ alias_of_domain_and_codomain_items domain_item codomain_item::acc
+ ) env []
+
+let aliases_of_domain_and_codomain_items_list l =
+ List.fold_left
+ (fun acc (domain_item,codomain_item) ->
+ alias_of_domain_and_codomain_items domain_item codomain_item::acc
+ ) [] l
-let commands_of_environment env =
+let commands_of_domain_and_codomain_items_list l =
List.map
(fun alias -> GrafiteAst.Alias (dummy_floc, alias))
- (aliases_of_environment env)
+ (aliases_of_domain_and_codomain_items_list l)
let pp_environment env =
let aliases = aliases_of_environment env in
List.map (fun alias -> GrafiteAstPp.pp_alias alias ^ ".") aliases
in
String.concat "\n" (List.sort compare strings)
-