
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
[EMAIL PROTECTED] wrote: > I want to write a simulator and a virtual machine. It's best to derive its entire structure systematically from an appropriate (recursive) mathematical definition of expression evaluation. The best-known example of this is the CAML machine. Specific cases where this method has been employed can be found in: (1) The RegEx archive http://www.csd.uwm.edu/~whopkins/regex/index.html Contains REX, a large functional superset of GREP containing all the boolean primities; as well as software for DFA and NFA converters. (There's a copy of these programs in the comp.compilers archive under the regex directory). The programs implement algebraic rules for regular expressions to do their processing. (2) The C-BC Programming language http://www.csd.uwm.edu/~whopkins/cbc/index.html A large functional superset of the BC language. The architecture is systematically derived from a definition of expression evaluation, described in detail in the implementation notes. (3) The SCD Machine http://www.csd.uwm.edu/~whopkins/combo/index.html An architecture for optimized combinator reduction. This is rigorously derived from a definition of expression normal form; the definition and derivation are spelled out in detail. (4) The SEQCD Machine http://www.csd.uwm.edu/~whopkins/seqcd/index.html The underlying architecure of the JOLT language; a language that is simultaneously functional and imperative. This, too, is rigorously derived from a definition of expression normal form. The derivation is spelled out in detail.
| <-- __Chronological__ --> | <-- __Thread__ --> |