added props_text (from isar_syn.ML);
authorwenzelm
Fri, 19 Sep 2008 21:00:49 +0200
changeset 28302 ef86de9c98aa
parent 28301 7804ded330bb
child 28303 8c4a4f256c16
added props_text (from isar_syn.ML);
src/Pure/Isar/outer_parse.ML
--- a/src/Pure/Isar/outer_parse.ML	Fri Sep 19 21:00:48 2008 +0200
+++ b/src/Pure/Isar/outer_parse.ML	Fri Sep 19 21:00:49 2008 +0200
@@ -60,7 +60,6 @@
     'a * token list -> 'b list * ('a * token list)
   val list: (token list -> 'a * token list) -> token list -> 'a list * token list
   val list1: (token list -> 'a * token list) -> token list -> 'a list * token list
-  val properties: token list -> Properties.T * token list
   val name: token list -> bstring * token list
   val binding: token list -> Name.binding * token list
   val xname: token list -> xstring * token list
@@ -89,6 +88,8 @@
   val for_simple_fixes: token list -> (Name.binding * string option) list * token list
   val ML_source: token list -> (SymbolPos.text * Position.T) * token list
   val doc_source: token list -> (SymbolPos.text * Position.T) * token list
+  val properties: token list -> Properties.T * token list
+  val props_text: token list -> (Position.T * string) * token list
   val term_group: token list -> string * token list
   val prop_group: token list -> string * token list
   val term: token list -> string * token list
@@ -223,8 +224,6 @@
 fun list1 scan = enum1 "," scan;
 fun list scan = enum "," scan;
 
-val properties = $$$ "(" |-- !!! (list1 (string -- ($$$ "=" |-- string)) --| $$$ ")");
-
 
 (* names and text *)
 
@@ -311,6 +310,12 @@
 val ML_source = source_position (group "ML source" text);
 val doc_source = source_position (group "document source" text);
 
+val properties = $$$ "(" |-- !!! (list1 (string -- ($$$ "=" |-- string)) --| $$$ ")");
+
+val props_text =
+  Scan.optional properties [] -- position string >> (fn (props, (str, pos)) =>
+    (Position.of_properties (Position.default_properties pos props), str));
+
 
 (* terms *)