Difference between revisions of "SCI Programming Language/Introduction"
(31 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
<div align="center"> | <div align="center"> | ||
Chapter: | Chapter: | ||
− | [[ | + | [[SCI Programming Language/Introduction|1]] | |
− | [[ | + | [[SCI Programming Language/Primitive Procedures|2]] | |
− | [[ | + | [[SCI Programming Language/Primitive_Procedures#Arithmetic_Primitives|3]] | |
− | [[ | + | [[SCI Programming Language/Primitive_Procedures#Boolean_Primitives|4]] | |
− | [[ | + | [[SCI Programming Language/Primitive_Procedures#Assignment_Primitives |5]] | |
− | [[ | + | [[SCI Programming Language/Data Types and Variables|6]] | |
− | [[ | + | [[SCI Programming Language/Definitions|7]] | |
− | [[ | + | [[SCI Programming Language/Control Flow|8]] | |
− | [[ | + | [[SCI Programming Language/Control Flow#Conditionals|9]] | |
− | [[ | + | [[SCI Programming Language/Control Flow#Iteration|10]] | |
− | [[ | + | [[SCI Programming Language/Procedures|11]] | |
− | [[ | + | [[SCI Programming Language/Files|12]] | |
− | [[ | + | [[SCI Programming Language/Compiling SCI|13]] | |
− | [[ | + | [[SCI Programming Language/Index|Index]] |
</div><br /> | </div><br /> | ||
− | <div align="center"><span style="font-size: 22pt">Introduction to the SCI Language</span><br /> | + | <div align="center"><span style="font-size: 22pt">Introduction to the SCI Programming Language</span><br /> |
''Author: [[Jeff Stephenson]]''</div> | ''Author: [[Jeff Stephenson]]''</div> | ||
Line 34: | Line 34: | ||
which would be written in infix notation as: | which would be written in infix notation as: | ||
− | (y -2) + (x / 3) | + | <blockquote>(y -2) + (x / 3)</blockquote> |
All expressions are guaranteed to be evaluated from left to right. Thus, | All expressions are guaranteed to be evaluated from left to right. Thus, | ||
<blockquote> | <blockquote> | ||
− | <code>(= x 4) | + | <code>(= x 4)</code><br /> |
− | (= y (/ (+= x 4) ( / = x 2)))</code> | + | <code>(= y (/ (+= x 4) ( / = x 2)))</code> |
</blockquote> | </blockquote> | ||
Line 46: | Line 46: | ||
Comments in SCI begin with a semicolon and continue to the end of the line. | Comments in SCI begin with a semicolon and continue to the end of the line. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[The SCI Programming Language | Table of Contents]] | [[The SCI Programming Language | Table of Contents]] | ||
− | + | <span style="float: left">[[SCI Programming Language|< Previous: Table of Contents]]</span> | |
− | + | <span style="float: right">[[SCI Programming Language/Primitive Procedures|Next: Primitive Procedures >]]</span> | |
− | <span style="float: left">[[ | ||
| | ||
[[Category:SCI Documentation]] | [[Category:SCI Documentation]] | ||
+ | [[Category:SCI32]] | ||
[[Category:Scripting]] | [[Category:Scripting]] |
Latest revision as of 21:45, 24 May 2016
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.
< Previous: Table of Contents Next: Primitive Procedures >