src/Pure/Syntax/parser.ML
changeset 1507 f600215b6ea7
parent 1438 3cc22794ce71
child 1580 e3fd931e6095
--- a/src/Pure/Syntax/parser.ML	Fri Feb 16 14:06:09 1996 +0100
+++ b/src/Pure/Syntax/parser.ML	Fri Feb 16 14:17:34 1996 +0100
@@ -6,33 +6,24 @@
 *)
 
 signature PARSER =
-sig
-  structure Lexicon: LEXICON
-  structure SynExt: SYN_EXT
-  local open Lexicon SynExt SynExt.Ast in
-    type gram
-    val empty_gram: gram
-    val extend_gram: gram -> xprod list -> gram
-    val merge_grams: gram -> gram -> gram
-    val pretty_gram: gram -> Pretty.T list
-    datatype parsetree =
-      Node of string * parsetree list |
-      Tip of token
-    val parse: gram -> string -> token list -> parsetree list
-  end
-  val branching_level: int ref;
-end;
+  sig
+  type gram
+  val empty_gram: gram
+  val extend_gram: gram -> SynExt.xprod list -> gram
+  val merge_grams: gram -> gram -> gram
+  val pretty_gram: gram -> Pretty.T list
+  datatype parsetree =
+    Node of string * parsetree list |
+    Tip of Lexicon.token
+  val parse: gram -> string -> Lexicon.token list -> parsetree list
+  val branching_level: int ref
+  end;
 
-functor ParserFun(structure Symtab: SYMTAB and Lexicon: LEXICON
-  and SynExt: SYN_EXT): PARSER =
+
+structure Parser : PARSER =
 struct
-
-structure Pretty = SynExt.Ast.Pretty;
-structure Lexicon = Lexicon;
-structure SynExt = SynExt;
 open Lexicon SynExt;
 
-
 (** datatype gram **)
 
 type nt_tag = int;              (*production for the NTs are stored in an array