src/Pure/General/symbol.ML
changeset 69592 a80d8ec6c998
parent 69490 ce85542368b9
child 69891 def3ec9cdb7e
equal deleted inserted replaced
69591:cc6a21413f8a 69592:a80d8ec6c998
    21   val is_char: symbol -> bool
    21   val is_char: symbol -> bool
    22   val is_utf8: symbol -> bool
    22   val is_utf8: symbol -> bool
    23   val is_symbolic: symbol -> bool
    23   val is_symbolic: symbol -> bool
    24   val is_symbolic_char: symbol -> bool
    24   val is_symbolic_char: symbol -> bool
    25   val is_printable: symbol -> bool
    25   val is_printable: symbol -> bool
       
    26   val control_prefix: string
       
    27   val control_suffix: string
    26   val is_control: symbol -> bool
    28   val is_control: symbol -> bool
    27   val eof: symbol
    29   val eof: symbol
    28   val is_eof: symbol -> bool
    30   val is_eof: symbol -> bool
    29   val not_eof: symbol -> bool
    31   val not_eof: symbol -> bool
    30   val stopper: symbol Scan.stopper
    32   val stopper: symbol Scan.stopper
   133 
   135 
   134 fun is_printable s =
   136 fun is_printable s =
   135   if is_char s then 32 <= ord s andalso ord s <= Char.ord #"~"
   137   if is_char s then 32 <= ord s andalso ord s <= Char.ord #"~"
   136   else is_utf8 s orelse raw_symbolic s;
   138   else is_utf8 s orelse raw_symbolic s;
   137 
   139 
       
   140 val control_prefix = "\092<^";
       
   141 val control_suffix = ">";
       
   142 
   138 fun is_control s =
   143 fun is_control s =
   139   String.isPrefix "\092<^" s andalso String.isSuffix ">" s;
   144   String.isPrefix control_prefix s andalso String.isSuffix control_suffix s;
   140 
   145 
   141 
   146 
   142 (* input source control *)
   147 (* input source control *)
   143 
   148 
   144 val eof = "";
   149 val eof = "";