NAME
dlg - DFA Lexical Analyzer Generator
SYNTAX
dlg [options] lexical_spec
[output_file]
DESCRIPTION
dlg is a tool that produces fast
deterministic finite automata for recognizing regular expressions
in input.
OPTIONS
- -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.
- -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.
SPECIAL CONSIDERATIONS
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.
FILES
mode.h , dlgauto.h , dlgdef.h
SEE ALSO
antlr(1),
pccts(1)
BUGS