# HG changeset patch # User Christian Urban # Date 1274399079 -3600 # Node ID 20ee31bc34d5f8bf5e55b7d2e9a68452d360c91f # Parent c148a6ea784ee4ca917c8c39707fbd9915ec0a94 proper parser for "exclude:" diff -r c148a6ea784e -r 20ee31bc34d5 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))) []