dlg - DFA Lexical Analyzer Generator
dlg [options] lexical_spec
[output_file]
dlg is a tool that produces fast deterministic finite
automata for recognizing regular expressions in input.
- -CC
- Generate C++ output. The output_file is not specified in this
case.
- -C[ level]
- Where level is the compression level used. 0 indications no
compression, 1 removes all unused characters from the transition from
table, and 2 maps equivalent characters into the same character classes.
It is suggested that level -C2 is used, since it will significantly reduce
the size of the dfa produced for lexical analyzer.
- -m
- Produces the header file for the lexical mode with a name other than the
default name of "mode.h".
- -i
- An interactive, or as interactive as possible, parser is produced. A
character is only obtained when required to decide which state to go to.
Some care must be taken to obtain accept states that do not require look
ahead at the next character to determine if that is the stop state. Any
regular expression with a Kleene closure at the end is guaranteed to
require another character of look ahead.
- -cl class
- Specify a class name for DLG to generate. The default is DLGLexer.
"class" will be a subclass of DLGLexerBase; only used for
-CC.
- -ci
- The automaton will treat upper and lower case characters identically. This
is accomplished in the automaton; the characters in the lexical buffer are
unmodified.
- -cs
- Upper and lower case characters are treated as distinct. This is the
default.
- -o dir
- Directory where output files should go (default="."). This is
very nice for keeping the source directory clear of ANTLR and DLG
spawn.
- -Wambiguity
- Warns if more than one regular expression could match the same character
sequence. The warnings give the numbers of the expressions in the dlg
lexical specification file. The numbering of the expressions starts at
one. Multiple warnings may be print for the same expressions.
- -
- Used in place of file names to get input from standard in or send output
to standard out.
Dlg works... we think. There is no implicit guarantee of
anything. We reserve no legal rights to the software known as the
Purdue Compiler Construction Tool Set (PCCTS) — PCCTS is in the
public domain. An individual or company may do whatever they wish with
source code distributed with PCCTS or the code generated by PCCTS, including
the incorporation of PCCTS, or its output, into commercial software. We
encourage users to develop software with PCCTS. However, we do ask that
credit is given to us for developing PCCTS. By "credit", we mean
that if you incorporate our source code into one of your programs
(commercial product, research project, or otherwise) that you acknowledge
this fact somewhere in the documentation, research report, etc... If you
like PCCTS and have developed a nice tool with the output, please mention
that you developed it using PCCTS. As long as these guidelines are followed,
we expect to continue enhancing this system and expect to make other tools
available as they are completed.
mode.h , dlgauto.h , dlgdef.h