| 
	
	| 
		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 | 
	 |