|LLK Release 0.4 |
|| Home ||
This release has massive and incompatible changes. See detail change history here
- Lexer grammar now added context support.
- Lexer grammar now support custom llkNextToken() rule.
- Added sample grammars in llk-examples project and llk-csharp project.
- CSharp grammar now support generics and, primitive support of parsing conditional
sections into single AST model.
- Updated Java grammar to support generics and other Java5 constructs.
Requirement to run
The current distribution is developed and tested with Java 1.5.0 and 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 the binary distribution:
Requirement to run generated parsers
Generated code should be self contained and require only Java JRE to run (unless user actions use other
libraries, of course):
Requirement to compile
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 source distribution:
Also it is highly recommended that you have
- Eclipse v3.1
- black-sun plugins for Eclipse, which
provide an LLK editor that support syntax highlighting and formatting, ... etc.
Installation and Running
Running the binary
LLK binary distribution include the ready to run binary
llk.jar and required libraries. The main
sf.llk.impl.LLKMain) should run without Eclipse provided the jar files to
blacksun-util packages are in the classpath. To run the binary,
java -classpath $(classpath) sf.llk.impl.LLKMain \
-o src/a/parser -module a.parser \
-sdir src/a/support -smodule a.support \
The package is developed and tested in Eclipse v3.1 GTK for Linux and Java 1.5.0. This release use the
fireant build system from the black-sun project. The
builders are located in the
The following directory structure is assumed:
eclipse/ is the Eclipse installation.
ext/ is the directory that contains the
support libraries (eg. Jakarta-oro).
llk/, ... etc are the project directories from the source
To build from the source:
- Make sure you are running with Java1.5 and Eclipse 3.1.
- Setup directory structure as above.
- Unpack source distribution archive into the workspace and start Eclipse.
- Make sure Java compliance level is set to Java 5.0 in
- Import the
llk and other projects with
Import.../Existing project into Workspace
- Refresh and rebuild all projects.
- To install, invoke the fireant builder
That would create all the binary and source jar files in the
ext/ directory. There are a
number of ways to invoke the fireant builder inside Eclipse:
Rebuilding the LLK parser
The LLK parser is generated by LLK itself. To regenerate the lexer, parser and treeparsers from LLK.ll ... etc,
a LLK binary is required (one is included in the binary distribution).
The code is considered to be beta quality. It is usable for some real life work. However, it is by no means
There are a number of sample grammar projects, eg.
llk-java5 for Java5,
llk-csharp for CSharp,
llk-examples ... etc., in the source
distribution. The sample grammars are developed and provided for testing purpose and may not be complete or
|| Home ||