Difference between revisions of "The Script Programming Language"

From SCI Wiki
Jump to navigationJump to search
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[The Original SCI Documentation]]<br />
+
[[Official SCI Documentation]]<br />
  
 
<div align="center"><span style="font-size: 22pt">The Script Programming Language</span><br />
 
<div align="center"><span style="font-size: 22pt">The Script Programming Language</span><br />
Line 5: Line 5:
 
Date: 4 April 1988</div>
 
Date: 4 April 1988</div>
  
*[[The Script Programming Language#Introduction | Introduction]]
+
<blockquote>
 +
*[[The Script Programming Language/Introduction | Introduction]]
 
*[[The Script Programming Language/Files | Files]]
 
*[[The Script Programming Language/Files | Files]]
 
*[[The Script Programming Language/Definitions | Definitions]]
 
*[[The Script Programming Language/Definitions | Definitions]]
Line 19: Line 20:
 
*[[The Script Programming Language/Using SC | Using SC]]
 
*[[The Script Programming Language/Using SC | Using SC]]
 
*[[The Script Programming Language/Index | Index]]
 
*[[The Script Programming Language/Index | Index]]
 
&nbsp;
 
 
==<br /> Introduction ==
 
 
The Script adventure game language is an object-oriented language with a 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 values. An expression is of the form
 
 
<blockquote>
 
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
(procedure [parameter parameter ...]).
 
</syntaxhighlight>
 
 
</blockquote>
 
</blockquote>
  
The parameters to a procedure may themselves be expressions to be evaluated, and may be nested until you lose track of the parentheses.
+
<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 />
  
Unlike Lisp, the procedure itself may NOT be the result of an evaluation. An example of an expression is
+
* [[Media:SCRIPT.pdf|Download The Script Programming Language in PDF Form]]<br />
  
<blockquote>
 
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
(+ (- y 2) (/ x 3))
 
</syntaxhighlight>
 
</blockquote>
 
  
which would be written in infix notation as
+
&nbsp;
  
<blockquote>
+
<span style="float: left"><span class="Inactive">&lt; Previous: </span></span><span style="float: right">[[The Script Programming Language/Introduction|Next: Introduction &gt;]]</span>
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
      (y - 2) + (x / 3).
 
</syntaxhighlight>
 
</blockquote>
 
  
All expressions are guaranteed to be evaluated from left to right. Thus,
+
&nbsp;
 
 
<blockquote>
 
<div class="CodeBlockHeader">Code:</div>
 
<syntaxhighlight lang="sci">
 
(= x 4)
 
(= y (/ (+= x 4) (/= x 2)))
 
</syntaxhighlight>
 
</blockquote>
 
 
 
will result in y = 2 and x = 4.
 
  
Comments in Script begin with a semi-colon, ';', and continue to the end of the line.
+
[[Category:SCI Documentation]]
 +
[[Category:Scripting]]

Latest revision as of 20:12, 2 December 2015