public void mDOUBLE_QUOTED_STRING(bool _createToken)
{
int _ttype; IToken _token=null; int _begin=text.Length;
_ttype = DOUBLE_QUOTED_STRING;
int _saveIndex = 0;
_saveIndex = text.Length;
match('"');
text.Length = _saveIndex;
{
if (((cached_LA1=='"') && (cached_LA2=='"') && ((LA(3) >= '\u0003' && LA(3) <= '\ufffe')))&&(LA(1)=='"' && LA(2)=='"'))
{
mTRIPLE_QUOTED_STRING(false);
if (0==inputState.guessing)
{
_ttype = TRIPLE_QUOTED_STRING;
}
}
else if ((tokenSet_2_.member(cached_LA1)) && (true) && (true)) {
{
{ // ( ... )*
for (;;)
{
bool synPredMatched781 = false;
if (((cached_LA1=='$') && (cached_LA2=='('||cached_LA2=='{') && (tokenSet_2_.member(LA(3)))))
{
int _m781 = mark();
synPredMatched781 = true;
inputState.guessing++;
try {
{
if ((cached_LA1=='$') && (cached_LA2=='{'))
{
match("${");
}
else if ((cached_LA1=='$') && (cached_LA2=='(')) {
match("$(");
}
else
{
throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
}
}
}
catch (RecognitionException)
{
synPredMatched781 = false;
}
rewind(_m781);
inputState.guessing--;
}
if ( synPredMatched781 )
{
if (0==inputState.guessing)
{
Enqueue(makeToken(DOUBLE_QUOTED_STRING), text.ToString(_begin, text.Length-_begin));
text.Length = _begin; text.Append("");
}
mINTERPOLATED_EXPRESSION(false);
}
else {
bool synPredMatched783 = false;
if (((cached_LA1=='$') && (tokenSet_0_.member(cached_LA2)) && (tokenSet_2_.member(LA(3)))))
{
int _m783 = mark();
synPredMatched783 = true;
inputState.guessing++;
try {
{
match('$');
mID(false);
}
}
catch (RecognitionException)
{
synPredMatched783 = false;
}
rewind(_m783);
inputState.guessing--;
}
if ( synPredMatched783 )
{
if (0==inputState.guessing)
{
Enqueue(makeToken(DOUBLE_QUOTED_STRING), text.ToString(_begin, text.Length-_begin));
text.Length = _begin; text.Append("");
}
mINTERPOLATED_REFERENCE(false);
}
else if ((tokenSet_7_.member(cached_LA1)) && (tokenSet_2_.member(cached_LA2)) && (true)) {
{
match(tokenSet_7_);
}
}
else if ((cached_LA1=='\\')) {
mDQS_ESC(false);
}
else
{
goto _loop785_breakloop;
}
}
}
_loop785_breakloop: ;
} // ( ... )*
_saveIndex = text.Length;
match('"');
text.Length = _saveIndex;
}
}
else
{
throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn());
}
}
if (0==inputState.guessing)
{
if (_erecorder.Count > 0)
{
Enqueue(makeToken(DOUBLE_QUOTED_STRING), text.ToString(_begin, text.Length-_begin));
_ttype = ESEPARATOR;
text.Length = _begin; text.Append("");
_selector.push(_erecorder);
}
}
if (_createToken && (null == _token) && (_ttype != Token.SKIP))
{
_token = makeToken(_ttype);
_token.setText(text.ToString(_begin, text.Length-_begin));
}
returnToken_ = _token;
}