proper parser for "exclude:"
authorChristian Urban <urbanc@in.tum.de>
Fri, 21 May 2010 00:44:39 +0100
changeset 2291 20ee31bc34d5
parent 2290 c148a6ea784e
child 2292 d134bd4f6d1b
proper parser for "exclude:"
Nominal-General/nominal_permeq.ML
--- a/Nominal-General/nominal_permeq.ML	Thu May 20 21:47:12 2010 +0100
+++ b/Nominal-General/nominal_permeq.ML	Fri May 21 00:44:39 2010 +0100
@@ -155,8 +155,11 @@
 
 
 (** methods **)
-val _ = OuterKeyword.keyword "exclude"
-val add_thms_parser = Scan.optional (Scan.lift (Args.add -- Args.colon) |-- Attrib.thms) [];
+fun unless_more_args scan = Scan.unless (Scan.lift ((Args.$$$ "exclude") -- Args.colon)) scan
+
+val add_thms_parser = Scan.optional (Scan.lift (Args.add -- Args.colon) |-- 
+   Scan.repeat (unless_more_args Attrib.multi_thm) >> flat) [];
+
 val exclude_consts_parser = Scan.optional (Scan.lift ((Args.$$$ "exclude") -- Args.colon) |-- 
   (Scan.repeat (Args.const true))) []