GPLed;
authorwenzelm
Fri, 05 May 2000 21:58:44 +0200
changeset 8803 189203bb4b34
parent 8802 2c37263eb903
child 8804 de0e9f689c6e
GPLed; added colon, parens;
src/Pure/Isar/args.ML
--- a/src/Pure/Isar/args.ML	Fri May 05 21:58:18 2000 +0200
+++ b/src/Pure/Isar/args.ML	Fri May 05 21:58:44 2000 +0200
@@ -1,6 +1,7 @@
 (*  Title:      Pure/Isar/args.ML
     ID:         $Id$
     Author:     Markus Wenzel, TU Muenchen
+    License:    GPL (GNU GENERAL PUBLIC LICENSE)
 
 Concrete argument syntax (of attributes and methods).
 *)
@@ -19,6 +20,8 @@
   val position: (T list -> 'a * 'b) -> T list -> ('a * Position.T) * 'b
   val !!! : (T list -> 'a) -> T list -> 'a
   val $$$ : string -> T list -> string * T list
+  val colon: T list -> string * T list
+  val parens: (T list -> 'a * T list) -> T list -> 'a * T list
   val name: T list -> string * T list
   val name_dummy: T list -> string option * T list
   val nat: T list -> int * T list
@@ -103,6 +106,9 @@
 fun $$$$ x = Scan.one (fn Arg (k, (y, _)) => (k = Ident orelse k = Keyword) andalso x = y);
 fun $$$ x = $$$$ x >> val_of;
 
+val colon = $$$ ":";
+fun parens scan = $$$ "(" |-- scan --| $$$ ")";
+
 val name = Scan.one (fn Arg (k, (x, _)) => k = Ident orelse k = String) >> val_of;
 val name_dummy = $$$ "_" >> K None || name >> Some;