NAME¶
kc - generate C code from Kimwitu input
SYNOPSIS¶
kc [ file.k ... ]
kc --version
DESCRIPTION¶
kc reads the abstract syntax definition, function definitions, rewrite
rules and unparse rules from the files given on the command line, or from the
standard input if no file arguments were given, and generates for each
file.k input file a pair of
file.c and a file.h files
that contain the translation of the functions defined in the
corresponding file.k, in addition to the files
that are always generated: csgiok.[ch], rk.[ch] and
unpk.[ch] files, that contain respectively the CSGIO-, the rewrite- and
the unparse-functions, and the
k.c and
k.h files that contain
the grammar tables and the remaining `default' functions. If no command line
file arguments are given, the translation of the user-defined functions will
be generated in
stdin.[ch] files.
kc does not unnecessarily overwrite a file: if a file would be
overwritten with its own (identical) contents, it will not be touched. This
makes it easy to write an efficient Makefile.
OPTIONS¶
- --version
- print the version number of kc and exit (this option is not
available in kc versions older than V3_9P3)
GENERATED FILES¶
- k.[ch]
- the grammar and default functions
- rk.[ch]
- the rewrite view declarations and rewrite functions
- csgiok.[ch]
- the CSGIO functions
- unpk.[ch]
- the unparse view declarations and unparsing functions
- file.[ch]
- translation of user-provided Kimwitu functions.
- stdin.[ch]
- translation of user-provided Kimwitu functions if no command line file
arguments were given.
DIAGNOSTICS¶
If an error is encountered in the Kimwitu input, an apropriate error message
will be written on standard error, code generation will be suppressed and a
non-zero exit value will be returned. The error messages should be
self-explanatory.
AUTHOR¶
Axel Belinfante, University of Twente, the Netherlands.
By Email: <kimwitu@cs.utwente.nl>
VERSION¶
This manual page documents kc V3_* and newer.