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 switched 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.

SEE ALSO ^

build_tools/ops2pm.pl

Parrot::OpsFile

Parrot::Op

Parrot::OpTrans

Parrot::OpTrans::C

Parrot::OpTrans::CGoto

Parrot::OpTrans::Compiled

Parrot::OpTrans::CGP

Parrot::OpTrans::CSwitch

Parrot::OpTrans::CPrederef


parrot