Lisaac prototype interface

Section Header
+ name := Expanded CHAR_UNICODE -> UINTEGER_16;
- comment := "Static Unicode Character library .";
- type := `unsigned short`;
- default := '\0';
Section Insert
- parent_character_ref:CHARACTER_REF :=
Section Public
- in_range low:CHAR_UNICODE to up:CHAR_UNICODE :BOOLEAN <-
General :
- object_size:INTEGER :=
- pointer_size:INTEGER :=
- maximum:INTEGER :=
- minimum:INTEGER :=
- '==' other:CHAR_UNICODE :BOOLEAN <- (code == other.code); BSBS=> JBJB A revoir
- to_uinteger_16:UINTEGER_16 <-
Auto-cast
- print <- to_uinteger_16.print; BSBS-> JBJB a revoir !!
- to_integer:INTEGER <-
Sign-extended conversion.
- code:INTEGER_8 <-
ASCII code of Current.
No Sign-extended conversion.
Print.
- print <-
Switch case :
- when value:CHAR_UNICODE then block:BLOCK :CHAR_UNICODE <-
- when first_value:CHAR_UNICODE to last_value:CHAR_UNICODE then block:BLOCK :CHAR_UNICODE <-
Binary operator :
- '+' other:CHAR_UNICODE :CHAR_UNICODE <-
- '-' other:CHAR_UNICODE :CHAR_UNICODE <-
- '!==' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- '==' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- '<' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- '<=' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- '>' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- '>=' other:CHAR_UNICODE :BOOLEAN <-
Comparison using `code'.
- decimal_value:INTEGER <-
Gives the value of a decimal digit.
- binary_value:INTEGER <-
Gives the value of a binary digit.
- octal_value:INTEGER <-
Gives the value of an octal digit.
- hexadecimal_value:INTEGER <-
Gives the value of an hexadecimal digit.
- same_as other:CHAR_UNICODE :BOOLEAN <-
Case insensitive comparison.
No difference between upper/lower case letters.
- to_upper:CHAR_UNICODE <-
Conversion to the corresponding upper case.
- to_lower:CHAR_UNICODE <-
Conversion to the corresponding lower case.
- is_letter:BOOLEAN <-
Is it a letter ('a' .. 'z' or 'A' .. 'Z') ?
- is_digit:BOOLEAN <-
Belongs to '0'..'9'.
- is_binary_digit:BOOLEAN <-
Belongs to '0'..'1'.
- is_octal_digit:BOOLEAN <-
Belongs to '0'..'7'.
- is_hexadecimal_digit:BOOLEAN <-
Is it one character of "0123456789abcdefABCDEF" ?
- is_lower:BOOLEAN <-
Is it some lowercase letter ('a'..'z')?
- is_upper:BOOLEAN <-
Is it some uppercase letter ('A'..'Z')?
- is_separator:BOOLEAN <-
True when character is a separator.
- is_letter_or_digit:BOOLEAN <-
Is it a letter (see `is_letter') or a digit (see `is_digit') ?
- is_ascii:BOOLEAN :=
Is character a 8-bit ASCII character?
- is_bit:BOOLEAN <-
True for `0' and `1'.
- next:CHAR_UNICODE <-
Give the next character (the following `code');
- previous:CHAR_UNICODE <-
Give the previous character (the `code' before);
Conversions:
- to_hexadecimal:STRING <-
Create a new STRING giving the `code' in hexadecimal.
For example :
(255).to_character.to_hexadecimal gives "FF".
Note: see `to_hexadecimal_in' to save memory.
- to_hexadecimal_in str:STRING <-
Append the equivalent of `to_hexadecimal' at the end of
`str'. Thus you can save memory because no other
STRING is allocate for the job.
Miscellaneous:
- is_alpha:BOOLEAN <-
See `is_letter' (yes this is just a call to `is_letter').
Isn't `is_letter' better English ;-)
Hashing :
- hash_code: INTEGER <-