src/Pure/Syntax/syntax.ML
changeset 55829 b7bdea5336dd
parent 55828 42ac3cfb89f6
child 56334 6b3739fee456
equal deleted inserted replaced
55828:42ac3cfb89f6 55829:b7bdea5336dd
    13   val ambiguity_warning_raw: Config.raw
    13   val ambiguity_warning_raw: Config.raw
    14   val ambiguity_warning: bool Config.T
    14   val ambiguity_warning: bool Config.T
    15   val ambiguity_limit_raw: Config.raw
    15   val ambiguity_limit_raw: Config.raw
    16   val ambiguity_limit: int Config.T
    16   val ambiguity_limit: int Config.T
    17   val read_token_pos: string -> Position.T
    17   val read_token_pos: string -> Position.T
    18   val read_token_source: string -> Symbol_Pos.source
    18   val read_token: string -> Symbol_Pos.source
    19   val read_token_content: string -> string * Position.T
       
    20   val parse_token: Proof.context -> (XML.tree list -> 'a) ->
    19   val parse_token: Proof.context -> (XML.tree list -> 'a) ->
    21     (bool -> Markup.T) -> (Symbol_Pos.T list * Position.T -> 'a) -> string -> 'a
    20     (bool -> Markup.T) -> (Symbol_Pos.T list * Position.T -> 'a) -> string -> 'a
    22   val parse_sort: Proof.context -> string -> sort
    21   val parse_sort: Proof.context -> string -> sort
    23   val parse_typ: Proof.context -> string -> typ
    22   val parse_typ: Proof.context -> string -> typ
    24   val parse_term: Proof.context -> string -> term
    23   val parse_term: Proof.context -> string -> term
   176 
   175 
   177 in
   176 in
   178 
   177 
   179 fun read_token_pos str = #2 (token_position (YXML.parse str handle Fail msg => error msg));
   178 fun read_token_pos str = #2 (token_position (YXML.parse str handle Fail msg => error msg));
   180 
   179 
   181 fun read_token_source str = token_source (YXML.parse str handle Fail msg => error msg);
   180 fun read_token str = token_source (YXML.parse str handle Fail msg => error msg);
   182 
       
   183 fun read_token_content str =
       
   184   let
       
   185     val {text, pos, ...} = read_token_source str;
       
   186     val syms = Symbol_Pos.explode (text, pos);
       
   187   in (Symbol_Pos.content syms, pos) end;
       
   188 
   181 
   189 fun parse_token ctxt decode markup parse str =
   182 fun parse_token ctxt decode markup parse str =
   190   let
   183   let
   191     fun parse_tree tree =
   184     fun parse_tree tree =
   192       let
   185       let