<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE> A Guide to the S-Lang Language</TITLE>
<LINK HREF="slang-1.html" REL=next>


</HEAD>
<BODY>
<A HREF="slang-1.html">Next</A>
Previous
Contents
<HR>
<H1> A Guide to the S-Lang Language</H1>

<H2>John E. Davis, <CODE>davis@space.mit.edu</CODE></H2> Sun Apr 23 00:37:44 2000
<P>
<H2><A NAME="toc1">1.</A> <A HREF="slang-1.html">Preface</A></H2>

<UL>
<LI><A HREF="slang-1.html#ss1.1">1.1 A Brief History of <B>S-Lang</B></A>
<LI><A HREF="slang-1.html#ss1.2">1.2 Acknowledgements</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="slang-2.html">Introduction</A></H2>

<UL>
<LI><A HREF="slang-2.html#ss2.1">2.1 Language Features</A>
<LI><A HREF="slang-2.html#ss2.2">2.2 Data Types and Operators</A>
<LI><A HREF="slang-2.html#ss2.3">2.3 Statements and Functions</A>
<LI><A HREF="slang-2.html#ss2.4">2.4 Error Handling</A>
<LI><A HREF="slang-2.html#ss2.5">2.5 Run-Time Library</A>
<LI><A HREF="slang-2.html#ss2.6">2.6 Input/Output</A>
<LI><A HREF="slang-2.html#ss2.7">2.7 Obtaining <B>S-Lang</B></A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="slang-3.html">Overview of the Language</A></H2>

<UL>
<LI><A HREF="slang-3.html#ss3.1">3.1 Variables and Functions</A>
<LI><A HREF="slang-3.html#ss3.2">3.2 Strings</A>
<LI><A HREF="slang-3.html#ss3.3">3.3 Referencing and Dereferencing</A>
<LI><A HREF="slang-3.html#ss3.4">3.4 Arrays</A>
<LI><A HREF="slang-3.html#ss3.5">3.5 Structures and User-Defined Types</A>
<LI><A HREF="slang-3.html#ss3.6">3.6 Namespaces</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="slang-4.html">Data Types and Literal Constants</A></H2>

<UL>
<LI><A HREF="slang-4.html#ss4.1">4.1 Predefined Data Types</A>
<LI><A HREF="slang-4.html#ss4.2">4.2 Typecasting: Converting from one Type to Another</A>
</UL>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="slang-5.html">Identifiers</A></H2>

<P>
<H2><A NAME="toc6">6.</A> <A HREF="slang-6.html">Variables</A></H2>

<P>
<H2><A NAME="toc7">7.</A> <A HREF="slang-7.html">Operators</A></H2>

<UL>
<LI><A HREF="slang-7.html#ss7.1">7.1 Unary Operators</A>
<LI><A HREF="slang-7.html#ss7.2">7.2 Binary Operators</A>
<LI><A HREF="slang-7.html#ss7.3">7.3 Mixing Integer and Floating Point Arithmetic</A>
<LI><A HREF="slang-7.html#ss7.4">7.4 Short Circuit Boolean Evaluation</A>
</UL>
<P>
<H2><A NAME="toc8">8.</A> <A HREF="slang-8.html">Statements</A></H2>

<UL>
<LI><A HREF="slang-8.html#ss8.1">8.1 Variable Declaration Statements</A>
<LI><A HREF="slang-8.html#ss8.2">8.2 Assignment Statements</A>
<LI><A HREF="slang-8.html#ss8.3">8.3 Conditional and Looping Statements</A>
<LI><A HREF="slang-8.html#ss8.4">8.4 break, return, continue</A>
</UL>
<P>
<H2><A NAME="toc9">9.</A> <A HREF="slang-9.html">Functions</A></H2>

