[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What's the best way to override a node class?
Steve Murphy wrote:
> But, after the parse, the pesky double quotes become a nuisance. I found
> in .../node/TString.java that I could take this:
...
> and this small tweak works beautifully. BUT.... this is a generated
> file, and I need to NOT do this in this file! What's the cleanest way to
> override the functions in this class? I'm still a bit new as a Java
> programmer, so please, have mercy on me. I've overridden functions like
> crazy in the analysis (traversal) class, but this is a different sort of
> thing....?
You're right, modifying a generated file is not the thing to do.
Here's a simple solution that solves your problem: a custom lexer.
You write something like:
public class SomeLexer extends Lexer
{
... /* constructor, ...*/
/* Filter */
protected void filter()
{
if (token instanceof TString)
{
String text = token.getText();
int length = text.length();
token.setText(text.substring(1, length - 2));
}
}
}
This way, you won't need to modify generated code anymore.
Have fun!
Etienne
--
Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/
SableVM: http://www.sablevm.org/
SableCC: http://www.sablecc.org/