protected IToken identifier()
{
IToken value;
value = null; _sbuilder.Length = 0;
IToken id1 = null;
IToken id2 = null;
try { // for error handling
id1=macro_name();
if (0==inputState.guessing)
{
if (id1 != null) _sbuilder.Append(id1.getText());
value = id1;
}
{ // ( ... )*
for (;;)
{
if ((LA(1)==DOT) && (tokenSet_27_.member(LA(2))))
{
match(DOT);
id2=member();
if (0==inputState.guessing)
{
_sbuilder.Append('.');
if (id2 != null) _sbuilder.Append(id2.getText());
}
}
else
{
goto _loop663_breakloop;
}
}
_loop663_breakloop: ;
} // ( ... )*
if (0==inputState.guessing)
{
if (value != null) value.setText(_sbuilder.ToString());
}
}
catch (RecognitionException ex)
{
if (0 == inputState.guessing)
{
reportError(ex, "identifier");
recover(ex,tokenSet_13_);
}
else
{
throw ex;
}
}
return value;
}