Related articles |
---|
Summary - looking for state machine languages peterd@merlin.dev.cdx.mot.com (1994-04-15) |
Summary - looking for state machine languages henryg@kullmar.se (1994-04-18) |
Re: Summary - looking for state machine languages jvn@fermi.clas.virginia.edu (Julian V. Noble) (1994-04-18) |
Newsgroups: | comp.lang.misc,comp.protocols.misc,comp.compilers,comp.realtime |
From: | "Julian V. Noble" <jvn@fermi.clas.virginia.edu> |
Keywords: | forth, DFA, books, comment |
Organization: | University of Virginia |
References: | 94-04-109 |
Date: | Mon, 18 Apr 1994 22:43:14 GMT |
FORTH is a nice language for writing state machines. I have described a
simple compiler that turns state tables into state machines in an article
in Computers in Physics (Jul/Aug '91) as well as devoting most of a
chapter to them in my book for which I append a blurb (apologies to the
anti-commercial among us):
-------------------------- BLURB --------------------------------
What do Yale University, The University of Chicago, Fermilab and the
technical libraries of many industrial laboratories have in common?
"Scientific FORTH: a modern language for scientific programming" (ISBN
0-9632775-0-2) by Julian V. Noble (Professor of Physics at The University
of Virginia), that's what!
FORTH has been called "...one of the best-kept secrets in the computing
world". Combining the execution speed of a compiled language with the
immediacy and convenience of an interpreted language, FORTH is
nevertheless so simple its kernel can be compressed into a few kilobytes
of machine code. Many scientists, engineers and programmers have
recognized that FORTH "...provides the most direct, revealing and flexible
way for controlling computer hardware yet invented," applying FORTH to
industrial control, robotics and laboratory instrumentation.
FORTH is the only completely extensible modern computer language.
User-defined operators, data structures, commands, functions and
subprograms act precisely like the core operators, data structures and
commands -- they are true extensions to FORTH. Moreover, the FORTH
compiler is part of the language, available to the user. These features
give FORTH enormous abstractive power and elegance of expression. A FORTH
program to solve linear equations can look as simple as
: }}SOLVE ( adr[M] adr[y] - - )
SETUP TRIANGULARIZE BACKSOLVE ;
"Scientific FORTH: a modern language for scientific computing" extends the
FORTH kernel in the direction of scientific problem-solving. It is the
first book to illustrate advanced FORTH programming techniques with
non-trivial applications:
. high-speed real and complex floating point arithmetic
. generic data structures and operations ("intelligent
floating point stack")
. numerical integration/Monte-Carlo methods
. linear equations and matrices
. functional representation of data (FFT, polynomials)
. function minimization
. differential equations
. roots of equations
. computer algebra
. FORmula TRANslator
Since (as sayeth the Preacher) "...time and chance happen to everything"
(even FORTH!) "Scientific FORTH" devotes considerable space to explaining
the algorithms and ideas behind the illustrative programs.
All programs appear on the diskette included with the book.
--
Julian V. Noble
jvn@virginia.edu
[For ordering details, please contact Mr. Noble directly. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.