Difference between revisions of "SCI Programming Language/Introduction"

From SCI Wiki
Jump to navigationJump to search
Line 53: Line 53:
 
 
 
 
  
<span style="float: left">[[The SCI Programming Language |&lt; Previous: Table of Contents]]</span><span style="float: right">[[The SCI Programming Language/Files|Next: Files &gt;]]</span>
+
<span style="float: left">[[The SCI Programming Language |&lt; Previous: Table of Contents]]</span><span style="float: right">[[The SCI Programming Language/Primitive Procedures|Next: Primitive Procedures &gt;]]</span>
  
 
&nbsp;
 
&nbsp;

Revision as of 19:49, 24 May 2016

Official SCI Documentation

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


Introduction to the SCI Language
Author: Jeff Stephenson

 

The SCI language is an object-oriented language with a Lisp-like syntax. It is compiled by the sc compiler into p-machine code which is used by the interpreter, sci.exe. 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. Like Lisp, SCI is based on parenthesized expressions which return values. An expression is of the form:

(procedure [parameter parameter...])

The parameters to a procedure may themselves be expressions to be evaluated, and may be nested until you lose track of the parentheses. Unlike Lisp, a procedure itself may not be the result of an evaluation. An example of an expression is:

(+ (-y 2) (/ x 3))

which would be written in infix notation as:

(y -2) + (x / 3)

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 SCI begin with a semicolon and continue to the end of the line.

 

Table of Contents

 

< Previous: Table of ContentsNext: Primitive Procedures >