[antlr-interest] another lookahead issue with TokenStreamRewriteEngine

SainTiss saintiss at arklinux.org
Thu Feb 5 09:29:01 PST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

In the java.g grammar, I'm trying to parse a list of statements, by repeatedly 
calling a rule statementComplete:

statementComplete:
	statement;

A statement, afaik, always ends with SEMI or "}". However, it seems that the 
parser sometimes reads beyond that, probably for lookahead reasons.
For example, when parsing the following:

Method method = (Method) m;
final int myInt = 5;

After calling statementComplete once, and then calling the rewriteEngine's 
toOriginalString() method, I get:

"Method method = (Method) m;
final"

so the newline and "final" have been read as well, even though they obviously 
aren't part of the first statement. Is there a way to get rid of this? 
Preferrably a way to make sure no tokens are read beyond the actual 
statement?

Thanks,

Hans

PS Terence: there are a couple of minor bugs in the TokenStreamRewriteEngine 
as well:
1) In a couple of places, "programName" should be passed on to the 
addToSortedRewriteList, but isn't... (e.g. in public void replace(String 
programName, Token from, Token to, String text))
2) A delete operation should be defined as replace with text "", not text 
null, because the latter will put the characters n-u-l-l in the string...

- -- 
Ark Linux - Linux for the Masses (http://arklinux.org)

Capitalism: 
You don't have any cows. The bank will not lend you money to buy cows, 
because you don't have any cows to put up as collateral.

Representative Democracy:
You have two cows. Your neighbors pick someone to tell you who gets the milk. 

In a world without walls and fences, who needs windows and gates?

Hans Schippers
2LIC INF
UA 2003-2004
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAIn1dXlnUYIbmLOQRAjn+AKCOJ3E1IgQINUCiW0Y1vRAkrd4c+ACfUBXW
c/p6MDQaUxcVMAvR11U0rwA=
=ugzy
-----END PGP SIGNATURE-----



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/antlr-interest/

<*> To unsubscribe from this group, send an email to:
     antlr-interest-unsubscribe at yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/
 



More information about the antlr-interest mailing list