let check_variable_name str =
let () =
if String.length str = 0 then
failwith "'' is not a valid name."
in
let () =
match str.[0] with
| '0' .. '9' | '_' ->
failwithf
"%S is not a valid variable name. It must not start with %C."
str str.[0]
| _ ->
()
in
String.iter
(function
| 'A' .. 'Z' | 'a' .. 'z' | '_' | '0' .. '9' ->
()
| c ->
failwithf
"%S is not a valid variable name. It must not contain %C."
str c)
str