1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
(*
Title: Standard Basis Library: String Signatures
Copyright David Matthews 1999, 2005, 2016
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License version 2.1 as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*)
signature CHAR =
sig
eqtype char
eqtype string
val minChar : char
val maxChar : char
val maxOrd : int
val ord : char -> int
val chr : int -> char
val succ : char -> char
val pred : char -> char
val < : (char * char) -> bool
val <= : (char * char) -> bool
val > : (char * char) -> bool
val >= : (char * char) -> bool
val compare : (char * char) -> General.order
val contains : string -> char -> bool
val notContains : string -> char -> bool
val toLower : char -> char
val toUpper : char -> char
val isAlpha : char -> bool
val isAlphaNum : char -> bool
val isAscii : char -> bool
val isCntrl : char -> bool
val isDigit : char -> bool
val isGraph : char -> bool
val isHexDigit : char -> bool
val isLower : char -> bool
val isPrint : char -> bool
val isSpace : char -> bool
val isPunct : char -> bool
val isUpper : char -> bool
val fromString : String.string -> char option
(* The argument to scan should be the global *)
val scan : (Char.char, 'a) StringCvt.reader -> (char, 'a) StringCvt.reader
val toString : char -> String.string
val fromCString : String.string -> char option
val toCString : char -> String.string
end;
signature STRING =
sig
eqtype string
eqtype char
val maxSize : int
val size : string -> int
val sub : (string * int) -> char
val extract : (string * int * int option) -> string
val substring : (string * int * int) -> string
val concat : string list -> string
val concatWith: string -> string list -> string
val ^ : (string * string) -> string
val str : char -> string
val implode : char list -> string
val explode : string -> char list
val map : (char -> char) -> string -> string
val translate : (char -> string) -> string -> string
val tokens : (char -> bool) -> string -> string list
val fields : (char -> bool) -> string -> string list
val isPrefix : string -> string -> bool
val isSubstring : string -> string -> bool
val isSuffix : string -> string -> bool
val compare : (string * string) -> General.order
val collate : ((char * char) -> General.order) ->
(string * string) -> General.order
val < : (string * string) -> bool
val <= : (string * string) -> bool
val > : (string * string) -> bool
val >= : (string * string) -> bool
val toString : string -> String.string
val scan: (Char.char, 'a) StringCvt.reader -> (string, 'a) StringCvt.reader
val fromString : String.string -> string option
val toCString : string -> String.string
val fromCString : String.string -> string option
end;
signature SUBSTRING =
sig
type substring
eqtype char
eqtype string
val size : substring -> int
val base : substring -> (string * int * int)
val isEmpty : substring -> bool
val sub : (substring * int) -> char
val getc : substring -> (char * substring) option
val first : substring -> char option
val extract : (string * int * int option) -> substring
val substring : (string * int * int) -> substring
val slice : (substring * int * int option) -> substring
val full: string -> substring
val string : substring -> string
val concat: substring list ->string
val concatWith: string -> substring list ->string
val explode : substring -> char list
val translate : (char -> string) -> substring -> string
val app : (char -> unit) -> substring -> unit
val foldl : ((char * 'a) -> 'a) -> 'a -> substring -> 'a
val foldr : ((char * 'a) -> 'a) -> 'a -> substring -> 'a
val tokens : (char -> bool) -> substring -> substring list
val fields : (char -> bool) -> substring -> substring list
val isPrefix: string -> substring -> bool
val isSubstring: string -> substring -> bool
val isSuffix: string -> substring -> bool
val compare : (substring * substring) -> General.order
val collate : ((char * char) -> General.order) ->
(substring * substring) -> General.order
val triml : int -> substring -> substring
val trimr : int -> substring -> substring
val splitl : (char -> bool) -> substring -> (substring * substring)
val splitr : (char -> bool) -> substring -> (substring * substring)
val splitAt : (substring * int) -> (substring * substring)
val dropl : (char -> bool) -> substring -> substring
val dropr : (char -> bool) -> substring -> substring
val takel : (char -> bool) -> substring -> substring
val taker : (char -> bool) -> substring -> substring
val position : string -> substring -> (substring * substring)
val span : (substring * substring) -> substring
end;
signature STRING_CVT =
sig
datatype radix = BIN | OCT | DEC | HEX
datatype realfmt
= SCI of int option
| FIX of int option
| GEN of int option
| EXACT
type ('a, 'b) reader = 'b -> ('a * 'b) option
val padLeft : char -> int -> string -> string
val padRight : char -> int -> string -> string
val splitl : (char -> bool) -> (char, 'a) reader ->'a -> (string * 'a)
val takel : (char -> bool) -> (char, 'a) reader ->'a -> string
val dropl : (char -> bool) -> (char, 'a) reader ->'a -> 'a
val skipWS : (char, 'a) reader -> 'a -> 'a
type cs
val scanString : ((char, cs) reader -> ('a, cs) reader) -> string -> 'a option
end;
|