bang_args;
authorwenzelm
Mon, 15 Oct 2001 20:32:13 +0200
changeset 11775 e7eeca372b7c
parent 11774 3bc4f67d7fe1
child 11776 d4f9de0bde28
bang_args;
src/Pure/Isar/attrib.ML
--- a/src/Pure/Isar/attrib.ML	Mon Oct 15 20:31:52 2001 +0200
+++ b/src/Pure/Isar/attrib.ML	Mon Oct 15 20:32:13 2001 +0200
@@ -32,6 +32,7 @@
   val local_thmss: Proof.context * Args.T list -> thm list * (Proof.context * Args.T list)
   val syntax: ('a * Args.T list -> 'a attribute * ('a * Args.T list)) -> Args.src -> 'a attribute
   val no_args: 'a attribute -> Args.src -> 'a attribute
+  val bang_args: 'a attribute -> 'a attribute -> Args.src -> 'a attribute
   val add_del_args: 'a attribute -> 'a attribute -> Args.src -> 'a attribute
   val setup: (theory -> theory) list
 end;
@@ -156,6 +157,9 @@
 
 fun no_args x = syntax (Scan.succeed x);
 
+fun bang_args a b x = syntax
+  (Scan.lift Args.bang >> K a || Scan.succeed b) x;
+
 fun add_del_args add del x = syntax
   (Scan.lift (Args.add >> K add || Args.del >> K del || Scan.succeed add)) x;