The Script Programming Language/Definitions

From Sierra Wiki
Jump to navigationJump to search

The Original SCI Documentation

Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Index


The Script Programming Language

Definitions

Author: Jeff Stephenson

 


Definitions


define:

The define statement allows you to define a symbol which will stand for a string of text:

Code:

<syntaxhighlight lang="sci"> (define symbol lots of text) </syntaxhighlight>

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

Code:

<syntaxhighlight lang="sci"> (define symbol some text) (define some even more) </syntaxhighlight>

then

Code:

<syntaxhighlight lang="sci"> (symbol) </syntaxhighlight>

will become

Code:

<syntaxhighlight lang="sci"> (some text) </syntaxhighlight>

which then becomes

Code:

<syntaxhighlight lang="sci"> (even more text) </syntaxhighlight>


enum:

A construct for easing the definition of various states of a state-variable is enum. 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, which could be defined with defines:

Code:

<syntaxhighlight lang="sci"> (local actor-pos (define at-front-door 0) (define in-room 1) (define on-stairs 2) (define top-of-stairs 3) (define upper-door 4) ) </syntaxhighlight>

or you could get the same result with enum:

Code:

<syntaxhighlight lang="sci"> (local actor-pos (enum at-front-door in-room on-stairs top-of-stairs upper-door ) )</syntaxhighlight>

Enum defaults its first symbol to 0. If you want a different starting value, put it right after the word enum:

Code:

<syntaxhighlight lang="sci"> (enum 7 at-front-door in-room on-stairs top-of-stairs upper-door ) </syntaxhighlight>

sets at-front-door to 7, in-room to 8, etc.


synonyms:

The synonyms statement defines synonyms of words. All words must have been defined in the vocabulary file (see separate Vocabulary documentation). The statement

Code:

<syntaxhighlight lang="sci"> (synonyms (main-word synonym1 synonym2 ...) ... ) </syntaxhighlight>

defines the words synonym1, synonym2, etc. to be synonyms of main-word. In input being interpreted by the script in which the synonym statement is defined, user input of synonym1 will be interpreted as if the user had typed main-word.


 

Notes


 

Table of Contents

< Previous: Files Next: Data Types and Variables >