Module OASISUtils

module OASISUtils: sig .. end
Various utilities
Author(s): Sylvain Le Gall


Map


module MapExt: sig .. end
module MapString: MapExt.S  with type key = String.t

Set


module SetExt: sig .. end
module SetString: SetExt.S  with type elt = String.t
Set for String.
module SetStringCsl: SetExt.S  with type elt = String.t
Set for String.

Hashtable


module HashStringCsl: Hashtbl.S  with type key = String.t
Caseless string hashtable

Variable name


val varname_of_string : ?hyphen:char -> string -> string
varname_of_string ~hyphen:c s Transform a string s into a variable name, following this convention: no digit at the beginning, lowercase, only a-z and 0-9 chars. Whenever there is a problem, use an hyphen.
val varname_concat : ?hyphen:char -> string -> string -> string
varname_concat ~hyphen p s Concat variable name, removing hyphen at end of p and at beginning of s.
val is_varname : string -> bool
is_varname str Check that the string str is a valid varname. See OASISUtils.varname_of_string for definition.

Fail with Printf.sprintf


val failwithf : ('a, unit, string, 'b) Pervasives.format4 -> 'a
This function raises the Failure exception just as failwith except that one specifies the string raised through a format string.

Example: failwithf "Cannot do %s because of %d" str i

val file_location : ?pos1:Lexing.position ->
?pos2:Lexing.position -> ?lexbuf:Lexing.lexbuf -> unit -> string
This function returns a string describing a position in a file, to locate an error. The format of the string is compatible with OCaml compilation location format.
val failwithpf : ?pos1:Lexing.position ->
?pos2:Lexing.position ->
?lexbuf:Lexing.lexbuf -> ('a, unit, string, 'b) Pervasives.format4 -> 'a
This function raises the Failure exception just as failwith except that one specifies the string raised through a format string and locate the error using lexbuf in the source file.

Example: failwithpf lexbuf "Cannot do %s because of %d" str i


String


val compare_csl : string -> string -> int
Caseless compare function

Options


val may : ('a -> unit) -> 'a option -> unit
may f (Some x) calls f x or do nothing.
module POSIXShell: sig .. end