kc

Langue: en

Version: 250286 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

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.

CONTACT

By Email: <kimwitu@cs.utwente.nl>

VERSION

This manual page documents kc V3_* and newer.