SCI Programming Language/Definitions

From SCI Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Official SCI Documentation

Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Index


Definitions
Author: Jeff Stephenson

 


define

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)

then:

(symbol)

will become:

(some text)

which then becomes:

(even more text)


enum

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
)

sets AT FRONT_ DOOR to 7, IN _ ROOM to 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.

Notes


Table of Contents

< Previous: Data Types and Variables Next: Control Flow >