NAME
build_tools/ops2c.pl - Parser for .ops files
SYNOPSIS
% perl build_tools/ops2c.pl trans [--help] [--no-lines] [--dynamic] [--core | input.ops [input2.ops ...]]
trans := C | CGoto | CGP | CSwitch | CPrederef
For example:
% perl build_tools/ops2c.pl C --core
% perl build_tools/ops2c.pl C --dynamic myops.ops
DESCRIPTION
This script uses a supplied transform to create a pair of C header and implementation files from the operation definitions found in one or more *.ops files.
Transforms
The first command-line argument is the last package name component of a subclass of Parrot::OpTrans
. These subclasses all have full names of the form Parrot::OpTrans::*
. An instance of the class is created and later consulted for various bits of information needed to generate the C code. Each creates a different type of run loop.
C
-
Create the function-based (slow or fast core) run loop.
CGoto
-
Create the
goto
run loop. CGP
-
Create the
goto
and predereferenced run loop. CSwitch
-
Create the
switch
ed and predereferenced run loop. CPrederef
-
Create the predereferenced run loop.
Options
--help
-
Print synopsis.
--dynamic
-
Indicate that the opcode library is dynamic.
--core
-
Build the Parrot core opcode library.
--no-lines
-
Do not generate
#line
directives in the generated C code.