src/Pure/Thy/ROOT.ML
author wenzelm
Thu, 19 May 1994 16:22:48 +0200
changeset 387 69f4356d915d
parent 74 208ab8773a73
child 390 b074205ac50a
permissions -rw-r--r--
new datatype theory, supports 'draft theories' and incremental extension: add_classes, add_defsort, add_types, add_tyabbrs, add_tyabbrs_i, add_arities, add_consts, add_consts_i, add_syntax, add_syntax_i, add_trfuns, add_trrules, add_axioms, add_axioms_i, add_thyname; added merge_thy_list for multiple merges and extend-merges; added rep_theory, subthy, eq_thy, cert_axm, read_axm; changed type of axioms_of; renamed internal merge_theories to merge_thm_sgs; various internal changes of thm and theory related code;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     1
(*  Title:      Pure/Thy/ROOT
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
    ID:         $Id$
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     3
    Author:     Sonia Mahjoub / Tobias Nipkow
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     4
    Copyright   1992  TU Muenchen
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
This file builds the theory parser.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
It assumes the standard Isabelle environment.
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     8
*)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     9
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    10
use "scan.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    11
use "parse.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    12
use "syntax.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    13
use "read.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    14
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    15
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    16
structure Keyword =
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    17
    struct
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    18
    val alphas =  ["classes", "default", "arities", "types",
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    19
                   "consts", "rules", "end", "rules", "mixfix",
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    20
                   "infixr", "infixl", "binder", "translations"]
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    21
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    22
    val symbols = [",", "<", "{", "}", "(", ")", "(*", "*)",
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    23
                   "[", "]", "::", "=", "+", "==", "=>", "<="]
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    24
    end;
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    25
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    26
structure Lex     = LexicalFUN (Keyword);
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    27
structure Parse   = ParseFUN (Lex);
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    28
structure ThySyn  = ThySynFUN (Parse);
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    29
74
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    30
(*This structure is only defined to be compatible with older versions of
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    31
  READTHY. Don't use it in newly created theory/ROOT.ML files! Instead
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    32
  define a new structure. Otherwise Poly/ML won't save a reference variable
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    33
  defined inside the functor. *)
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    34
structure Readthy = ReadthyFUN (structure ThySyn = ThySyn);
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    35
open Readthy;
74
208ab8773a73 changes in Readthy:
clasohm
parents: 0
diff changeset
    36