1 (* Copyright (C) 2004, HELM Team.
3 * This file is part of HELM, an Hypertextual, Electronic
4 * Library of Mathematics, developed at the Computer Science
5 * Department, University of Bologna, Italy.
7 * HELM is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * HELM is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with HELM; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 * For details, see the HELM World-Wide-Web page,
23 * http://helm.cs.unibo.it/
26 exception Parse_error of string
28 (** {3 type shortands} *)
30 type tactic = (CicAst.term, string) TacticAst.tactic
31 type tactical = (CicAst.term, string) TacticAst.tactic TacticAst.tactical
32 type command = CicAst.term CommandAst.command
33 type script = CicAst.term CommandAst.Script.script
35 (** {2 Parsing functions} *)
37 val parse_term: char Stream.t -> CicAst.term
38 val parse_tactic: char Stream.t -> tactic
39 val parse_tactical: char Stream.t -> tactical
40 val parse_command: char Stream.t -> command
41 val parse_script: char Stream.t -> script
43 (** {2 Grammar extensions} *)
45 val term: CicAst.term Grammar.Entry.e (** recursive rule *)
46 val term0: CicAst.term Grammar.Entry.e (** top level rule *)
48 val return_term: CicAst.location -> CicAst.term -> CicAst.term
50 (** raise a parse error *)
51 val fail: CicAst.location -> string -> 'a
55 (** {2 Interface for gTopLevel} *)
58 (* environment parser/pretty-printer *)
60 type t = DisambiguateTypes.environment
62 val to_string : t -> string
63 val of_string : string -> t