X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FmatitaExcPp.ml;h=7fa7ea8c52926494da9b98ff7431c3bc9313f623;hb=9449ec60150ea2326d7b54ad9c4f51e36d06bb65;hp=076a5d763e6fccd1cb4fe0ae4055eca99399e713;hpb=910c252965fe17d6b5af92e4658e7d02bac82d58;p=helm.git diff --git a/helm/software/matita/matitaExcPp.ml b/helm/software/matita/matitaExcPp.ml index 076a5d763..7fa7ea8c5 100644 --- a/helm/software/matita/matitaExcPp.ml +++ b/helm/software/matita/matitaExcPp.ml @@ -33,8 +33,9 @@ let compact_disambiguation_errors all_passes errorll = (List.map (fun (pass,l) -> List.map - (fun (env,diff,offset,msg,significant) -> - offset, [[pass], [[pass], env, diff], msg, significant]) l + (fun (env,diff,offset_msg,significant) -> + let offset, msg = Lazy.force offset_msg in + offset, [[pass], [[pass], env, diff], lazy msg, significant]) l ) errorll) in (* Here we are doing a stable sort and list_uniq returns the latter "equal" element. I.e. we are showing the error corresponding to the @@ -139,6 +140,10 @@ let rec to_string = | CicRefine.RefineFailure msg | CicRefine.AssertFailure msg -> None, "Refiner error: " ^ Lazy.force msg + | NCicRefiner.RefineFailure msg -> + None, "NRefiner failure: " ^ snd (Lazy.force msg) + | NCicRefiner.AssertFailure msg -> + None, "NRefiner assert failure: " ^ Lazy.force msg | CicTypeChecker.TypeCheckerFailure msg -> None, "Type checking error: " ^ Lazy.force msg | CicTypeChecker.AssertFailure msg -> @@ -149,16 +154,19 @@ let rec to_string = None, ("Disambiguation choice not found: " ^ Lazy.force msg) | MatitaEngine.EnrichedWithLexiconStatus (exn,_) -> None, "EnrichedWithLexiconStatus "^snd(to_string exn) - | GrafiteDisambiguator.DisambiguationError (offset,errorll) -> + | MultiPassDisambiguator.DisambiguationError (offset,errorll) -> let loc = match errorll with - ((_,_,Some floc,_,_)::_)::_ -> - let (x, y) = HExtlib.loc_of_floc floc in - let x = x + offset in - let y = y + offset in - let floc = HExtlib.floc_of_loc (x,y) in - Some floc - | _ -> None in + | ((_,_,loc_msg,_)::_)::_ -> + let floc, _ = Lazy.force loc_msg in + if floc = Stdpp.dummy_loc then None else + let (x, y) = HExtlib.loc_of_floc floc in + let x = x + offset in + let y = y + offset in + let floc = HExtlib.floc_of_loc (x,y) in + Some floc + | _ -> assert false + in let annotated_errorll = List.rev (snd @@ -182,11 +190,10 @@ let rec to_string = let msg = (List.map (fun (passes,_,_,floc,msg,significant) -> let loc_descr = - match floc with - None -> "" - | Some floc -> - let (x, y) = HExtlib.loc_of_floc floc in - sprintf " at %d-%d" (x+offset) (y+offset) + if floc = HExtlib.dummy_floc then "" + else + let (x, y) = HExtlib.loc_of_floc floc in + sprintf " at %d-%d" (x+offset) (y+offset) in "*" ^ (if not significant then "(Spurious?) " else "") ^ "Error" ^ loc_descr ^ ": " ^ Lazy.force msg,