src/Pure/Isar/spec_parse.ML
changeset 29312 f369fb19146e
parent 29214 76c7fc5ba849
child 29360 a5be60c3674e
--- a/src/Pure/Isar/spec_parse.ML	Fri Jan 02 15:44:33 2009 +0100
+++ b/src/Pure/Isar/spec_parse.ML	Fri Jan 02 15:44:33 2009 +0100
@@ -1,5 +1,4 @@
 (*  Title:      Pure/Isar/spec_parse.ML
-    ID:         $Id$
     Author:     Makarius
 
 Parsers for complex specifications.
@@ -7,35 +6,33 @@
 
 signature SPEC_PARSE =
 sig
-  type token
-  val attrib: OuterLex.token list -> Attrib.src * token list
-  val attribs: token list -> Attrib.src list * token list
-  val opt_attribs: token list -> Attrib.src list * token list
-  val thm_name: string -> token list -> Attrib.binding * token list
-  val opt_thm_name: string -> token list -> Attrib.binding * token list
-  val spec: token list -> (Attrib.binding * string list) * token list
-  val named_spec: token list -> (Attrib.binding * string list) * token list
-  val spec_name: token list -> ((Binding.T * string) * Attrib.src list) * token list
-  val spec_opt_name: token list -> ((Binding.T * string) * Attrib.src list) * token list
-  val xthm: token list -> (Facts.ref * Attrib.src list) * token list
-  val xthms1: token list -> (Facts.ref * Attrib.src list) list * token list
-  val name_facts: token list ->
-    (Attrib.binding * (Facts.ref * Attrib.src list) list) list * token list
-  val locale_mixfix: token list -> mixfix * token list
-  val locale_fixes: token list -> (Binding.T * string option * mixfix) list * token list
-  val locale_insts: token list -> (string option list * (Attrib.binding * string) list) * token list
-  val class_expr: token list -> string list * token list
-  val locale_expr: token list -> Locale.expr * token list
-  val locale_expression: OuterParse.token list -> Expression.expression * OuterParse.token list
-  val locale_keyword: token list -> string * token list
-  val context_element: token list -> Element.context * token list
-  val statement: token list -> (Attrib.binding * (string * string list) list) list * token list
-  val general_statement: token list ->
-    (Element.context list * Element.statement) * OuterLex.token list
-  val statement_keyword: token list -> string * token list
-  val specification: token list ->
-    (Binding.T *
-      ((Attrib.binding * string list) list * (Binding.T * string option) list)) list * token list
+  type token = OuterParse.token
+  type 'a parser = 'a OuterParse.parser
+  val attrib: Attrib.src parser
+  val attribs: Attrib.src list parser
+  val opt_attribs: Attrib.src list parser
+  val thm_name: string -> Attrib.binding parser
+  val opt_thm_name: string -> Attrib.binding parser
+  val spec: (Attrib.binding * string list) parser
+  val named_spec: (Attrib.binding * string list) parser
+  val spec_name: ((Binding.T * string) * Attrib.src list) parser
+  val spec_opt_name: ((Binding.T * string) * Attrib.src list) parser
+  val xthm: (Facts.ref * Attrib.src list) parser
+  val xthms1: (Facts.ref * Attrib.src list) list parser
+  val name_facts: (Attrib.binding * (Facts.ref * Attrib.src list) list) list parser
+  val locale_mixfix: mixfix parser
+  val locale_fixes: (Binding.T * string option * mixfix) list parser
+  val locale_insts: (string option list * (Attrib.binding * string) list) parser
+  val class_expr: string list parser
+  val locale_expr: Locale.expr parser
+  val locale_expression: Expression.expression parser
+  val locale_keyword: string parser
+  val context_element: Element.context parser
+  val statement: (Attrib.binding * (string * string list) list) list parser
+  val general_statement: (Element.context list * Element.statement) parser
+  val statement_keyword: string parser
+  val specification:
+    (Binding.T * ((Attrib.binding * string list) list * (Binding.T * string option) list)) list parser
 end;
 
 structure SpecParse: SPEC_PARSE =
@@ -43,6 +40,7 @@
 
 structure P = OuterParse;
 type token = P.token;
+type 'a parser = 'a P.parser;
 
 
 (* theorem specifications *)