<UL>
<LI><A HREF="slang-9.html#ss9.1">9.1 Declaring Functions</A>
<LI><A HREF="slang-9.html#ss9.2">9.2 Parameter Passing Mechanism</A>
<LI><A HREF="slang-9.html#ss9.3">9.3 Referencing Variables</A>
<LI><A HREF="slang-9.html#ss9.4">9.4 Functions with a Variable Number of Arguments</A>
<LI><A HREF="slang-9.html#ss9.5">9.5 Returning Values</A>
<LI><A HREF="slang-9.html#ss9.6">9.6 Multiple Assignment Statement</A>
<LI><A HREF="slang-9.html#ss9.7">9.7 Exit-Blocks</A>
</UL>
<P>
<H2><A NAME="toc10">10.</A> <A HREF="slang-10.html">Name Spaces</A></H2>

<P>
<H2><A NAME="toc11">11.</A> <A HREF="slang-11.html">Arrays</A></H2>

<UL>
<LI><A HREF="slang-11.html#ss11.1">11.1 Creating Arrays</A>
<LI><A HREF="slang-11.html#ss11.2">11.2 Reshaping Arrays</A>
<LI><A HREF="slang-11.html#ss11.3">11.3 Indexing Arrays</A>
<LI><A HREF="slang-11.html#ss11.4">11.4 Arrays and Variables</A>
<LI><A HREF="slang-11.html#ss11.5">11.5 Using Arrays in Computations</A>
</UL>
<P>
<H2><A NAME="toc12">12.</A> <A HREF="slang-12.html">Associative Arrays</A></H2>

<P>
<H2><A NAME="toc13">13.</A> <A HREF="slang-13.html">Structures and User-Defined Types</A></H2>

<UL>
<LI><A HREF="slang-13.html#ss13.1">13.1 Defining a Structure</A>
<LI><A HREF="slang-13.html#ss13.2">13.2 Accessing the Fields of a Structure</A>
<LI><A HREF="slang-13.html#ss13.3">13.3 Linked Lists</A>
<LI><A HREF="slang-13.html#ss13.4">13.4 Defining New Types</A>
</UL>
<P>
<H2><A NAME="toc14">14.</A> <A HREF="slang-14.html">Error Handling</A></H2>

<UL>
<LI><A HREF="slang-14.html#ss14.1">14.1 Error-Blocks</A>
<LI><A HREF="slang-14.html#ss14.2">14.2 Clearing Errors</A>
</UL>
<P>
<H2><A NAME="toc15">15.</A> <A HREF="slang-15.html">Loading Files: evalfile and autoload</A></H2>

<P>
<H2><A NAME="toc16">16.</A> <A HREF="slang-16.html">File Input/Output</A></H2>

<UL>
<LI><A HREF="slang-16.html#ss16.1">16.1 Input/Output via stdio</A>
<LI><A HREF="slang-16.html#ss16.2">16.2 POSIX I/O</A>
<LI><A HREF="slang-16.html#ss16.3">16.3 Advanced I/O techniques</A>
</UL>
<P>
<H2><A NAME="toc17">17.</A> <A HREF="slang-17.html">Debugging</A></H2>

<P>
<H2><A NAME="toc18">18.</A> <A HREF="slang-18.html">Regular Expressions</A></H2>

<UL>
<LI><A HREF="slang-18.html#ss18.1">18.1 <B>S-Lang</B> RE Syntax</A>
<LI><A HREF="slang-18.html#ss18.2">18.2 Differences between <B>S-Lang</B> and egrep REs</A>
</UL>
<P>
<H2><A NAME="toc19">19.</A> <A HREF="slang-19.html">Future Directions</A></H2>

<H2>Appendix</H2>
<P>
<H2><A NAME="toc20">20.</A> <A HREF="slang-20.html">Copyright</A></H2>

<UL>
<LI><A HREF="slang-20.html#ss20.1">20.1 The GNU Public License</A>
<LI><A HREF="slang-20.html#ss20.2">20.2 The Artistic License</A>
</UL>
<HR>
<A HREF="slang-1.html">Next</A>
Previous
Contents
</BODY>
</HTML>
