end_of_input means the previous attempt in character reading failed because the end has been
So last_character is not valid and you are not allowed to do any read attempt
Just after a successful connect, end_of_input is always False because you did not yet read
Once the end of input has been reached, this is definitive in that no more characters will ever
be provided (but of course you can still come back if can_unread_character; end_of_input
will be changed if you unread_character). In that, it is different from can_read_character
which is only a temporary state.
Please refer to SmartEiffel FAQ or tutorial/io examples.
Skip all separators (see is_separator of class CHARACTER) and make the first non-separator
available in last_character.
This non-separator character is pushed back into the stream (see
unread_character) to be available one more time (the next read_character will consider this
non-separator). When end_of_input occurs, this process is automatically stopped.
Read a complete line ended by '%N' or end_of_input.%
% Make the result available in last_string
common buffer. The end of line character (usually '%N') is not added in the last_string buffer.
Read tutorial or io cluster documentation to learn the read_line usage pattern.
Read a word using is_separator of class CHARACTER.
The result is available in the last_string
common buffer. Heading separators are automatically skipped. Trailing separators are not skipped
(last_character is left on the first one). If end_of_input is encountered, Result can be the
Try to skip enough characters in order to reach the keyword which is skipped too.
keyword is not in the remainder of this stream, the process is stopped as soon as end_of_input
occurs. As for skip_separators the following character of the keyword is available in
last_character and not yet read.