<div class="sectionbody">\r
<div class="dlist"><dl>\r
<dt class="hdlist1">\r
-<strong>-?</strong>, <strong>-h</strong>\r
+<strong>-?</strong> <strong>-h</strong> <strong>--help</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-b</strong>\r
+<strong>-b</strong> <strong>--bit-vectors</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-c</strong>\r
+<strong>-c</strong> <strong>--conditions</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-d</strong>\r
+<strong>-d</strong> <strong>--debug-output</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-D</strong>\r
+<strong>-D</strong> <strong>--emit-dot</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-e</strong>\r
+<strong>-e</strong> <strong>--ecb</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-f</strong>\r
+<strong>-f</strong> <strong>--storable-state</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-F</strong>\r
+<strong>-F</strong> <strong>--flex-syntax</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-g</strong>\r
+<strong>-g</strong> <strong>--computed-gotos</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-i</strong>\r
+<strong>-i</strong> <strong>--no-debug-info</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-o OUTPUT</strong>\r
+<strong>-o OUTPUT</strong> <strong>--output=OUTPUT</strong>\r
</dt>\r
<dd>\r
<p>\r
- Specify the output file.\r
+ Specify the <strong>OUTPUT</strong> file.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-r</strong>\r
+<strong>-r</strong> <strong>--reusable</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-s</strong>\r
+<strong>-s</strong> <strong>--nested-ifs</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-t</strong>\r
+<strong>-t HEADER</strong> <strong>--type-header=HEADER</strong>\r
</dt>\r
<dd>\r
<p>\r
- Create a header file that contains types for the (f)lex-like condition support.\r
+ Create a <strong>HEADER</strong> file that contains types for the (f)lex-like condition support.\r
This can only be activated when <strong>-c</strong> is in use.\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-u</strong>\r
+<strong>-u</strong> <strong>--unicode</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-v</strong>\r
+<strong>-v</strong> <strong>--version</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-V</strong>\r
+<strong>-V</strong> <strong>--vernum</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-w</strong>\r
+<strong>-w</strong> <strong>--wide-chars</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-x</strong>\r
+<strong>-x</strong> <strong>--utf-16</strong>\r
</dt>\r
<dd>\r
<p>\r
</p>\r
</dd>\r
<dt class="hdlist1">\r
-<strong>-1</strong>\r
-</dt>\r
-<dd>\r
-<p>\r
- Force single pass generation, this cannot be combined with -f and disables\r
- <strong>YYMAXFILL</strong> generation prior to last <strong>re2c</strong> block.\r
-</p>\r
-</dd>\r
-<dt class="hdlist1">\r
-<strong>-8</strong>\r
+<strong>-8</strong> <strong>--utf-8</strong>\r
</dt>\r
<dd>\r
<p>\r
but different libraries and programs treat them differently.\r
</p>\r
</dd>\r
+<dt class="hdlist1">\r
+<strong>--input INPUT</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Specify re2c input API. <strong>INPUT</strong> can be one of the following: <strong>default</strong>, <strong>custom</strong>.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--skeleton</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Instead of embedding re2c-generated code into C/C++ source,\r
+ generate a self-contained program for the same DFA.\r
+ Most useful for correctness and performance testing.\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>--empty-class POLICY</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ What to do if user inputs empty character class. <strong>POLICY</strong> can be\r
+ one of the following: <strong>match-empty</strong> (match empty input: pretty illogical,\r
+ but this is the default for backwards compatibility reason),\r
+ <strong>match-none</strong> (fail to match on any input), <strong>error</strong> (compilation\r
+ error). Note that there are various ways to construct empty class,\r
+ e.g: [], [^\x00-\xFF], [\x00-\xFF]\[\x00-\xFF].\r
+</p>\r
+</dd>\r
+<dt class="hdlist1">\r
+<strong>-1</strong> <strong>--single-pass</strong>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Deprecated and does nothing (single pass is by default now).\r
+</p>\r
+</dd>\r
</dl></div>\r
</div>\r
</div>\r
<div class="sect1">\r
<h2 id="_version_information">VERSION INFORMATION</h2>\r
<div class="sectionbody">\r
-<div class="paragraph"><p>This manpage describes <strong>re2c</strong>, version 0.14.1.dev, package date 20 May 2015.</p></div>\r
+<div class="paragraph"><p>This manpage describes <strong>re2c</strong>, version 0.14.1.dev, package date 16 Jun 2015.</p></div>\r
</div>\r
</div>\r
</div>\r
<div id="footnotes"><hr /></div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 2015-05-20 10:44:30 BST\r
+Last updated 2015-06-16 15:43:09 BST\r
</div>\r
</div>\r
</body>\r
.\" Title: re2c
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.78.0 <http://docbook.sf.net/>
-.\" Date: 05/20/2015
+.\" Date: 06/16/2015
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "RE2C" "1" "05/20/2015" "\ \&" "\ \&"
+.TH "RE2C" "1" "06/16/2015" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\}
.SH "OPTIONS"
.PP
-\fB\-?\fR, \fB\-h\fR
+\fB\-?\fR \fB\-h\fR \fB\-\-help\fR
.RS 4
Invoke a short help\&.
.RE
.PP
-\fB\-b\fR
+\fB\-b\fR \fB\-\-bit\-vectors\fR
.RS 4
Implies
\fB\-s\fR\&. Use bit vectors as well in the attempt to coax better code out of the compiler\&. Most useful for specifications with more than a few keywords (e\&.g\&. for most programming languages)\&.
.RE
.PP
-\fB\-c\fR
+\fB\-c\fR \fB\-\-conditions\fR
.RS 4
Used to support (f)lex\-like condition support\&.
.RE
.PP
-\fB\-d\fR
+\fB\-d\fR \fB\-\-debug\-output\fR
.RS 4
Creates a parser that dumps information about the current position and in which state the parser is while parsing the input\&. This is useful to debug parser issues and states\&. If you use this switch you need to define a macro
\fBYYDEBUG\fR
\fBvoid YYDEBUG (int state, char current)\fR\&. The first parameter receives the state or \-1 and the second parameter receives the input at the current cursor\&.
.RE
.PP
-\fB\-D\fR
+\fB\-D\fR \fB\-\-emit\-dot\fR
.RS 4
Emit Graphviz dot data\&. It can then be processed with e\&.g\&.
dot \-Tpng input\&.dot > output\&.png\&. Please note that scanners with many states may crash dot\&.
.RE
.PP
-\fB\-e\fR
+\fB\-e\fR \fB\-\-ecb\fR
.RS 4
Generate a parser that supports EBCDIC\&. The generated code can deal with any character up to 0xFF\&. In this mode
\fBre2c\fR
\fB\-8\fR\&.
.RE
.PP
-\fB\-f\fR
+\fB\-f\fR \fB\-\-storable\-state\fR
.RS 4
Generate a scanner with support for storable state\&. For details see below at
\fBSCANNER WITH STORABLE STATES\fR\&.
.RE
.PP
-\fB\-F\fR
+\fB\-F\fR \fB\-\-flex\-syntax\fR
.RS 4
Partial support for flex syntax\&. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon\&. Instead names are treated as direct double quoted strings\&.
.RE
.PP
-\fB\-g\fR
+\fB\-g\fR \fB\-\-computed\-gotos\fR
.RS 4
Generate a scanner that utilizes GCC\(cqs computed goto feature\&. That is
\fBre2c\fR
\fBcgoto:threshold\fR\&.
.RE
.PP
-\fB\-i\fR
+\fB\-i\fR \fB\-\-no\-debug\-info\fR
.RS 4
Do not output
\fB#line\fR
themselves when building from your source\&.
.RE
.PP
-\fB\-o OUTPUT\fR
+\fB\-o OUTPUT\fR \fB\-\-output=OUTPUT\fR
.RS 4
-Specify the output file\&.
+Specify the
+\fBOUTPUT\fR
+file\&.
.RE
.PP
-\fB\-r\fR
+\fB\-r\fR \fB\-\-reusable\fR
.RS 4
Allows reuse of scanner definitions with
\fB/*!use:re2c\fR
\fB/*!rules:re2c\fR\&.
.RE
.PP
-\fB\-s\fR
+\fB\-s\fR \fB\-\-nested\-ifs\fR
.RS 4
Generate nested ifs for some switches\&. Many compilers need this assist to generate better code\&.
.RE
.PP
-\fB\-t\fR
+\fB\-t HEADER\fR \fB\-\-type\-header=HEADER\fR
.RS 4
-Create a header file that contains types for the (f)lex\-like condition support\&. This can only be activated when
+Create a
+\fBHEADER\fR
+file that contains types for the (f)lex\-like condition support\&. This can only be activated when
\fB\-c\fR
is in use\&.
.RE
.PP
-\fB\-u\fR
+\fB\-u\fR \fB\-\-unicode\fR
.RS 4
Generate a parser that supports UTF\-32\&. The generated code can deal with any valid Unicode character up to 0x10FFFF\&. In this mode
\fBre2c\fR
\fB\-s\fR\&.
.RE
.PP
-\fB\-v\fR
+\fB\-v\fR \fB\-\-version\fR
.RS 4
Show version information\&.
.RE
.PP
-\fB\-V\fR
+\fB\-V\fR \fB\-\-vernum\fR
.RS 4
Show the version as a number XXYYZZ\&.
.RE
.PP
-\fB\-w\fR
+\fB\-w\fR \fB\-\-wide\-chars\fR
.RS 4
Generate a parser that supports UCS\-2\&. The generated code can deal with any valid Unicode character up to 0xFFFF\&. In this mode
\fBre2c\fR
\fB\-s\fR\&.
.RE
.PP
-\fB\-x\fR
+\fB\-x\fR \fB\-\-utf\-16\fR
.RS 4
Generate a parser that supports UTF\-16\&. The generated code can deal with any valid Unicode character up to 0x10FFFF\&. In this mode
\fBre2c\fR
\fB\-s\fR\&.
.RE
.PP
-\fB\-1\fR
-.RS 4
-Force single pass generation, this cannot be combined with \-f and disables
-\fBYYMAXFILL\fR
-generation prior to last
-\fBre2c\fR
-block\&.
-.RE
-.PP
-\fB\-8\fR
+\fB\-8\fR \fB\-\-utf\-8\fR
.RS 4
Generate a parser that supports UTF\-8\&. The generated code can deal with any valid Unicode character up to 0x10FFFF\&. In this mode
\fBre2c\fR
\fBre2c\fR
ignores surrogates (for backward compatibility)\&. Unicode standard says that standalone surrogates are invalid code points, but different libraries and programs treat them differently\&.
.RE
+.PP
+\fB\-\-input INPUT\fR
+.RS 4
+Specify re2c input API\&.
+\fBINPUT\fR
+can be one of the following:
+\fBdefault\fR,
+\fBcustom\fR\&.
+.RE
+.PP
+\fB\-\-skeleton\fR
+.RS 4
+Instead of embedding re2c\-generated code into C/C++ source, generate a self\-contained program for the same DFA\&. Most useful for correctness and performance testing\&.
+.RE
+.PP
+\fB\-\-empty\-class POLICY\fR
+.RS 4
+What to do if user inputs empty character class\&.
+\fBPOLICY\fR
+can be one of the following:
+\fBmatch\-empty\fR
+(match empty input: pretty illogical, but this is the default for backwards compatibility reason),
+\fBmatch\-none\fR
+(fail to match on any input),
+\fBerror\fR
+(compilation error)\&. Note that there are various ways to construct empty class, e\&.g: [], [^\ex00\-\exFF], [\ex00\-\exFF]\e[\ex00\-\exFF]\&.
+.RE
+.PP
+\fB\-1\fR \fB\-\-single\-pass\fR
+.RS 4
+Deprecated and does nothing (single pass is by default now)\&.
+.RE
.SH "INTERFACE CODE"
.sp
The user must supply interface code either in the form of C/C++ code (macros, functions, variables, etc\&.) or in the form of \fIinplace configurations\fR\&. Which symbols must be defined and which are optional depends on a particular use case\&.
.RE
.SH "VERSION INFORMATION"
.sp
-This manpage describes \fBre2c\fR, version 0\&.14\&.1\&.dev, package date 20 May 2015\&.
+This manpage describes \fBre2c\fR, version 0\&.14\&.1\&.dev, package date 16 Jun 2015\&.
OPTIONS
-------
-*-?*, *-h*::
+*-?* *-h* *--help*::
Invoke a short help.
-*-b*::
+*-b* *--bit-vectors*::
Implies *-s*. Use bit vectors as well in the attempt to coax better
code out of the compiler. Most useful for specifications with more than a
few keywords (e.g. for most programming languages).
-*-c*::
+*-c* *--conditions*::
Used to support (f)lex-like condition support.
-*-d*::
+*-d* *--debug-output*::
Creates a parser that dumps information about the current position and in
which state the parser is while parsing the input. This is useful to debug
parser issues and states. If you use this switch you need to define a macro
*void YYDEBUG (int state, char current)*. The first parameter receives the
state or -1 and the second parameter receives the input at the current cursor.
-*-D*::
+*-D* *--emit-dot*::
Emit Graphviz dot data. It can then be processed with e.g.
`dot -Tpng input.dot > output.png`. Please note that scanners with many states
may crash dot.
-*-e*::
+*-e* *--ecb*::
Generate a parser that supports EBCDIC. The generated code can deal with any
character up to 0xFF. In this mode *re2c* assumes that input character size is
1 byte. This switch is incompatible with *-w*, *-x*, *-u* and *-8*.
-*-f*::
+*-f* *--storable-state*::
Generate a scanner with support for storable state.
For details see below at *SCANNER WITH STORABLE STATES*.
-*-F*::
+*-F* *--flex-syntax*::
Partial support for flex syntax. When this flag is active then named
definitions must be surrounded by curly braces and can be defined without an
equal sign and the terminating semi colon. Instead names are treated as direct
double quoted strings.
-*-g*::
+*-g* *--computed-gotos*::
Generate a scanner that utilizes GCC's computed goto feature. That is *re2c*
generates jump tables whenever a decision is of a certain complexity (e.g. a
lot of if conditions are otherwise necessary). This is only useable with GCC
this implies *-b* and that the complexity threshold can be configured using the
inplace configuration *$$cgoto:threshold$$*.
-*-i*::
+*-i* *--no-debug-info*::
Do not output *#line* information. This is usefull when you want use a CMS tool
with the *re2c* output which you might want if you do not require your users to
have *re2c* themselves when building from your source.
-*-o OUTPUT*::
- Specify the output file.
+*-o OUTPUT* *--output=OUTPUT*::
+ Specify the *OUTPUT* file.
-*-r*::
+*-r* *--reusable*::
Allows reuse of scanner definitions with *$$/*!use:re2c$$* after
*$$/*!rules:re2c$$*. In this mode no *$$/*!re2c$$* block and exactly one
*$$/*!rules:re2c$$* must be present. The rules are being saved and used by
The *$$/*!use:re2c$$* blocks can also contain additional rules that will be
appended to the set of rules in *$$/*!rules:re2c$$*.
-*-s*::
+*-s* *--nested-ifs*::
Generate nested ifs for some switches. Many compilers need this
assist to generate better code.
-*-t*::
- Create a header file that contains types for the (f)lex-like condition support.
+*-t HEADER* *--type-header=HEADER*::
+ Create a *HEADER* file that contains types for the (f)lex-like condition support.
This can only be activated when *-c* is in use.
-*-u*::
+*-u* *--unicode*::
Generate a parser that supports UTF-32. The generated code can deal with any
valid Unicode character up to 0x10FFFF. In this mode *re2c* assumes that input
character size is 4 bytes. This switch is incompatible with *-e*, *-w*, *-x*
and *-8*. This implies *-s*.
-*-v*::
+*-v* *--version*::
Show version information.
-*-V*::
+*-V* *--vernum*::
Show the version as a number XXYYZZ.
-*-w*::
+*-w* *--wide-chars*::
Generate a parser that supports UCS-2. The generated code can deal with any
valid Unicode character up to 0xFFFF. In this mode *re2c* assumes that input
character size is 2 bytes. This switch is incompatible with *-e*, *-x*, *-u*
and *-8*. This implies *-s*.
-*-x*::
+*-x* *--utf-16*::
Generate a parser that supports UTF-16. The generated code can deal with any
valid Unicode character up to 0x10FFFF. In this mode *re2c* assumes that input
character size is 2 bytes. This switch is incompatible with *-e*, *-w*, *-u*
and *-8*. This implies *-s*.
-*-1*::
- Force single pass generation, this cannot be combined with -f and disables
- *YYMAXFILL* generation prior to last *re2c* block.
-
-*-8*::
+*-8* *--utf-8*::
Generate a parser that supports UTF-8. The generated code can deal with any
valid Unicode character up to 0x10FFFF. In this mode *re2c* assumes that input
character size is 1 byte. This switch is incompatible with *-e*, *-w*, *-x*
Unicode standard says that standalone surrogates are invalid code points,
but different libraries and programs treat them differently.
+*--input INPUT*::
+ Specify re2c input API. *INPUT* can be one of the following: *default*, *custom*.
+
+*--skeleton*::
+ Instead of embedding re2c-generated code into C/C++ source,
+ generate a self-contained program for the same DFA.
+ Most useful for correctness and performance testing.
+
+*--empty-class POLICY*::
+ What to do if user inputs empty character class. *POLICY* can be
+ one of the following: *match-empty* (match empty input: pretty illogical,
+ but this is the default for backwards compatibility reason),
+ *match-none* (fail to match on any input), *error* (compilation
+ error). Note that there are various ways to construct empty class,
+ e.g: [], [^\x00-\xFF], [\x00-\xFF]\[\x00-\xFF].
+
+*-1* *--single-pass*::
+ Deprecated and does nothing (single pass is by default now).
+
INTERFACE CODE
--------------
" re2c assumes that input character size is 1 byte. This switch is\n"
" incompatible with -e, -w, -x and -u."
"\n"
- "-1 --single-pass Deprecated.\n"
- " Force single pass generation, this cannot be combined\n"
- " with -f and disables YYMAXFILL generation prior to last\n"
- " re2c block.\n"
- "\n"
"--no-generation-date Suppress date output in the generated output so that it\n"
" only shows the re2c version.\n"
"\n"
" 'match-none' (fail to match on any input), 'error' (compilation\n"
" error). Note that there are various ways to construct empty class,\n"
" e.g: [], [^\\x00-\\xFF], [\\x00-\\xFF]\\[\\x00-\\xFF].\n"
+ "\n"
+ "-1 --single-pass Deprecated and does nothing (single pass is by default now).\n"
;
}