<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE> S-Lang Library C Programmer's Guide, V1.4.2: Introduction</TITLE> <LINK HREF="cslang-3.html" REL=next> <LINK HREF="cslang-1.html" REL=previous> <LINK HREF="cslang.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="cslang-3.html">Next</A> <A HREF="cslang-1.html">Previous</A> <A HREF="cslang.html#toc2">Contents</A> <HR> <H2><A NAME="s2">2. Introduction</A></H2> <P> <P><B>S-Lang</B> is a C programmer's library that includes routines for the rapid development of sophisticated, user friendly, multi-platform applications. The <B>S-Lang</B> library includes the following: <P> <UL> <LI> Low level tty input routines for reading single characters at a time.</LI> <LI> Keymap routines for defining keys and manipulating multiple keymaps.</LI> <LI> A high-level keyprocessing interface (<CODE>SLkp</CODE>) for handling function and arrow keys.</LI> <LI> High level screen management routines for manipulating both monochrome and color terminals. These routines are <EM>very</EM> efficient. (<CODE>SLsmg</CODE>)</LI> <LI> Low level terminal-independent routines for manipulating the display of a terminal. (<CODE>SLtt</CODE>)</LI> <LI> Routines for reading single line input with line editing and recall capabilities. (<CODE>SLrline</CODE>)</LI> <LI> Searching functions: both ordinary searches and regular expression searches. (<CODE>SLsearch</CODE>)</LI> <LI> An embedded stack-based language interpreter with a C-like syntax.</LI> </UL> <P>The library is currently available for OS/2, MSDOS, Unix, and VMS systems. For the most part, the interface to library routines has been implemented in such a way that it appears to be platform independent from the point of view of the application. In addition, care has been taken to ensure that the routines are ``independent'' of one another as much as possible. For example, although the keymap routines require keyboard input, they are not tied to <B>S-Lang</B>'s keyboard input routines--- one can use a different keyboard <CODE>getkey</CODE> routine if one desires. This also means that linking to only part of the <B>S-Lang</B> library does not pull the whole library into the application. Thus, <B>S-Lang</B> applications tend to be relatively small in comparison to programs that use libraries with similar capabilities. <P> <P> <HR> <A HREF="cslang-3.html">Next</A> <A HREF="cslang-1.html">Previous</A> <A HREF="cslang.html#toc2">Contents</A> </BODY> </HTML>