NAME
rperl Front-End Program
Restricted Perl, The Optimizing Perl 5 Compiler
SYNOPSIS
rperl [OPTIONS] input_program_0.pl [input_program_1.pl input_program_2.pl ...]
rperl [OPTIONS] MyClassFoo.pm [MyClassBar.pm MyClassBat.pm ...]
rperl [OPTIONS] input_program_0.pl MyClassFoo.pm [input_program_1.pl ... MyClassBar.pm ...]
OPTIONS
- --help _OR_ -h _OR_ -?
-
Print a brief help message for command-line usage. - --version _OR_ -v
- --vversion _OR_ -vv
-
Print version number and copyright information. Repeat as 'vv' for more technical information, similar to `perl -V` configuration summary option. Lowercase 'v' not to be confused with uppercase 'V' in 'Verbose' option below. - --dependencies _OR_ -d
- --nodependencies _OR_ -nod
-
Follow and compile dependencies, or not. Enabled by default, equivalent to '--mode dependencies=ON' option. Lowercase 'd' not to be confused with uppercase 'D' in 'Debug' option below. WARNING: Disabling dependencies will likely cause errors or undefined behavior. - --infile=MyFile.pm _OR_ -i=MyFile.pm
-
Specify input file, may be repeated for multiple input files. Option prefix '--infile' may be entirely omitted. Option prefix MUST be omitted to specify wildcard for multiple input files. - --outfile=MyFile _OR_ -o=MyFile
-
Specify output file prefix, may be repeated for multiple output files. RPerl *.pm input file with PERL ops will create MyFile.pmc output file. RPerl *.pl input file with PERL ops will create my_file (or my_file.exe) & my_file.pmc output files. RPerl *.pm input file with CPP ops will create MyFile.pmc, MyFile.cpp, & MyFile.h output files. RPerl *.pl input file with CPP ops will create myfile (or myfile.exe on Windows), MyFile.pmc, MyFile.cpp, & MyFile.h output files. Option may be entirely omitted, 'MyFile.*' input file will default to 'MyFile.*' out. - --mode ops=PERL _OR_ -m ops=PERL
- --mode ops=CPP _OR_ -m ops=CPP
-
Specify operations mode, CPP by default. If set to PERL, generate Perl operations in the source code output file(s). If set to CPP, generate C++ operations in the source code output file(s). PERL ops mode forces PERL types mode & PARSE or GENERATE compile mode; PERLOPS_PERLTYPES is test mode, does not actually compile. - --mode types=PERL _OR_ -m types=PERL
- --mode types=CPP _OR_ -m types=CPP
- --mode types=DUAL _OR_ -m types=DUAL
-
Specify data types mode, CPP by default. If set to PERL, generate Perl data types in the source code output file(s). If set to CPP, generate C++ data types in the source code output file(s). If set to DUAL, generate both Perl and C++ data types in the source code output file(s). DUAL mode allows generate-once-compile-many types, selected by '#define __FOO__TYPES' in lib/rperltypes_mode.h or `gcc -D__FOO__TYPES` manual subcompile option. - --mode check=OFF _OR_ -m check=OFF
- --mode check=ON _OR_ -m check=ON
- --mode check=TRACE _OR_ -m check=TRACE
-
Specify data type checking mode, TRACE by default. If set to OFF, do not perform dynamic type checking, only built-in C++ static type checking. If set to ON, perform dynamic type checking in addition to built-in C++ static type checking. If set to TRACE, perform dynamic type checking in addition to built-in C++ static type checking, with subroutine-and-variable trace information. - --mode dependencies=OFF _OR_ -m dependencies=OFF
- --mode dependencies=ON _OR_ -m dependencies=ON
-
Specify dependencies mode, ON by default. If set to OFF, do not search for or compile dependencies. If set to ON, recursively search for dependencies and subdependencies, include as additional input file(s). - --mode uncompile=OFF _OR_ -m uncompile=OFF
- --mode uncompile=SOURCE _OR_ -m uncompile=SOURCE
- --mode uncompile=BINARY _OR_ -m uncompile=BINARY
- --mode uncompile=INLINE _OR_ -m uncompile=INLINE
- --mode uncompile=SOURCE_BINARY _OR_ -m uncompile=SOURCE_BINARY
- --mode uncompile=SOURCE_BINARY_INLINE _OR_ -m uncompile=SOURCE_BINARY_INLINE
-
Specify uncompile mode, OFF by default. If set to SOURCE, delete all generated C++ output source code (not subcompiled) files: *.cpp, *.h, *.pmc If set to BINARY, delete all generated C++ output binary (subcompiled) files: *.o, *.a, *.so, *.exe, non-suffixed executables If set to INLINE, delete all generated C++ output Inline::CPP files: _Inline/ directory If set to SOURCE_BINARY, delete both SOURCE and BINARY files. If set to SOURCE_BINARY_INLINE, delete SOURCE, BINARY, and INLINE files. For *.pm Perl module input files, BINARY and INLINE are equivalent. - --mode compile=PARSE _OR_ -m compile=PARSE
- --mode compile=GENERATE _OR_ -m compile=GENERATE
- --mode compile=SUBCOMPILE _OR_ -m compile=SUBCOMPILE
-
Specify compile mode, SUBCOMPILE by default. If set to PARSE, begin with RPerl input source code file(s), and end with RPerl abstract syntax tree output data structure. If set to GENERATE, begin with RPerl input source code file(s), and end with RPerl and/or C++ output source code file(s). If set to SUBCOMPILE, begin with RPerl input source code file(s), and end with C++ output binary file(s). - --mode subcompile=OFF _OR_ -m subcompile=OFF
- --mode subcompile=ASSEMBLE _OR_ -m subcompile=ASSEMBLE
- --mode subcompile=ARCHIVE _OR_ -m subcompile=ARCHIVE
- --mode subcompile=SHARED _OR_ -m subcompile=SHARED
- --mode subcompile=STATIC _OR_ -m subcompile=STATIC
- --mode subcompile=DYNAMIC _OR_ -m subcompile=DYNAMIC
-
Specify subcompile mode, DYNAMIC by default. If set to ASSEMBLE, generate *.o object binary output file(s). If set to ARCHIVE, generate *.a object archive binary output file(s). If set to SHARED, generate *.so shared object binary output file(s). If set to STATIC, generate statically-linked *.exe or non-suffixed executable binary output file(s). If set to DYNAMIC, generate dynamically-linked *.exe or non-suffixed executable binary output file(s). - --mode CXX=/path/to/compiler _OR_ -m CXX=/path/to/compiler
-
Specify path to C++ compiler for use in subcompile modes, 'g++' by default. - --mode execute=OFF _OR_ -m execute=OFF
- --mode execute=ON _OR_ -m execute=ON
-
Specify execute mode, ON by default. If set to OFF, do not load or run any user-supplied program(s). If set to ON with one *.pl Perl program input file, load and run the program. If set to ON with more than one *.pl Perl program input file, do not load or run any programs. - --mode label=OFF _OR_ -m label=OFF
- --mode label=ON _OR_ -m label=ON
-
Specify source section label mode, ON by default. If set to OFF, generate minimal output source code, may save disk space. If set to ON, generate some informative labels in output source code, may be more human-readable. - --uncompile _OR_ -u
- --nouncompile _OR_ -nou
- --uuncompile _OR_ -uu
- --nouuncompile _OR_ -nouu
- --uuuncompile _OR_ -uuu
- --nouuncompile _OR_ -nouuu
-
Uncompile (delete C++ source code and/or binary output files), or not. Repeat as 'uu' and 'uuu' for more thorough file removal. Do not confuse uncompile with decompile (recreate RPerl source code from C++ source code or binary output files), which does not currently exist. '-u' equivalent to '--mode uncompile=SOURCE --mode compile=OFF --mode execute=OFF' options. '-uu' equivalent to '--mode uncompile=SOURCE_BINARY --mode compile=OFF --mode execute=OFF' options. '-uuu' equivalent to '--mode uncompile=SOURCE_BINARY_INLINE --mode compile=OFF --mode execute=OFF' options. Disabled by default. - --compile _OR_ -c
- --nocompile _OR_ -noc
-
Generate & subcompile C++ source code, or not. Enabled by default, equivalent to '--mode compile=SUBCOMPILE' option. - --execute _OR_ -e
- --noexecute _OR_ -noe
-
Run input code after optional compile, or not. Enabled by default for *.pl program input files, always disabled for *.pm module input files or multiple input files. Equivalent to '--mode execute=ON' option. - --Verbose _OR_ -V
- --noVerbose _OR_ -noV
-
Include additional user information in output, or not. If enabled, equivalent to `export RPERL_VERBOSE=1` shell command. Disabled by default. Uppercase 'V' not to be confused with lowercase 'v' in 'version' option above. - --Debug _OR_ -D
- --noDebug _OR_ -noD
-
Include system diagnostic information in output, or not. If enabled, equivalent to `export RPERL_DEBUG=1` shell command. Disabled by default. Uppercase 'D' not to be confused with lowercase 'd' in 'dependencies' option above. - --Warnings _OR_ -W
- --noWarnings _OR_ -noW
-
Include system warnings in output, or not. Enabled by default, equivalent to `export RPERL_WARNINGS=0` shell command. - --test _OR_ -t
-
Test mode: Perl ops, Perl types, Parse & Generate (no Save or Compile) If enabled, equivalent to '--mode ops=PERL --mode types=PERL --mode compile=GENERATE' options. Disabled by default. - --assemble
-
Assemble subcompile mode, output *.o object file(s). If enabled, equivalent to '--mode subcompile=ASSEMBLE' option or `gcc -c` manual subcompile option. Disabled by default. - --archive
-
Archive subcompile mode, output *.a object archive file(s). If enabled, equivalent to '--mode subcompile=ARCHIVE' option or `gcc -c` followed by `ar` manual subcompile command. Disabled by default. -
Archive subcompile mode, output *.so shared object file(s). If enabled, equivalent to '--mode subcompile=SHARED' option or `gcc -shared` manual subcompile command. Disabled by default. - --static
- --nostatic
-
Static subcompile mode, output *.exe or non-suffixed statically-linked executable file(s). If disabled, equivalent to '--mode subcompile=DYNAMIC' option or `gcc` manual subcompile command. If enabled, equivalent to '--mode subcompile=STATIC' option or `gcc -static` manual subcompile command. Disabled by default. - --CXX=/path/to/compiler
-
Specify path to C++ compiler, equivalent to '--mode CXX=/path/to/compiler' or 'CXX' manual Makefile option.
DESCRIPTION
RPerl is a compiler. For more info:
https://github.com/wbraswell/rperl/blob/master/README.md
SEE ALSO
AUTHOR
William N. Braswell, Jr.