SCI Programming Language/Definitions
Author: Jeff Stephenson
The define statement allows you to define a symbol which will stand for a string of text:
(define symbol lots of text)
will replace symbol, wherever it is encountered as a token, with lots of text and then continue scanning at the beginning of the replacement text. Thus, if we write:
(define symbol some text)
(define same even more)
which then becomes:
(even more text)
The enum statement eases the definition of the various states of a state-variable. Say you want to walk an actor from the door of a room across the floor, up the stairs, and through another door. You have a state-variable called actor-pos which will take on a number of values. These could be defined with defines as follows:Code:(local actorPos define AT FRONT DOOR 0) define IN ROOM 1) define ON STAIRS 2) define TOP OF STAIRS 3) define UPPER DOOR 4) )
or you could get the same result with enum:Code:(local actor-pos (enum AT FRONT DOOR IN ROOM ON STAIRS TOP OF STAIRS UPPER DOOR ) )
Enum defaults its first symbol to O. If you want a different starting value, put it right after the word enum:Code:(enum 7 AT FRONT DOOR IN ROOM ON STAIRS TOP OF STAIRS UPPER DOOR )
AT FRONT_ DOORto 7,
IN _ ROOMto 8, etc.
The value of an enum may also be defined by an expression, as follows:Code:(enum AT FRONT DOOR = (+ AT REAR DOOR 1) )
Note: Define and enum statements may be included within both global and local variable definitions.