Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This manual is for Vmgen (version 0.7.3, June 14, 2014), the virtual machine interpreter generator
Copyright © 2002,2003,2005,2007,2008 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
(a) The FSF’s Back-Cover Text is: “You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.”
• Introduction: | What can Vmgen do for you? | |
• Why interpreters?: | Advantages and disadvantages | |
• Concepts: | VM interpreter background | |
• Invoking Vmgen: | ||
• Example: | ||
• Input File Format: | ||
• Error messages: | reported by Vmgen | |
• Using the generated code: | ||
• Hints: | VM archictecture, efficiency | |
• The future: | ||
• Changes: | from earlier versions | |
• Contact: | Bug reporting etc. | |
• Copying This Manual: | Manual License | |
• Index: | ||
— The Detailed Node Listing — Concepts | ||
---|---|---|
• Front end and VM interpreter: | Modularizing an interpretive system | |
• Data handling: | Stacks, registers, immediate arguments | |
• Dispatch: | From one VM instruction to the next | |
Example | ||
• Example overview: | ||
• Using profiling to create superinstructions: | ||
Input File Format | ||
• Input File Grammar: | ||
• Simple instructions: | ||
• Superinstructions: | ||
• Store Optimization: | ||
• Register Machines: | How to define register VM instructions | |
Input File Grammar | ||
• Eval escapes: | what follows \E | |
Simple instructions | ||
• Explicit stack access: | If the C code accesses a stack pointer | |
• C Code Macros: | Macros recognized by Vmgen | |
• C Code restrictions: | Vmgen makes assumptions about C code | |
• Stack growth direction: | is configurable per stack | |
Using the generated code | ||
• VM engine: | Executing VM code | |
• VM instruction table: | ||
• VM code generation: | Creating VM code (in the front-end) | |
• Peephole optimization: | Creating VM superinstructions | |
• VM disassembler: | for debugging the front end | |
• VM profiler: | for finding worthwhile superinstructions | |
Hints | ||
• Floating point: | and stacks | |
Copying This Manual | ||
• GNU Free Documentation License: | License for copying this manual. | |
Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]