    class
    	CONSOLE

    General
    	cluster: base
    	description:
    		"Commonly used console input and output mechanisms.
    		This class may be used as ancestor by classes needing its facilities."
    	create: make_open_stdin, make_open_stdout, make_open_stderr

    Ancestors
    	ANY
    	PLAIN_TEXT_FILE

    Queries
    	Count: INTEGER_32
    	end_of_file: BOOLEAN
    	exists: BOOLEAN
    	extendible: BOOLEAN
    	file_pointer: POINTER
    	file_readable: BOOLEAN
    	is_closed: BOOLEAN
    	is_open_write: BOOLEAN
    	last_character: CHARACTER_8
    	last_double: REAL_64
    	last_integer: INTEGER_32
    	last_integer_16: INTEGER_16
    	last_integer_32: INTEGER_32
    	last_integer_64: INTEGER_64
    	last_integer_8: INTEGER_8
    	last_natural: NATURAL_32
    	last_natural_16: NATURAL_16
    	last_natural_32: NATURAL_32
    	last_natural_64: NATURAL_64
    	last_natural_8: NATURAL_8
    	last_real: REAL_32
    	last_string: STRING_8
    	lastchar: CHARACTER_8
    	lastdouble: REAL_64
    	lastint: INTEGER_32
    	lastreal: REAL_32
    	laststring: STRING_8
    	readable: BOOLEAN
    	separator: CHARACTER_8

    Commands
    	append (f: [like Current] CONSOLE)
    	dispose
    	make_open_stderr (fn: STRING_8)
    	make_open_stdin (fn: STRING_8)
    	make_open_stdout (fn: STRING_8)
    	new_line
    	next_line
    	put_boolean (b: BOOLEAN)
    	put_character (c: CHARACTER_8)
    	put_double (d: REAL_64)
    	put_new_line
    	put_real (r: REAL_32)
    	put_string (s: STRING_8)
    	putbool (b: BOOLEAN)
    	putchar (c: CHARACTER_8)
    	putdouble (d: REAL_64)
    	putreal (r: REAL_32)
    	putstring (s: STRING_8)
    	read_character
    	read_double
    	read_line
    	read_real
    	read_stream (nb_char: INTEGER_32)
    	read_word
    	readchar
    	readdouble
    	readline
    	readreal
    	readstream (nb_char: INTEGER_32)
    	readword