some position reports for 'translations';
authorwenzelm
Sat, 09 Apr 2011 23:29:50 +0200
changeset 42326 e2d22eb4aeb9
parent 42325 104472645443
child 42327 7c7cc7590eb3
some position reports for 'translations';
src/Pure/Isar/isar_syn.ML
src/Pure/Isar/parse.ML
--- a/src/Pure/Isar/isar_syn.ML	Sat Apr 09 15:00:23 2011 +0200
+++ b/src/Pure/Isar/isar_syn.ML	Sat Apr 09 23:29:50 2011 +0200
@@ -171,8 +171,9 @@
 (* translations *)
 
 val trans_pat =
-  Scan.optional (Parse.$$$ "(" |-- Parse.!!! (Parse.xname --| Parse.$$$ ")")) "logic"
-    -- Parse.string;
+  Scan.optional
+    (Parse.$$$ "(" |-- Parse.!!! (Parse.xname --| Parse.$$$ ")")) "logic"
+    -- Parse.inner_syntax Parse.string;
 
 fun trans_arrow toks =
   ((Parse.$$$ "\\<rightharpoonup>" || Parse.$$$ "=>") >> K Syntax.Parse_Rule ||
--- a/src/Pure/Isar/parse.ML	Sat Apr 09 15:00:23 2011 +0200
+++ b/src/Pure/Isar/parse.ML	Sat Apr 09 23:29:50 2011 +0200
@@ -15,7 +15,8 @@
   val triple2: 'a * ('b * 'c) -> 'a * 'b * 'c
   val triple_swap: ('a * 'b) * 'c -> ('a * 'c) * 'b
   val not_eof: Token.T parser
-  val position: (Token.T list -> 'a * 'b) -> Token.T list -> ('a * Position.T) * 'b
+  val position: 'a parser -> ('a * Position.T) parser
+  val inner_syntax: 'a parser -> string parser
   val command: string parser
   val keyword: string parser
   val short_ident: string parser