genmk and makefiles:
genmk takes one or more grammar
description filenames as arguments, and writes the contents of a makefile which
would build the program described in these files to stdout.
Makefiles and PCCTS
PCCTS grammar description files usually end with a
".g" extension and contain information to build a lexer and a parser. Different
parts of this file must be interpreted by different utilities to build the
lexing and parsing functions. genmk generates the contents of a makefile for a
PCCTS-base project that will coordinate the effort of these utilities. This
information is written to stdout and must be redirected into a makefile (or
somehow piped into "make") to be used.
Options to genmk
The following options are defined for genmk, and are
given as command-line switches:
- -CC
- Generate C++ output (as opposed to C output in PCCTS-1.*).
- -class gclass
- gclassis the name of a grammar class defined in the grammar (if
C++)
- -dlg-class dclass
- dclassis the name of a DLG lexer (if C++). The default is
DLGLexer.
- -header filename
- filename is the name of the ANTLR standard header information
file. The default is no file.
- -o directory
- directory is the name of the directory to which output files
should be written. The default is ".".
- -project filename
- filename is the name of the executable file to create. The
default is "t".
- -token-types filename
- Use file filename to define token types rather than tokens.h.
- -trees
- Generate abstract syntax trees (ASTs).
- -user-lexer
- Do not create a DLG-based scanner.
Note to EE468 Students
Most of you will be using PCCTS to generate a
C-based compiler from a single PCCTS grammar description file. You will likely
be given a particular name for the executable file that should be built when the
grader (or a shell script) executes "make" from your working directory. To do
this you will only need to use the "-project" option to genmk to have the
makefile build the proper executable when "make" is executed.
Thus, you will typically use genmk as follows:
genmk -project executable grammar.g > makefile
where executable is replaced by the name of the
executable you want built, and grammar.g replaced by the name of the
grammar description file which contains your project's PCCTS source.
This page was last modified February 01, 2000.
Total Accesses: 147