]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_parser/grafiteDisambiguate.ml
new command eval added
[helm.git] / helm / software / components / grafite_parser / grafiteDisambiguate.ml
index 71460415a293dcad0ef759aadc0d6a304668c507..47e7a86276ad3fe2af11f54c35bb14421ac15065 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
@@ -470,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 _
@@ -505,6 +513,8 @@ let disambiguate_macro
   lexicon_status_ref metasenv context (text,prefix_len, macro) 
 =
  let disambiguate_term = disambiguate_term text prefix_len lexicon_status_ref in
+  let disambiguate_reduction_kind = 
+    disambiguate_reduction_kind text prefix_len lexicon_status_ref in
   match macro with
    | GrafiteAst.WMatch (loc,term) ->
       let metasenv,term = disambiguate_term context metasenv term in
@@ -521,6 +531,10 @@ let disambiguate_macro
    | GrafiteAst.Check (loc,term) ->
       let metasenv,term = disambiguate_term context metasenv term in
        metasenv,GrafiteAst.Check (loc,term)
+   | GrafiteAst.Eval (loc,kind,term) ->
+      let metasenv, term = disambiguate_term context metasenv term in
+      let kind = disambiguate_reduction_kind kind in
+       metasenv,GrafiteAst.Eval (loc,kind,term)
    | GrafiteAst.AutoInteractive (loc, params) -> 
       let metasenv, params = 
         disambiguate_auto_params disambiguate_term metasenv context params in