1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
<html>
<head>
<title>kForth Overview</title>
</head>
<body bgcolor=white>
<h2><img src="kforth.gif"> <a name="Overview"></a>Overview</h2>
<p>
<b>kForth</b> is a Forth programming language and environment. It
implements a significant <i>subset</i> of the
<a href="http://www.forth.org/dpans/dpans.html">ANS Forth specification</a>,
along with some extensions. kForth can serve as a standalone computing
environment or its object code may be linked to another program to
serve as a customizable programming language for that application. In
fact, the entire kForth environment is embedded into the program
<a href="http://www.ccreweb.org/software/xyplot/xyplot.html">
XYPLOT</a> for Linux. Users of XYPLOT for
Linux can customize and extend its functionality by loading
source files written in Forth.<br>
<p>
Some of kForth's features are:
<ul>
<li>kForth uses a <i>dynamically allocated</i> dictionary
rather than a fixed size monolithic dictionary. Only the host
operating system limits the amount of memory available to kForth.
Dynamic memory allocation of the dictionary results in some
non-standard <a href="kforth5.html#Implementation">side effects</a>.<br><br>
<li>Floating point extensions are implemented to allow numeric/scientific
compuation.
<br><br>
<li>Low level file access words are implemented.
These include <code>OPEN, CLOSE, LSEEK, READ, WRITE,</code> and
<code>IOCTL</code> (Linux only). In addition to basic file i/o,
these words permit communication with device drivers under Linux,
enabling kForth to be used for instrument control and data
acquisition. A subset of the ANSI standard
file extension words are provided in the form of Forth source code.
<br><br>
<li>String manipulation words are provided in the form of
Forth source code.
<br><br>
<li>kForth performs <i>type checking</i> for operations involving memory
addresses. This is a non-standard feature which is intended to help
prevent memory access violations (segmentation fault) that occur as a
result of programming mistakes. However, it results in lower execution
efficiency.
</ul><br>
<br><hr>
<a href="kforth0.html"><img src="left.gif"></a>
<a href="kforth1a.html"><img src="right.gif"></a> <br><br>
Copyright © 1998--2001 Creative Consulting for Research and Education<br>
</body>
</html>
|