Annotation of gforth/README.vmgen, revision 1.1

1.1     ! anton       1: Vmgen generates much of the code for efficient virtual machine (VM)
        !             2: interpreters from a simple descriptions of the VM instructions.  It
        !             3: generates code for executing VM instructions (with optional tracing),
        !             4: for generating VM code, for disassembling VM code, and for profiling
        !             5: VM instruction sequences.  A VM instruction description looks like
        !             6: this:
        !             7: 
        !             8: add  ( i1 i2 -- i )
        !             9: i = i1+i2;
        !            10: 
        !            11: Vmgen supports several techniques for writing efficient interpreters:
        !            12: virtual machine interpreters, threaded code, combining VM instructions
        !            13: into superinstructions, keeping the top-of-stack in a register,
        !            14: scheduling the dispatch of the next VM instruction, and a couple of
        !            15: minor optimizations.  Interpreters created with vmgen usually are
        !            16: faster than competing interpreters and are typically only a factor of
        !            17: 2-10 slower than the code generateed by native-code compilers.
        !            18: 
        !            19: Vmgen has special support for stack-based VMs (but it can also be
        !            20: used to advantage when implementing a register-based VM).
        !            21: 
        !            22: The main shortcoming in the current release is the lack of a user
        !            23: manual; however, there is a paper describing vmgen's operation (at
        !            24: http://www.complang.tuwien.ac.at/anton/vmgen/), and there is a simple,
        !            25: working and somewhat commented example of using vmgen (in directory
        !            26: vmgen-ex).
        !            27: 
        !            28: If you have bugs to report, suggestions to make, questions, or any
        !            29: other feedback, mail me (anton@mips.complang.tuwien.ac.at).
        !            30: 
        !            31: You can find vmgen at http://www.complang.tuwien.ac.at/anton/vmgen/.
        !            32: 
        !            33: Vmgen is currently distributed with Gforth (because it needs Gforth to
        !            34: run, and Gforth needs it to build), and is installed together with
        !            35: Gforth (read INSTALL for instructions).  
        !            36: 
        !            37: Note that future versions of vmgen will probably require small changes
        !            38: in programs written for the present version (e.g., requiring a few
        !            39: additional macro definitions).

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>