SHILKA(1)

NAME
shilka - keywords description translator

SYNOPSIS
shilka [ -c++ --statistics -inline -strip -length -case -no-definitions -interface -export -enum -pprefix -time -fast n -w -h -help -v] specification-file

DESCRIPTION
SHILKA generates code for fast recognition of pipeline hazards of processor which is described in specification file. The specification file must have suffix `.shilka'

The generated code consists of optional interface and implementation files having the same names as one of specification file and correspondingly suffixes `.h' (if option -interface is given) and `.c' (C code) or `.cpp' (C++ code).

The fast recognition of keywords is based on structure called as minimal prunned O-trie. Full documentation of SHILKA is in SHILKA User's manual.

OPTIONS
The options which are known for SHILKA are:

-c++
    Output of C++ code instead of C code (which is default).

-statistics
    Generation of macro definition which switches on gathering and printing keyword occurrence statistics. Then such statistics can be used for setting up frequencies in the description file for faster recognition of keywords.

-inline
    Generation of function of keyword recognition as inline (take care with used C compiler). This can be speed up keyword recognition.

-strip
    Striping off code for gathering and printing statistics. By default the code is present in the implementation file. The code can be switched on by definition of a macro (see option -statistics ).

-length
    Usage of strncmp instead of strcmp to compare keywords. This can be useful if keyword is represented by a string without C string end marker (' ').

-case
    Keywords case is ignored during their recognition. This is useful for recognition keywords (or standard identifiers) in such language as Fortran.

-no-definitions
    No generation of macros (or enumeration) defining identifiers of keywords.

-interface
    Generation of additional interface file (with suffix `.h' ).

-export
    SHILKA generates macros defining identifiers of keywords in the interface file (instead of in the implementation file). This option has sense only when -interface is present.

-enum
    Output of enumeration instead of macro definitions for identifiers of keywords.

-pprefix
    Usage of prefix instead of `KR_' (default) for names of generated objects.

-time
    Output of time statistics of the SHILKA run into stderr.

-fast n
    If number of rested unchecked characters is less or equal n, then functions `strcmp' or `strncmp' is not used at all. Instead of this, simply comparing rested unchecked characters is used. This can speed up keyword recognition. The default value of the parameter is 3.

-w  Disable generation of all warnings.

-h, -help
    Output of brief help message about SHILKA usage.

-v  Creation of description file containing details how the code generated by SHILKA will recognize the keywords.

FILES
file.shilka
    SHILKA specification file
file.c
    generated C implementation file
file.cpp
    generated C++ implementation file
file.h
    generated interface file
There are no any temporary files used by SHILKA.

ENVIRONMENT
There are no environment variables which affect SHILKA behavior.

DIAGNOSTICS
SHILKA diagnostics is self-explanatory.

AUTHOR
Vladimir N. Makarov, vmakarov@users.sourceforge.net

SEE ALSO
msta(1), oka(1), sprut(1), nona(1). SHILKA manual.

BUGS
Please, report bugs to cocom-bugs@lists.sourceforge.net.