X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2FtopLevel%2FtopLevel.ml;h=745be0767a6b137a7937447e20b2757a5e929316;hb=ce1d4b008a076daf4737f33d57a6c5873aa88813;hp=4825c5b36c28a7f7ab47e2b679117797f674b560;hpb=7e9ee837f75f38bf01240cdc03dd51c764c2665f;p=helm.git diff --git a/helm/gTopLevel/topLevel/topLevel.ml b/helm/gTopLevel/topLevel/topLevel.ml index 4825c5b36..745be0767 100644 --- a/helm/gTopLevel/topLevel/topLevel.ml +++ b/helm/gTopLevel/topLevel/topLevel.ml @@ -73,18 +73,6 @@ let rec display = function print_string ("? " ^ CicPp.ppterm term ^ nl); flush stdout -let levels l = - let module Lev = MQueryLevels in - let rec levels_aux = function - | [] -> () - | term :: tail -> - levels_aux tail; - print_string ("? " ^ CicPp.ppterm term ^ nl); - print_string (Lev.string_of_levels (Lev.levels_of_term [] [] term) nl); - flush stdout - in - levels_aux l - let execute ich = let module Util = MQueryUtil in let module Gen = MQueryGenerator in @@ -120,7 +108,10 @@ let mbackward n m l = if Mqint.get_stat () then print_string ("? " ^ CicPp.ppterm term ^ nl); let t0 = Sys.time () in - let r = Gen.searchPattern [] [] term level in + let list_of_must,can = MQueryLevels.out_restr [] [] term in + let len = List.length list_of_must in + let must = if level < len then List.nth list_of_must level else can in + let r = Gen.searchPattern [] [] term must can in let t1 = Sys.time () -. t0 in let info = Gen.get_query_info () in let num = List.nth info 0 in @@ -156,7 +147,6 @@ let prerr_help () = prerr_endline "-t -typeof URI outputs the CIC type of the given HELM object"; prerr_endline "-x -execute issues a query given in the input file"; prerr_endline "-d -disply outputs the CIC terms given in the input file"; - prerr_endline "-l -levels outputs the cut levels of the CIC terms given in the input file"; prerr_endline "-L -locate ALIAS issues the \"Locate\" query for the given alias"; prerr_endline "-B -backward LEVEL issues the \"Backward\" query for the given level on all CIC terms"; prerr_endline " in the input file"; @@ -172,7 +162,6 @@ let parse_args () = | ("-h"|"-help") :: rem -> prerr_help () | ("-d"|"-display") :: rem -> display (get_terms ()) | ("-t"|"-typeof") :: arg :: rem -> pp_type_of arg; parse rem - | ("-l"|"-levels") :: rem -> levels (get_terms ()) | ("-x"|"-execute") :: rem -> execute stdin; parse rem | ("-q"|"-show-queries") :: rem -> show_queries := true; parse rem | ("-s"|"-stat") :: rem -> Mqint.set_stat true; parse rem