|
LLK 0.4.1
Release notes
|
| Home |
|
|
LLK Changes
Grammar
- NEW - Added
alias rule for parser that accept a tokenSet on the right hand
side. Such alias rule simply given a name to the tokenSet such that it can be referenced in user code
easily.
- NEW - Added predict only action
%%{ predictOnlyAction(); } that is
executed during syntactic predict only.
- CHANGE - Tag name for token types in the generated token type xml file is renamed from
TokenTypes to tokentypes , to be consistent with other tags.
Implementation
- NEW - Add new option
BuildVisitorAdapter to build an adapter for the
generated visitor. It require BuildVisitor as pre-requisite.
- NEW - Add
ISourceLocator.setCharWidth(int offset, int width) for handling
character with column width other than one column. This is used by getColumn() to derive the correct column
number. This do not apply to the tab character, which is handled by tab() method
instead.
- CHANGE -
LLKParseError is now derived from RuntimeException
instead of Error so that it can be catched as Exception.
- CHANGE -
_EOF_ token now return an empty string instead of
null on getText() .
-
CHANGE -
void ILLKNode.add(ILLKNode child, ILLKNode prev) now returns child
instead of void:
ILLKNode add(ILLKNode child, ILLKNode prev)
- CHANGE - ILLKNode
setLastToken(ILLKToken t) and ILLKToken
getLastToken() is back. A parser can choose to use setOffset() and
setEndOffset() and decouple from the token stream or use setFirstToken() and
setLastToken() to link the nodes to the token stream.
-
CHANGE - TreeParser now call llkPush() and llkPop() methods instead of inline these code fragments :
llkStack.push(LT1);
LT1 = LT1.getNext();
and
LT1 = ((ILLKNode)llkStack.pop()).getNext();
Bugs
- FIXED - Removed
ILLKLexerInput.llkRewind(ILLKToken t) .
ILLKLexer.llkRewind(ILLKToken lt0) now rewind to start token that follow lt0
(lt1 ), instead of start of the first special token of lt1 , to avoid scanner the
specials (which may be conditional directives) again.
- FIXED - IntList.pop(int n) that caused
IndexOutOfBoundException
incorrectly.
- FIXED -
LLKTreeParserGenerator.java language configuration file
location.
- FIXED - Suppressed unwanted checking in TreeParser when
Validate options
is off.
- FIXED - LLTreeParserGenerator do not generate correct code for conditional expression
other than
(>n) format.
Sample Grammar Changes
llk-csharp
- FIXED - Nullable type in conditional expression.
- NEW - Added operators ?? and :: for csharp 2.0.
- NEW - Added FixedSizeBufferDeclaration() for csharp 2.0.
|
|
Requirement to run
See release 0.4 for details. In addition, LLK
v0.4.1 required blacksun-util.jar v0.7.1 from the black-sun project which is bundled in both the binary and source
distribution.
|
|
Requirement to run generated parsers
See release 0.4 for details.
|
|
Requirement to compile
See release 0.4 for details.
|
|
Installation and Running
See release 0.4 for details.
|
|
Status and plans
|
|
| Home |
|