# HG changeset patch # User wenzelm # Date 1281290611 -7200 # Node ID 43c13eb0d84220e64f9156a5271c9c33dc6f97ae # Parent 8b0383334031a0ff2b8666462ccf7a5b3d0c795a proper context for Syntax.parse_token; diff -r 8b0383334031 -r 43c13eb0d842 src/Pure/Isar/proof_context.ML --- a/src/Pure/Isar/proof_context.ML Sun Aug 08 19:54:54 2010 +0200 +++ b/src/Pure/Isar/proof_context.ML Sun Aug 08 20:03:31 2010 +0200 @@ -738,14 +738,14 @@ fun parse_sort ctxt text = let - val (syms, pos) = Syntax.parse_token Markup.sort text; + val (syms, pos) = Syntax.parse_token ctxt Markup.sort text; val S = Syntax.standard_parse_sort ctxt (syn_of ctxt) (syms, pos) handle ERROR msg => cat_error msg ("Failed to parse sort" ^ Position.str_of pos) in Type.minimize_sort (tsig_of ctxt) S end; fun parse_typ ctxt text = let - val (syms, pos) = Syntax.parse_token Markup.typ text; + val (syms, pos) = Syntax.parse_token ctxt Markup.typ text; val T = Syntax.standard_parse_typ ctxt (syn_of ctxt) (get_sort ctxt) (syms, pos) handle ERROR msg => cat_error msg ("Failed to parse type" ^ Position.str_of pos); in T end; @@ -756,7 +756,7 @@ val (T', _) = Type_Infer.paramify_dummies T 0; val (markup, kind) = if T' = propT then (Markup.prop, "proposition") else (Markup.term, "term"); - val (syms, pos) = Syntax.parse_token markup text; + val (syms, pos) = Syntax.parse_token ctxt markup text; fun check t = (Syntax.check_term ctxt (Type_Infer.constrain T' t); NONE) handle ERROR msg => SOME msg; diff -r 8b0383334031 -r 43c13eb0d842 src/Pure/Syntax/syntax.ML --- a/src/Pure/Syntax/syntax.ML Sun Aug 08 19:54:54 2010 +0200 +++ b/src/Pure/Syntax/syntax.ML Sun Aug 08 20:03:31 2010 +0200 @@ -80,7 +80,7 @@ (string * string) trrule list -> syntax -> syntax val update_trrules_i: ast trrule list -> syntax -> syntax val remove_trrules_i: ast trrule list -> syntax -> syntax - val parse_token: Markup.T -> string -> Symbol_Pos.T list * Position.T + val parse_token: Proof.context -> Markup.T -> string -> Symbol_Pos.T list * Position.T val parse_sort: Proof.context -> string -> sort val parse_typ: Proof.context -> string -> typ val parse_term: Proof.context -> string -> term @@ -694,10 +694,10 @@ (* (un)parsing *) -fun parse_token markup str = +fun parse_token ctxt markup str = let val (syms, pos) = read_token str; - val _ = Position.report markup pos; + val _ = Context_Position.report ctxt markup pos; in (syms, pos) end; local