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
antlr(1),
pccts(1)