LLK Release 0.3

Release notes

Changes (See detail change history here)

  • NEW - graph package that plot node graph from treeparser grammar.
  • NEW - error action and empty action support.
  • NEW - label now accept ':' operator that instruct LLK to automatically declare the label variable.
  • CHANGE - Renamed packages to sf.llk.
  • CHANGE - Some major API changes in ILLToken, ILLKNode, ISourceLocator ... etc. Most operations now goes through the interfaces instead of using the concrete classes directly.
  • Some major bug fixes in LLK and treeparser generator.
  • See detail change history for more ...


Some major known bugs or limitations:
  • Creating nodes through node factory (Grammar options NodeFactory) is not suported yet.
  • DefaultErrorHandler although working for some simple cases, is not completed yet.
  • Error reporting (and warning) is still primitive. However, since each rule is a method, the stack trace should be sufficient to diagnose most errors.
  • KeywordLookupGenerator for static keyword lookup only handle up to 2 level of nesting. For now, it is sufficient for a few programming language keyword set, but may not work for others. In such cases, use dynamic keyword lookup instead.


The current distribution is developed and tested only in Linux. Since it is written completely in Java, it may work in other environment. These are packages required and being tested on. There are a number of support packages required that are bundled (with source) in the binary and source distribution:

Installation and Running

See release 0.2

Status and plans

The code is considered to be beta quality. It is usable for some real life work. However, it is by no means thoroughly tested.

For now, there is plan to port the Java and GnuC grammar in ANTLR to LLK, in addition to maintain the C# grammar used in the Black-sun C# editor. Preliminary version of the Java and GnuC grammar is available under llk-java and llk-gnuc projects in the source distribution.