# HG changeset patch # User nipkow # Date 1057593501 -7200 # Node ID ad6ba9c55190f6edf4ff4d0baaed7785ee13e4ee # Parent f24b2818c1e7b442df9508a660863cd3bb248f7e A patch by david aspinall diff -r f24b2818c1e7 -r ad6ba9c55190 src/Pure/Isar/outer_syntax.ML --- a/src/Pure/Isar/outer_syntax.ML Fri Jul 04 17:09:26 2003 +0200 +++ b/src/Pure/Isar/outer_syntax.ML Mon Jul 07 17:58:21 2003 +0200 @@ -60,7 +60,8 @@ val check_text: string * Position.T -> bool -> Toplevel.state -> unit val deps_thy: string -> bool -> Path.T -> string list * Path.T list val load_thy: string -> bool -> bool -> Path.T -> unit - val isar: bool -> bool -> Toplevel.isar + val isar: bool -> bool -> unit Toplevel.isar + val isar_readstring: Position.T -> string -> (string list) Toplevel.isar end; structure OuterSyntax: OUTER_SYNTAX = @@ -257,6 +258,15 @@ |> toplevel_source term true get_parser; +(* string source of transformers (for Proof General) *) + +fun isar_readstring pos str = + Source.of_string str + |> Symbol.source false + |> T.source false get_lexicons pos + |> toplevel_source false true get_parser; + + (** read theory **) diff -r f24b2818c1e7 -r ad6ba9c55190 src/Pure/Isar/toplevel.ML --- a/src/Pure/Isar/toplevel.ML Fri Jul 04 17:09:26 2003 +0200 +++ b/src/Pure/Isar/toplevel.ML Mon Jul 07 17:58:21 2003 +0200 @@ -67,8 +67,8 @@ val get_state: unit -> state val exn: unit -> (exn * string) option val >> : transition -> bool - type isar - val loop: isar -> unit + type 'a isar + val loop: 'a isar -> unit end; structure Toplevel: TOPLEVEL = @@ -471,10 +471,10 @@ (* the Isar source of transitions *) -type isar = +type 'a isar = (transition, (transition option, (OuterLex.token, (OuterLex.token option, (OuterLex.token, (OuterLex.token, - Position.T * (Symbol.symbol, (string, unit) Source.source) Source.source) + Position.T * (Symbol.symbol, (string, 'a) Source.source) Source.source) Source.source) Source.source) Source.source) Source.source) Source.source) Source.source;