returnToken_ = token;
}
public final void mOPTION_WITH_ARG(boolean mustCreateToken) throws ScannerException
{
Token token = null;
int begin = text.length();
StringBuffer optionCharacterBuffer = new StringBuffer(1);
StringBuffer argumentBuffer = new StringBuffer();
String compound[] = null;
mDASH(false);
char optionCharacter = mCHAR(false);
optionCharacterBuffer.append(optionCharacter);
if (la_1 == '\'' && la_2 >= '\003' && la_2 <= '\377')
{
match('\'');
while (TOKEN_SET_2.member(la_1))
{
char argumentCharacter = la_1;
matchNot('\'');
argumentBuffer.append(argumentCharacter);
}
match('\'');
}
else if (la_1 == '"' && la_2 >= '\003' && la_2 <= '\377')
{
match('"');
while (TOKEN_SET_3.member(la_1))
{
char argumentCharacter = la_1;
matchNot('"');
argumentBuffer.append(argumentCharacter);
}
match('"');
}
else if (la_1 == ' ')
{
match(' ');
}
else
{
while (TOKEN_SET_4.member(la_1))
{
char argumentCharacter = la_1;
match(TOKEN_SET_4);
argumentBuffer.append(argumentCharacter);
}
}
compound = new String[2];
compound[0] = optionCharacterBuffer.toString();
if (argumentBuffer.length() > 0)
{
compound[1] = argumentBuffer.toString();
}
setData(compound);
if (mustCreateToken)
{
token = makeToken(ArgTokenTypes.OPTION_WITH_ARG);
token.setText(new String(text.getBuffer(), begin, text.length() - begin));
}
returnToken_ = token;
}