src/Pure/General/binding.ML
changeset 41254 78c3e472bb35
parent 39442 73bcb12fdc69
child 42381 309ec68442c6
equal deleted inserted replaced
41253:42f24340ae53 41254:78c3e472bb35
    28   val prefix_of: binding -> (string * bool) list
    28   val prefix_of: binding -> (string * bool) list
    29   val map_prefix: ((string * bool) list -> (string * bool) list) -> binding -> binding
    29   val map_prefix: ((string * bool) list -> (string * bool) list) -> binding -> binding
    30   val prefix: bool -> string -> binding -> binding
    30   val prefix: bool -> string -> binding -> binding
    31   val conceal: binding -> binding
    31   val conceal: binding -> binding
    32   val str_of: binding -> string
    32   val str_of: binding -> string
       
    33   val bad: binding -> string
       
    34   val check: binding -> unit
    33 end;
    35 end;
    34 
    36 
    35 structure Binding: BINDING =
    37 structure Binding: BINDING =
    36 struct
    38 struct
    37 
    39 
   125 
   127 
   126 fun str_of binding =
   128 fun str_of binding =
   127   qualified_name_of binding
   129   qualified_name_of binding
   128   |> Markup.markup (Position.markup (pos_of binding) (Markup.binding (name_of binding)));
   130   |> Markup.markup (Position.markup (pos_of binding) (Markup.binding (name_of binding)));
   129 
   131 
       
   132 
       
   133 (* check *)
       
   134 
       
   135 fun bad binding =
       
   136   "Bad name binding: " ^ quote (str_of binding) ^ Position.str_of (pos_of binding);
       
   137 
       
   138 fun check binding =
       
   139   if Symbol.is_ident (Symbol.explode (name_of binding)) then ()
       
   140   else legacy_feature (bad binding);
       
   141 
   130 end;
   142 end;
   131 end;
   143 end;
   132 
   144 
   133 type binding = Binding.binding;
   145 type binding = Binding.binding;
   134 
   146