]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_parser/grafiteDisambiguate.ml
we implemented the support for generating ma files from mma files
[helm.git] / helm / software / components / grafite_parser / grafiteDisambiguate.ml
index 73e71c815f764e2f9a3f79933d4300c9c13da102..219ed6cd850949ed2d72c9f85fcd250693990466 100644 (file)
@@ -207,6 +207,9 @@ let rec disambiguate_tactic
     | GrafiteAst.Apply (loc, term) ->
         let metasenv,cic = disambiguate_term context metasenv term in
         metasenv,GrafiteAst.Apply (loc, cic)
+    | GrafiteAst.ApplyP (loc, term) ->
+        let metasenv,cic = disambiguate_term context metasenv term in
+        metasenv,GrafiteAst.ApplyP (loc, cic)
     | GrafiteAst.ApplyS (loc, term, params) ->
         let metasenv, params = disambiguate_auto_params metasenv params in
         let metasenv,cic = disambiguate_term context metasenv term in
@@ -216,9 +219,10 @@ let rec disambiguate_tactic
     | GrafiteAst.AutoBatch (loc,params) ->
         let metasenv, params = disambiguate_auto_params metasenv params in
         metasenv,GrafiteAst.AutoBatch (loc,params)
-    | GrafiteAst.Cases (loc, what, idents) ->
+    | GrafiteAst.Cases (loc, what, pattern, idents) ->
         let metasenv,what = disambiguate_term context metasenv what in
-        metasenv,GrafiteAst.Cases (loc, what, idents)
+       let pattern = disambiguate_pattern pattern in
+        metasenv,GrafiteAst.Cases (loc, what, pattern, idents)
     | GrafiteAst.Change (loc, pattern, with_what) -> 
         let with_what = disambiguate_lazy_term with_what in
         let pattern = disambiguate_pattern pattern in
@@ -469,7 +473,12 @@ let disambiguate_command lexicon_status ?baseuri metasenv (text,prefix_len,cmd)=
        in
        let metasenv,key = disambiguate_term_option metasenv key in
        !lexicon_status_ref, metasenv,GrafiteAst.Index(loc,key,uri)
-   | GrafiteAst.Coercion _
+   | GrafiteAst.Coercion (loc,t,b,a,s) -> 
+       let lexicon_status_ref = ref lexicon_status in 
+       let disambiguate_term =
+        disambiguate_term text prefix_len lexicon_status_ref [] in
+      let metasenv,t = disambiguate_term metasenv t in
+      !lexicon_status_ref, metasenv, GrafiteAst.Coercion (loc,t,b,a,s)
    | GrafiteAst.Default _
    | GrafiteAst.Drop _
    | GrafiteAst.Include _