src/Pure/Thy/ROOT.ML
author nipkow
Mon, 06 Dec 1993 17:05:10 +0100
changeset 189 831a9a7ab9f3
parent 74 208ab8773a73
child 390 b074205ac50a
permissions -rw-r--r--
added rep_tsig
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