X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FtermEditor.ml;h=1b9986caa294184335c6bb697be47b35a6e0a26a;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=f034c45b15b9bc9b48ed23176a6cda65a9e18375;hpb=c1cf3479d53bbe813c254433b6b9d4d5839065d2;p=helm.git diff --git a/helm/gTopLevel/termEditor.ml b/helm/gTopLevel/termEditor.ml index f034c45b1..1b9986caa 100644 --- a/helm/gTopLevel/termEditor.ml +++ b/helm/gTopLevel/termEditor.ml @@ -23,20 +23,18 @@ * http://cs.unibo.it/helm/. *) -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 06/01/2002 *) -(* *) -(* *) -(******************************************************************************) +(*****************************************************************************) +(* *) +(* PROJECT HELM *) +(* *) +(* Claudio Sacerdoti Coen *) +(* 06/01/2002 *) +(* *) +(* *) +(*****************************************************************************) open Printf -open Disambiguate_types - (* A WIDGET TO ENTER CIC TERMS *) class type term_editor = @@ -46,27 +44,28 @@ class type term_editor = method get_as_string : string method get_metasenv_and_term : context:Cic.context -> - metasenv:Cic.metasenv -> Cic.metasenv * Cic.term + metasenv:Cic.metasenv -> + Cic.metasenv * Cic.term * CicUniv.universe_graph method reset : unit (* The input of set_term is unquoted *) method set_term : string -> unit - method id_to_uris : environment ref + method environment : DisambiguatingParser.EnvironmentP3.t ref end -let empty_id_to_uris = Environment.empty - -module Make(C: Callbacks) = +module Make(C:DisambiguateTypes.Callbacks) = struct - module Disambiguate' = Disambiguate.Make(C);; + module Disambiguate' = DisambiguatingParser.Make(C);; - class term_editor_impl mqi_handle ?packing ?width ?height - ?isnotempty_callback ?share_id_to_uris_with () : term_editor + class term_editor_impl ~(dbd:Mysql.dbd) ?packing ?width ?height + ?isnotempty_callback ?share_environment_with () : term_editor = - let id_to_uris = - match share_id_to_uris_with with - None -> ref empty_id_to_uris - | Some obj -> obj#id_to_uris + let environment = + match share_environment_with with + None -> ref (*DisambiguateTypes.empty_environment*) + (DisambiguatingParser.EnvironmentP3.of_string + DisambiguatingParser.EnvironmentP3.empty) + | Some obj -> obj#environment in let input = GText.view ~editable:true ?width ?height ?packing () in let _ = @@ -100,17 +99,20 @@ module Make(C: Callbacks) = | None -> None ) context in - let term = - Parser.parse_term (Stream.of_string (input#buffer#get_text ())) - in - let id_to_uris',metasenv,expr = - Disambiguate'.disambiguate_term mqi_handle context metasenv term - ~aliases:!id_to_uris + let environment',metasenv,expr,ugraph = + match + Disambiguate'.disambiguate_term ~dbd ~context ~metasenv + (input#buffer#get_text ()) ~initial_ugraph:CicUniv.empty_ugraph + ~aliases:!environment + with + [environment',metasenv,expr,u] -> environment',metasenv,expr,u + | _ -> assert false in - id_to_uris := id_to_uris'; - (metasenv, expr) + environment := environment'; + (metasenv, expr,ugraph) + (* TASSI: FIXME ?are we sure we have to keep this? *) - method id_to_uris = id_to_uris + method environment = environment end let term_editor = new term_editor_impl