[antlr-interest] feeding conditional terms to stringtemplate
siemsen at ucar.edu
siemsen at ucar.edu
Thu Feb 14 14:07:44 PST 2008
I've got this rule in an ANTLR 3 grammar:
qualifierDeclaration
: QUALIFIER qualifierName COLON qualifierType qualifierFlavorList?
SEMICOLON
{
qualifierDefinition qDef = new qualifierDefinition(
$qualifierName.text,
$qualifierType.type,
$qualifierFlavorList.fList);
}
;
It works fine when a qualifierFlavorList exists in the input stream.
When it doesn't, I get a NullPointerException because
$qualifierFlavorList.fList isn't defined. To make it work, I did this:
qualifierDeclaration
: QUALIFIER qualifierName COLON qualifierType
( qFl=qualifierFlavorList )? SEMICOLON
{
ArrayList fl = new ArrayList();
if (qFl != null) {
fl = qFl.fList;
}
qualifierDefinition qDef = new qualifierDefinition(
$qualifierName.text,
$qualifierType.type,
fl);
}
;
This seems rather klunky. Is there a more elegant way to deal with it?
-- Pete
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080214/3b606b6e/attachment.html
More information about the antlr-interest
mailing list