Difference between revisions of "The Script Programming Language"

From SCI Wiki
Jump to navigationJump to search
(Created page with " The Script Programming Language Author: Jeff Stephenson<br /> Date: 4 April 1988 ==<br /> Introduction == The Script adventure game language is an object-oriented langua...")
 
 
(80 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Script Programming Language
+
[[Official SCI Documentation]]<br />
  
Author: Jeff Stephenson<br />
+
<div align="center"><span style="font-size: 22pt">The Script Programming Language</span><br />
Date: 4 April 1988  
+
''Author: [[Jeff Stephenson]]''<br />
 +
Date: 4 April 1988</div>
  
 +
<blockquote>
 +
*[[The Script Programming Language/Introduction | Introduction]]
 +
*[[The Script Programming Language/Files | Files]]
 +
*[[The Script Programming Language/Definitions | Definitions]]
 +
*[[The Script Programming Language/Data Types and Variables | Data Types and Variables]]
 +
*[[The Script Programming Language/Primitive Procedures | Primitive Procedures]]
 +
**[[The Script Programming Language/Primitive Procedures#Arithmetic primitives | Arithmetic primitives]]
 +
**[[The Script Programming Language/Primitive Procedures#Boolean primitives | Boolean primitives]]
 +
**[[The Script Programming Language/Primitive Procedures#Assignment primitives | Assignment primitives]]
 +
*[[The Script Programming Language/Control Flow | Control Flow]]
 +
**[[The Script Programming Language/Control Flow#Conditionals | Conditionals]]
 +
**[[The Script Programming Language/Control Flow#Iteration | Iteration]]
 +
*[[The Script Programming Language/Procedures | Procedures]]
 +
*[[The Script Programming Language/Using SC | Using SC]]
 +
*[[The Script Programming Language/Index | Index]]
 +
</blockquote>
  
==<br /> Introduction ==
+
<div align="center">
 +
Chapter:
 +
[[The Script Programming Language/Introduction|1]] |
 +
[[The Script Programming Language/Files|2]] |
 +
[[The Script Programming Language/Definitions|3]] |
 +
[[The Script Programming Language/Data Types and Variables|4]] |
 +
[[The Script Programming Language/Primitive Procedures|5]] |
 +
[[The Script Programming Language/Control Flow|6]] |
 +
[[The Script Programming Language/Procedures|7]] |
 +
[[The Script Programming Language/Using SC|8]] |
 +
[[The Script Programming Language/Index|Index]]
 +
</div><br />
  
The Script adventure game language is an object-oriented language with a
+
* [[Media:SCRIPT.pdf|Download The Script Programming Language in PDF Form]]<br />
Lisp-like syntax. It is compiled by the sc compiler into the pseudo-code
 
which is used by the interpreter, sci.
 
  
We will begin our discussion of the language with its basic Lisp-like
 
characteristics, then go on to the object-oriented parts of the language.
 
  
As is Lisp, Script is based on parenthesized expressions which return
+
&nbsp;
values. An expression is of the form
 
  
<div class="CodeBlockHeader">Code:</div>
+
<span style="float: left"><span class="Inactive">&lt; Previous: </span></span><span style="float: right">[[The Script Programming Language/Introduction|Next: Introduction &gt;]]</span>
<syntaxhighlight lang="sci">
 
(procedure [parameter parameter ...]).</syntaxhighlight>
 
  
The parameters to a procedure may themselves be expressions to be
+
&nbsp;
evaluated, and may be nested until you lose track of the parentheses.
 
  
Unlike Lisp, the procedure itself may NOT be the result of an evaluation. An
+
[[Category:SCI Documentation]]
example of an expression is
+
[[Category:Scripting]]
 
 
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
(+ (- y 2) (/ x 3))</syntaxhighlight>
 
 
 
which would be written in infix notation as
 
 
 
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
(y - 2) + (x / 3).</syntaxhighlight>
 
 
 
All expressions are guaranteed to be evaluated from left to right. Thus,
 
 
 
(= x 4)
 
(= y (/ (+= x 4) (/= x 2)))
 
will result in y = 2 and x = 4.
 
 
 
Comments in Script begin with a semi-colon, ';', and continue to the end of
 
the line.
 

Latest revision as of 20:12, 2 December 2015