X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotation.ml;h=cbad3391f3e01f8f67acec183780c5a748a58b00;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=f6ea55a48582957987ee1af6c77b45a1d8418850;hpb=08ecc780b3b0a4cac7ed72cf68c310e4eeffa2c1;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotation.ml b/helm/ocaml/cic_notation/cicNotation.ml index f6ea55a48..cbad3391f 100644 --- a/helm/ocaml/cic_notation/cicNotation.ml +++ b/helm/ocaml/cic_notation/cicNotation.ml @@ -61,12 +61,30 @@ let remove_notation = function let load_notation fname = let ic = open_in fname in - let istream = Stream.of_channel ic in + let lexbuf = Ulexing.from_utf8_channel ic in try while true do - match GrafiteParser.parse_statement istream with + match GrafiteParser.parse_statement lexbuf with | Executable (_, Command (_, cmd)) -> ignore (process_notation cmd) | _ -> () done with End_of_file -> close_in ic +let get_all_notations () = + List.map + (fun (interp_id, dsc) -> + InterpretationId interp_id, "interpretation: " ^ dsc) + (CicNotationRew.get_all_interpretations ()) + +let get_active_notations () = + List.map (fun id -> InterpretationId id) + (CicNotationRew.get_active_interpretations ()) + +let set_active_notations ids = + let interp_ids = + HExtlib.filter_map + (function InterpretationId interp_id -> Some interp_id | _ -> None) + ids + in + CicNotationRew.set_active_interpretations interp_ids +