src/Pure/Syntax/syntax_phases.ML
changeset 63395 734723445a8c
parent 62987 dc8a8a7559e7
child 64677 8dc24130e8fe
equal deleted inserted replaced
63394:7faeff3156d5 63395:734723445a8c
     5 of parse/unparse operations.
     5 of parse/unparse operations.
     6 *)
     6 *)
     7 
     7 
     8 signature SYNTAX_PHASES =
     8 signature SYNTAX_PHASES =
     9 sig
     9 sig
       
    10   val reports_of_scope: Position.T list -> Position.report list
    10   val decode_sort: term -> sort
    11   val decode_sort: term -> sort
    11   val decode_typ: term -> typ
    12   val decode_typ: term -> typ
    12   val decode_term: Proof.context ->
    13   val decode_term: Proof.context ->
    13     Position.report_text list * term Exn.result -> Position.report_text list * term Exn.result
    14     Position.report_text list * term Exn.result -> Position.report_text list * term Exn.result
    14   val parse_ast_pattern: Proof.context -> string * string -> Ast.ast
    15   val parse_ast_pattern: Proof.context -> string * string -> Ast.ast
    72      {case_class = markup_class ctxt,
    73      {case_class = markup_class ctxt,
    73       case_type = markup_type ctxt,
    74       case_type = markup_type ctxt,
    74       case_const = markup_const ctxt,
    75       case_const = markup_const ctxt,
    75       case_fixed = markup_free ctxt,
    76       case_fixed = markup_free ctxt,
    76       case_default = K []});
    77       case_default = K []});
       
    78 
       
    79 
       
    80 
       
    81 (** reports of implicit variable scope **)
       
    82 
       
    83 fun reports_of_scope [] = []
       
    84   | reports_of_scope (def_pos :: ps) =
       
    85       let
       
    86         val id = serial ();
       
    87         fun entity def = (Markup.entityN, Position.entity_properties_of def id def_pos);
       
    88       in
       
    89         map (rpair Markup.bound) (def_pos :: ps) @
       
    90         ((def_pos, entity true) :: map (rpair (entity false)) ps)
       
    91       end;
    77 
    92 
    78 
    93 
    79 
    94 
    80 (** decode parse trees **)
    95 (** decode parse trees **)
    81 
    96