The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

gem.pl - Run Graph::Easy::Marpa::Lexer and Graph::Easy::Marpa::Parser.

SYNOPSIS

gem.pl [options]

        Options:
        -cooked_file aCookedFileName
        -description graphDescription
        -dot_input_file aDotInputFileName
        -format outputGraphFormat
        -help
        -input_file aRawFileName
        -logger loggerOrEmptyString
        -maxlevel logOption1
        -minlevel logOption2
        -output_file aDotOutputFile
        -parsed_tokens_file aTokenFileName
        -rankdir LR or RL or TB or BT
        -report_items 0 or 1
        -report_stt 0 or 1
        -stt_file sttFileName
        -timeout seconds
        -type '' or csv or ods

Exit value: 0 for success, 1 for failure. Die upon error.

OPTIONS

-cooked_file aCookedFileName

Specify the name of a CSV file of cooked tokens to write. This file can be input to the parser.

There is no default value.

-description graphDescription

Specify a graph description string for the DFA to process.

You are strongly encouraged to surround this string with '...' to protect it from your shell.

See also the -input_file option to read the description from a file.

The -description option takes precedence over the -input_file option.

There is no default value.

-dot_input_file aDotInputFileName

Specify the name of a file that the rendering engine can write to, which will contain the input to dot (or whatever). This is good for debugging.

Default: ''.

If '', the file will not be created.

-format outputGraphFormat

The format (e.g. 'svg') to pass to the rendering engine.

-help

Print help and exit.

-input_file aRawFileName

Read the graph description string from a file.

See also the -description option to read the graph description from the command line.

The whole file is slurped in as 1 graph.

The first lines of the file can start with /\s*#/, and will be discarded as comments.

The -description option takes precedence over the -input_file option.

There is no default value.

-logger loggerOrEmptyString

Specify a logger to pass to the lexer and the parser.

In scripts/gem.sh, use -l '' to stop logging.

-maxlevel logOption1

This option affects Log::Handler.

See the Log::handler docs.

The default maxlevel is 'info'. Another typical value is 'debug'.

-minlevel logOption2

This option affects Log::Handler.

See the Log::handler docs.

The default minlevel is 'error'.

No lower levels are used.

o -output_file aDotOutputFile

A file to which the output from dot is written.

If not specified (the default), the graph is not saved.

The default is ''.

o -parsed_tokens_file aTokenFileName

The list of tokens generated by the parser will be written to this file.

If not specified (the default), the tokens are not saved.

The default is ''.

-rankdir LR or RL or TB or BT

Specify the rankdir of the graph as a whole.

Default: TB (top to bottom).

-report_items 0 or 1

Report the items recognized in the cooked file.

The default value is 0.

-report_stt 0 or 1

Call Set::FA::Element.report(). Set min and max log levels to 'info' for this.

The default value is 0.

-stt_file sttFileName

Specify which file contains the state transition table.

Default: ''.

The default value means the STT is read from the source code of Graph::Easy::Marpa::Lexer.

Candidate files are '', 'data/default.stt.csv' and 'data/default.stt.ods'.

The type of this file must be specified by the -type option.

Note: If you use stt_file => your.stt.ods and type => 'ods', Module::Load's load() will be used to load OpenOffice::OODoc. This module is no longer listed in Build.PL and Makefile.PL as a pre-req, so you will need to install it manually.

-timeout seconds

Run the DFA for at most this many seconds.

Default: 3.

-type '' or cvs or ods

Specify the type of the stt_file: '' for internal STT, csv for CSV or ods for Open Office Calc spreadsheet.

Default: ''.

The default value means the STT is read from the source code of Graph::Easy::Marpa::Lexer.

This option must be used with the -stt_file option.