• # can only be on the input side error: Error messages
  • #line: Input File Grammar
  • -disasm.i output file: VM disassembler
  • -gen.i output file: VM code generation
  • -h, command-line option: Invoking Vmgen
  • –help, command-line option: Invoking Vmgen
  • -labels.i output file: VM instruction table
  • -peephole.i output file: Peephole optimization
  • -profile.i output file: VM profiler
  • -v, command-line option: Invoking Vmgen
  • –version, command-line option: Invoking Vmgen
  • -vm.i output file: VM engine
  • \C: Input File Grammar
  • \E: Eval escapes
  • accessing stack (pointer): C Code restrictions
  • advantages of interpreters: Why interpreters?
  • advantages of vmgen: Why interpreters?
  • assumptions about C code: C Code restrictions
  • basic block, VM level: C Code Macros
  • basic type of a stack: Simple instructions
  • BB_BOUNDARY in profiling: VM profiler
  • branch instruction, VM: Front end and VM interpreter
  • C code restrictions: C Code restrictions
  • C escape: Input File Grammar
  • casts example: Example overview
  • casts in type cast macros: VM engine
  • Changes from old versions: Changes
  • code generation, VM: VM code generation
  • conditional compilation of Vmgen output: Input File Grammar
  • default stack of a type prefix: Simple instructions
  • defining a stack: Simple instructions
  • defining superinstructions: Superinstructions
  • disasm.c: VM disassembler
  • disassembler, VM code: VM disassembler
  • Dispatch of VM instructions: Dispatch
  • effect, stack: Simple instructions
  • efficiency features overview: Introduction
  • eliminating stack stores: Store Optimization
  • engine: VM engine
  • engine.c: VM engine
  • error messages: Error messages
  • escape to Forth: Eval escapes
  • eval escape: Eval escapes
  • example files: Example overview
  • example of a Vmgen-based interpreter: Example
  • example overview: Example overview
  • executing VM code: VM engine
  • explicit stack access: Explicit stack access
  • FDL, GNU Free Documentation License: GNU Free Documentation License
  • format, input file: Input File Format
  • free-format, not: Input File Grammar
  • front-end: Front end and VM interpreter
  • functionality features overview: Introduction
  • future ideas: The future
  • garbage collection: Data handling
  • generated code, usage: Using the generated code
  • grammar, input file: Input File Grammar
  • hints: Hints
  • IMM_ARG: VM engine
  • immediate argument, VM instruction: Front end and VM interpreter
  • immediate arguments: Data handling
  • immediate arguments, VM code generation: VM code generation
  • include-skipped-insts: Superinstructions
  • input file format: Input File Format
  • input file grammar: Input File Grammar
  • instruction pointer definition: VM engine
  • instruction pointer, access: C Code restrictions
  • instruction stream: Data handling
  • instruction stream: Simple instructions
  • instruction stream, basic type: VM engine
  • instruction table: VM instruction table
  • instruction, simple VM: Simple instructions
  • instruction, VM: Front end and VM interpreter
  • interpreters, advantages: Why interpreters?
  • Invoking Vmgen: Invoking Vmgen
  • IP, IPTOS in disassmbler: VM disassembler
  • labels for threaded code: VM instruction table
  • macros recognized by Vmgen: C Code Macros
  • main interpreter loop: Dispatch
  • modularization of interpreters: Front end and VM interpreter
  • newlines, significance in syntax: Input File Grammar
  • opcode definition: VM instruction table
  • opcode, VM instruction: Front end and VM interpreter
  • optimization, stack stores: Store Optimization
  • peephole optimization: Peephole optimization
  • peephole.c: Peephole optimization
  • prefix for this combination must be defined earlier error: Error messages
  • prefix, stack: Simple instructions
  • prefix, type: Simple instructions
  • prefixes of superinstructions: Superinstructions
  • profile.c: VM profiler
  • profiling example: Using profiling to create superinstructions
  • profiling for selecting superinstructions: VM profiler
  • reference counting: Data handling
  • register machine: Data handling
  • Register VM: Register Machines
  • register, VM: Front end and VM interpreter
  • restrictions on C code: C Code restrictions
  • seq2rule.awk: VM profiler
  • simple VM instruction: Simple instructions
  • size, stack items: Data handling
  • speed for JVM: Introduction
  • speed of interpreters: Why interpreters?
  • stack access, explicit: Explicit stack access
  • stack basic type: Simple instructions
  • stack caching: VM engine
  • stack caching, restriction on C code: C Code restrictions
  • stack definition: Simple instructions
  • stack effect: Simple instructions
  • stack growth direction: Stack growth direction
  • stack item size: Data handling
  • stack machine: Data handling
  • Stack pointer access: Explicit stack access
  • stack pointer definition: VM engine
  • stack pointer, access: C Code restrictions
  • stack prefix: Simple instructions
  • stack stores, optimization: Store Optimization
  • stack-access-transform: Stack growth direction
  • stat.awk: VM profiler
  • store optimization: Store Optimization
  • SUPER_END in profiling: VM profiler
  • superinstructions and profiling: VM profiler
  • superinstructions and tracing: VM engine
  • superinstructions example: Using profiling to create superinstructions
  • Superinstructions for register VMs: Register Machines
  • superinstructions, defining: Superinstructions
  • superinstructions, generating: Peephole optimization
  • superinstructions, restrictions on components: C Code restrictions
  • switch dispatch: Dispatch
  • sync line syntax error: Error messages
  • sync lines: Input File Grammar
  • syntax error, wrong char error: Error messages
  • TAIL;, changes: Changes
  • threaded code: Dispatch
  • too many stacks error: Error messages
  • top of stack caching: VM engine
  • TOS: VM engine
  • tracing of register VMs: Register Machines
  • tracing VM code: VM engine
  • type cast macro: VM engine
  • type casting between floats and integers: VM engine
  • type of a stack, basic: Simple instructions
  • type prefix: Simple instructions
  • unions example: Example overview
  • unions in type cast macros: VM engine
  • unknown prefix error: Error messages
  • unknown primitive error: Error messages
  • Using vmgen-erated code: Using the generated code
  • virtual machine: Front end and VM interpreter
  • VM: Front end and VM interpreter
  • VM branch instruction: Front end and VM interpreter
  • VM code generation: VM code generation
  • VM disassembler: VM disassembler
  • VM instruction: Front end and VM interpreter
  • VM instruction execution: VM engine
  • VM profiler: VM profiler
  • VM register: Front end and VM interpreter
  • vm_A2B, changes: Changes
  • VM_IS_INST in profiling: VM profiler
  • vm_prim, definition: VM instruction table
  • vm_prim, use: VM code generation
  • vm_twoA2B, changes: Changes
  • vmgen-ex: Example overview
  • vmgen-ex2: Example overview
  • wrapper files: Example overview
  • w.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">

    Vmgen (Gforth 0.7.0)

    Table of Contents

    Next: , Previous: (dir), Up: (dir)


    Vmgen

    This manual is for Vmgen (version 0.7.0, November 2, 2008), 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.”

    --- The Detailed Node Listing ---

    Concepts

    Example

    Input File Format

    Input File Grammar

    Simple instructions

    Using the generated code

    Hints

    Copying This Manual

    Previous: Copying This Manual, Up: Top


    Index