X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2FgTopLevel%2Fhbugs.ml;fp=helm%2FgTopLevel%2Fhbugs.ml;h=0000000000000000000000000000000000000000;hp=35937b9b98d0aa19ed4987008bff87802de2ca9a;hb=1696761e4b8576e8ed81caa905fd108717019226;hpb=5325734bc2e4927ed7ec146e35a6f0f2b49f50c1 diff --git a/helm/gTopLevel/hbugs.ml b/helm/gTopLevel/hbugs.ml deleted file mode 100644 index 35937b9b9..000000000 --- a/helm/gTopLevel/hbugs.ml +++ /dev/null @@ -1,143 +0,0 @@ -(* - * Copyright (C) 2003: - * Stefano Zacchiroli - * for the HELM Team http://helm.cs.unibo.it/ - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -open Hbugs_types;; -open Printf;; - -let debug_print = - let debug = true in - fun s -> prerr_endline (sprintf "HBUGS DEBUG: %s" s) -;; - -exception NoProofInProgress;; - -let hbugs_client = ref None -let use_hint_callback = ref ignore -let describe_hint_callback = ref ignore - -let set_describe_hint_callback c = describe_hint_callback := c - -let quit () = - match !hbugs_client with - | Some c -> c#unregisterFromBroker () - | None -> () - -let hbugs_enabled = ref false - -let get_hbugs_client () = - match !hbugs_client with - | Some c -> c - | None -> assert false - -let disable () = - match !hbugs_client with None -> () | Some c -> c#hide () - -let notify () = - try - if !hbugs_enabled then begin - let client = get_hbugs_client () in - let goal = - match !ProofEngine.goal with - | Some g -> g - | None -> raise NoProofInProgress - in - let (type_string, body_string) = - let (type_xml, body_xml) = ProofEngine.get_current_status_as_xml () in - (Xml.pp_to_string type_xml, Xml.pp_to_string body_xml) - in - let new_state = - (Misc.strip_xml_headings type_string, - Misc.strip_xml_headings body_string, - goal) - in - client#stateChange (Some new_state) - end - with NoProofInProgress -> () - -let clear () = - if !hbugs_enabled then - begin - let client = get_hbugs_client () in - client#stateChange None - end - -let rec enable () = - (match !hbugs_client with - | None -> (* create an hbugs client and show its window *) - hbugs_client := - (try - Some (new Hbugs_client.hbugsClient - ~use_hint_callback:!use_hint_callback - ~describe_hint_callback:!describe_hint_callback - ()) - with e -> - prerr_endline (sprintf "Can't start HBugs client: %s" - (Printexc.to_string e)); - None); - (match !hbugs_client with - |Some client -> - client#show (); - client#subscribeAll () - | None -> ()) - | Some c -> (* show hbugs client window *) - c#show ()) - -let toggle state = - if state <> !hbugs_enabled then begin (* status has been changed *) - if state then enable () else disable (); - clear () - end; - hbugs_enabled := state - -module type Unit = sig end - -module Initialize (Tactics: InvokeTactics.Tactics) : Unit = - struct - let use_hint = function - | Use_ring_Luke -> Tactics.ring () - | Use_fourier_Luke -> Tactics.fourier () - | Use_reflexivity_Luke -> Tactics.reflexivity () - | Use_symmetry_Luke -> Tactics.symmetry () - | Use_assumption_Luke -> Tactics.assumption () - | Use_contradiction_Luke -> Tactics.contradiction () - | Use_exists_Luke -> Tactics.exists () - | Use_split_Luke -> Tactics.split () - | Use_left_Luke -> Tactics.left () - | Use_right_Luke -> Tactics.right () - | Use_apply_Luke term -> - (* we remove the "cic:" prefix *) - let term' = String.sub term 4 (String.length term - 4) in - Tactics.apply ~term:term' () - | Hints _ -> assert false - - let _ = use_hint_callback := use_hint - end - -let start_web_services () = ignore (Unix.system "make -C ../hbugs/ start") -let stop_web_services () = ignore (Unix.system "make -C ../hbugs/ stop") -