Download reusable_components_..
Transcript
20
Reusable Components—Reference Manual
4.3 BASIC IO: vt100 style inputs/outputs
OPERATIONS
INTERVAL READ operator input of an integer in mm..nn.
INT WRITE
print an integer.
BOOL READ
operator input of a Boolean TRUE or FALSE state
BOOL WRITE
print TRUE or FALSE.
CHAR READ
operator input of a character.
CHAR WRITE
print a character.
STRING WRITE print a message.
SIMPLE EXAMPLE
The following implementation displays “hello” on the terminal:
MACHINE
bonj
OPERATIONS
main = skip
END
IMPLEMENTATION
bonj 1
REFINES
bonj
IMPORTS
BASIC IO
OPERATIONS
main = begin
STRING WRITE("hello\n")
end
END
DESCRIPTION
BASIC IO is used for simple input/output actions on a terminal. This basic machine is
used to build models. Such I/O cannot be considered as safe.
In UNIX, the system devices used are standard input and standard output (stdin and
stdout), they can therefore be redirected.
INTERVAL READ
syntax
bb ← INTERVAL READ(mm,nn)
preconditions mm and nn must be NATs so that mm≤nn
outputs
bb integer in mm..nn
The operator inputs an integer of the interval mm..nn. The input format forces to type a
succession of number(s) followed by RETURN. The first input character must be a number.
On the opposite case, the input fails “ 3” is not valid). When a character that is not the
first input is not a number anymore, this character, as all the following ones, are ignored:
“3e2” is a valid input of the integer 3. As long as the input is false, the message“THIS IS
NOT A NUMBER IN mm..nn” is displayed and a new entry is required.