[antlr-interest] Struggling with RewriteEmptyStreamException
craig at palantir.co.za
craig at palantir.co.za
Wed Jul 16 06:56:13 PDT 2008
Hi,
I have scaled back to the following simple grammar.
I am trying to parse 'declare namespace ns1=...'
I cannot even get that simple part to work. I am not sure what I am doing wrong
in the rewrite rule. The C# target is throwing a RewriteEmptyStreamException
(token DECLARE) when I make a new token, and rewrite to a new empty token it
complains about the $i as the symbol and so on.
What am I missing?
Version 3.1b1.
grammar XQuery;
options {
language=CSharp2;
output=AST; }
tokens {
DECLARE='declare';
NAMESPACE='namespace';
ROOT='//';
SEPARATOR='/';
}
// parser rules.
query: declaration+ ;
declaration: DECLARE NAMESPACE i=IDENTIFIER '=' l=LITERAL ';' -> ^(DECLARE $i
$l) ;
// token section.
IDENTIFIER: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* ;
INTEGER: '0'..'9'+ ;
NEWLINE: '\r'? '\n' ;
COMPARATOR: '>'|'<'|'>='|'<='|'=';
LITERAL: '"' LITERAL_CHAR* '"';
WS: (' '|'\t'|'\n'|'\r')+ { $channel = HIDDEN; } ;
fragment
LITERAL_CHAR: ~('\"'|'\\') ;
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
More information about the antlr-interest
mailing list