X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FbatchParser.ml;h=f7370422f7fccf70b03ebe0bd9508c0b27eb2223;hb=9b0237f419714f67bfe4ae0cdee2c59986588e50;hp=1e301eaf945aa234146fef04e756105959f2525e;hpb=29c4c207d66c4643e642abc8f70efd40aadc499d;p=helm.git diff --git a/helm/gTopLevel/batchParser.ml b/helm/gTopLevel/batchParser.ml index 1e301eaf9..f7370422f 100644 --- a/helm/gTopLevel/batchParser.ml +++ b/helm/gTopLevel/batchParser.ml @@ -44,17 +44,20 @@ module DisambiguateCallbacks = ~selection_mode ?ok ?enable_button_for_non_vars ~title ~msg ~id choices = List.filter !uri_predicate choices - let interactive_interpretation_choice _ = fail "Multiple interpretations" + let interactive_interpretation_choice = + let rec aux n = + function + [] -> [] + | _::tl -> n::(aux (n+1) tl) + in + aux 0 + let input_or_locate_uri ~title = fail "Unknown identifier" end module Disambiguate' = DisambiguatingParser.Make (DisambiguateCallbacks) -let mqi_debug_fun = ignore -let mqi_flags = [] - -let parse ?(uri_pred = constants_only) = - let mqi_handle = MQIConn.init mqi_flags mqi_debug_fun in +let parse mqi_handle ?(uri_pred = constants_only) = uri_predicate := uri_pred; let empty_environment = DisambiguatingParser.EnvironmentP3.of_string @@ -63,11 +66,10 @@ let parse ?(uri_pred = constants_only) = let empty_context = [] in let empty_metasenv = [] in fun input -> - let (_, metasenv, term) = - Disambiguate'.disambiguate_term - mqi_handle empty_context empty_metasenv input empty_environment - in - MQIConn.close mqi_handle; (metasenv, term) + (Disambiguate'.disambiguate_term + mqi_handle empty_context empty_metasenv input empty_environment) -let parse_pp ?uri_pred input = CicPp.ppterm (snd (parse ?uri_pred input)) +let parse_pp mqi_handle ?uri_pred input = + List.map (fun (_,_,t) -> CicPp.ppterm t) + (parse mqi_handle ?uri_pred input)