added tags parser;
authorwenzelm
Tue, 16 Aug 2005 13:42:41 +0200
changeset 17070 3b29a01417f8
parent 17069 ee08b2466a09
child 17071 f753d6dd9bd0
added tags parser;
src/Pure/Isar/outer_parse.ML
--- a/src/Pure/Isar/outer_parse.ML	Tue Aug 16 13:42:40 2005 +0200
+++ b/src/Pure/Isar/outer_parse.ML	Tue Aug 16 13:42:41 2005 +0200
@@ -35,6 +35,8 @@
   val semicolon: token list -> string * token list
   val underscore: token list -> string * token list
   val maybe: (token list -> 'a * token list) -> token list -> 'a option * token list
+  val tag_name: token list -> string * token list
+  val tags: token list -> string list * token list
   val opt_unit: token list -> unit * token list
   val opt_keyword: string -> token list -> bool * token list
   val nat: token list -> int * token list
@@ -162,8 +164,10 @@
 
 val nat = number >> (#1 o Library.read_int o Symbol.explode);
 
+val tag_name = group "tag name" (short_ident || string);
+val tags = Scan.repeat ($$$ "%" |-- !!! tag_name);
+
 val opt_unit = Scan.optional ($$$ "(" -- $$$ ")" >> (K ())) ();
-
 fun opt_keyword s = Scan.optional ($$$ "(" |-- !!! (($$$ s >> K true) --| $$$ ")")) false;