The reason why to use this tool is that it generates parsers with easy-to-understand source files - i.e. it is possible to reconstruct the original structure of the grammar and also to understand and therefore also be able to modify the sources.
unzip KC020emx.zip *)
KindCons [-q] [-T] <langfile> [<target_directory>] [-l<lstfile>]where:
Parameter | Description |
---|---|
-q | supresses printing of banner |
-s | supresses printing of banner |
-T | enables generation of target file debug support. |
<langfile> | language description file name |
<target_directory> | target directory for the generated files; if they already exist, they would be overwritten |
-l<lstfile> | enables generation of a listing file and specifies its name (and optional path); it is useful for `debugging' of new language description files. |
Disassembling and other reverse engineereng is prohibited: if you need to do some changes in the application, ask the author.
Author is not responsible of any damage made by the application and by their use.
Michal Zemlicka | |
KSI MFF UK | |
Malostranske nam. 25 | |
118 00 | Praha 1 |
Czech Republic |
The contact can also be used for sending some wonderful ideas how to improve the application. If you find some errors in the application send me an info about it - but distinguish please between errors in grammars that are written by you and between errors really caused by the application.
Q: Why do you ask for info about the use?
A: I need to show my boss that I do not spend my time with playing. As other
scientists I need to publish and be cited ...
Q: Why the application is not open-source?
A: I want to keep the control about the application at least until the
twin-app will be finished. And also, of course, I want to use this
application - current trends in author rights seem to me very
dangerous and I do not want to pay for the use of my own work in the
future. If I decide to leave computers, I probably give the sources
to the public.
Q: Will the semantic actions be better supported.
A: I hope so. But it needs some time and lots of work.
Q: Is the product error-free?
A: I am afraid that there are some. Therefore it is released as beta to let
others to help me in their detection.
Q: How can I "debug" my own language descriptions?
A: Try KindTran
of the same version number as it produces more detailed info
about the processed language definition.
Also KindCons have some debugging support: enable generation of listing
file that can show you where the learning process stopped.
Q: How can I guess the proper limits for terminals, nonterminals, edges, etc.?
A: Limits for number of terminals, nonterminals, semantic actions,
output terminals, productions, keywords and instructions
can be obtained easily:
just count their definition lines. Limit of edges and views try to set
to 10x(#terminals + #nonterminals), limit for node set to
25x(#terminals + #nonterminals), and limit for symbol nodes
set a bit higher that is their number - it depends on their number
and length.