public static int ParseAddrSpec( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state, tx2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { tx2 = ParseLocalPart(str, index, endIndex, tokener); if (tx2 == index) { break; } else { index = tx2; } if (index < endIndex && (str[index] == 64)) { ++index; } else { index = indexStart; break; } tx2 = ParseDomain(str, index, endIndex, tokener); if (tx2 == index) { index = indexStart; break; } else { index = tx2; } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseAddress( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { indexTemp2 = ParseMailbox(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } indexTemp2 = ParseGroup(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseDiagOther( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, tx3; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index + 1 < endIndex && str[index] == 33 && str[index + 1] == 46) { index += 2; } else { break; } if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122))) { ++index; while (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122))) { ++index; } } else { index = indexStart; break; } do { indexTemp2 = index; do { indexStart2 = index; if (index < endIndex && (str[index] == 46)) { ++index; } else { break; } tx3 = ParseDiagIdentity(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } while (false); index = ParseFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseYear( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { index = ParseCFWS(str, index, endIndex, tokener); if (index + 1 < endIndex && ((str[index] >= 48 && str[index] <= 57) || (str[index + 1] >= 48 && str[index + 1] <= 57))) { index += 2; } else { index = indexStart; break; } while (index < endIndex && (str[index] >= 48 && str[index] <= 57)) { ++index; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseTime( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state, tx2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { tx2 = ParseTimeOfDay(str, index, endIndex, tokener); if (tx2 == index) { break; } else { index = tx2; } tx2 = ParseZone(str, index, endIndex, tokener); if (tx2 == index) { index = indexStart; break; } else { index = tx2; } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseSicSequence( string str, int index, int endIndex, ITokener tokener) { int i, i2, indexStart, indexStart2, indexTemp, indexTemp2, indexTemp3, state, state2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { for (i = 0; i < 8; ++i) { indexTemp2 = ParsePsChar(str, index, endIndex, tokener); if (indexTemp2 != index) { index = indexTemp2; } else { if (i < 3) { index = indexStart; } break; } } if (index == indexStart) { break; } while (true) { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; index = ParseFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 59)) { ++index; } else { index = indexStart2; break; } index = ParseFWS(str, index, endIndex, tokener); for (i2 = 0; i2 < 8; ++i2) { indexTemp3 = ParsePsChar(str, index, endIndex, tokener); if (indexTemp3 != index) { index = indexTemp3; } else { if (i2 < 3) { index = indexStart2; } break; } } if (index == indexStart2) { break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else if (tokener != null) { tokener.RestoreState(state2); break; } else { break; } } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseResinfo( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, state2, tx2, tx3; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 59)) { ++index; } else { index = indexStart; break; } tx2 = ParseMethodspec(str, index, endIndex, tokener); if (tx2 == index) { index = indexStart; break; } else { index = tx2; } do { indexTemp2 = index; do { indexStart2 = index; tx3 = ParseCFWS(str, index, endIndex, tokener); if (tx3 == index) { break; } else { index = tx3; } tx3 = ParseReasonspec(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } while (false); while (true) { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; tx3 = ParseCFWS(str, index, endIndex, tokener); if (tx3 == index) { break; } else { index = tx3; } tx3 = ParsePropspec(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else if (tokener != null) { tokener.RestoreState(state2); break; } else { break; } } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseRegularParameter( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state, tx2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { tx2 = ParseRegularParameterName(str, index, endIndex, tokener); if (tx2 == index) { break; } else { index = tx2; } index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 61)) { ++index; } else { index = indexStart; break; } index = ParseCFWS(str, index, endIndex, tokener); tx2 = ParseValue(str, index, endIndex, tokener); if (tx2 == index) { index = indexStart; break; } else { index = tx2; } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePhraseAtomOrDot( string str, int index, int endIndex, ITokener tokener) { int i, indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { indexTemp2 = index; for (i = 0; true; ++i) { indexTemp2 = ParseAtext(str, index, endIndex, tokener); if (indexTemp2 == index) { if (i < 1) { indexTemp = indexStart; } break; } else { index = indexTemp2; } } index = indexStart; if (indexTemp2 != indexStart) { indexTemp = indexTemp2; break; } if (index < endIndex && (str[index] == 46)) { ++indexTemp; break; } } while (false); if (tokener != null) { if (indexTemp == indexStart) { tokener.RestoreState(state); } else { tokener.Commit(4, indexStart, indexTemp); } } return indexTemp; }
public static int ParsePhraseAtom( string str, int index, int endIndex, ITokener tokener) { int i, indexStart, indexTemp, indexTemp2, indexTemp3, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { for (i = 0; true; ++i) { indexTemp2 = index; do { if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122))) { ++indexTemp2; break; } if (index < endIndex && ((str[index] >= 48 && str[index] <= 57) || (str[index] == 33) || (str[index] == 35) || (str[index] == 36) || (str[index] == 37) || (str[index] == 38) || (str[index] == 39) || (str[index] == 42) || (str[index] == 43) || (str[index] == 45) || (str[index] == 47) || (str[index] == 61) || (str[index] == 63) || (str[index] == 94) || (str[index] == 95) || (str[index] == 96) || (str[index] == 123) || (str[index] == 124) || (str[index] == 125) || (str[index] == 126))) { ++indexTemp2; break; } indexTemp3 = index; do { if (index < endIndex && ((str[index] >= 128 && str[index] <= 55295) || (str[index] >= 57344 && str[index] <= 65535))) { ++indexTemp3; break; } if (index + 1 < endIndex && ((str[index] >= 55296 && str[index] <= 56319) && (str[index + 1] >= 56320 && str[index + 1] <= 57343))) { indexTemp3 += 2; break; } } while (false); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { if (i < 1) { index = indexStart; } break; } } if (index == indexStart) { break; } indexTemp = index; } while (false); if (tokener != null) { if (indexTemp == indexStart) { tokener.RestoreState(state); } else { tokener.Commit(3, indexStart, indexTemp); } } return indexTemp; }
public static int ParsePhrase( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state, tx2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { tx2 = ParsePhraseWord(str, index, endIndex, tokener); if (tx2 == index) { break; } else { index = tx2; } while (true) { indexTemp2 = ParsePhraseWordOrDot(str, index, endIndex, tokener); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } indexTemp = index; } while (false); if (tokener != null) { if (indexTemp == indexStart) { tokener.RestoreState(state); } else { tokener.Commit(1, indexStart, indexTemp); } } return indexTemp; }
public static int ParsePathxmpp( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, indexTemp3, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { do { indexTemp2 = index; do { indexStart2 = index; while (true) { indexTemp3 = ParseNodeid(str, index, endIndex, tokener); if (indexTemp3 != index) { index = indexTemp3; } else { break; } } if (index < endIndex && (str[index] == 64)) { ++index; } else { index = indexStart2; break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } while (false); while (true) { indexTemp2 = ParseRegName(str, index, endIndex, tokener); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } do { indexTemp2 = index; do { indexStart2 = index; if (index < endIndex && (str[index] == 47)) { ++index; } else { break; } while (true) { indexTemp3 = ParseResid(str, index, endIndex, tokener); if (indexTemp3 != index) { index = indexTemp3; } else { break; } } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } while (false); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePathList( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexStart4, indexTemp, indexTemp2, indexTemp3, indexTemp4, state, state2, state4, tx3, tx5; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { while (true) { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; tx3 = ParsePathIdentity(str, index, endIndex, tokener); if (tx3 == index) { break; } else { index = tx3; } index = ParseFWS(str, index, endIndex, tokener); do { indexTemp3 = index; do { state4 = (tokener != null) ? tokener.GetState() : 0; indexTemp4 = index; do { indexStart4 = index; tx5 = ParseDiagOther(str, index, endIndex, tokener); if (tx5 == index) { break; } else { index = tx5; } if (index < endIndex && (str[index] == 33)) { ++index; } else { index = indexStart4; break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { indexTemp3 = indexTemp4; break; } if (tokener != null) { tokener.RestoreState(state4); } state4 = (tokener != null) ? tokener.GetState() : 0; indexTemp4 = index; do { indexStart4 = index; tx5 = ParseDiagDeprecated(str, index, endIndex, tokener); if (tx5 == index) { break; } else { index = tx5; } if (index < endIndex && (str[index] == 33)) { ++index; } else { index = indexStart4; break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { indexTemp3 = indexTemp4; break; } if (tokener != null) { tokener.RestoreState(state4); } if (index + 1 < endIndex && str[index] == 33 && str[index + 1] == 33) { indexTemp3 += 2; break; } if (index < endIndex && (str[index] == 33)) { ++indexTemp3; break; } } while (false); if (indexTemp3 != index) { index = indexTemp3; } else { index = indexStart2; break; } } while (false); if (index == indexStart2) { break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else if (tokener != null) { tokener.RestoreState(state2); break; } else { break; } } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePath( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, state2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { indexTemp2 = ParseAngleAddr(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 60)) { ++index; } else { index = indexStart2; break; } index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 62)) { ++index; } else { index = indexStart2; break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } if (tokener != null) { tokener.RestoreState(state2); } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseParameter( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart3, indexStart4, indexTemp, indexTemp2, indexTemp3, indexTemp4, indexTemp5, state, state3, tx5; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { index = ParseCFWS(str, index, endIndex, tokener); do { indexTemp2 = index; do { indexTemp3 = ParseRegularParameter(str, index, endIndex, tokener); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } state3 = (tokener != null) ? tokener.GetState() : 0; indexTemp3 = index; do { indexStart3 = index; do { indexTemp4 = index; do { indexStart4 = index; if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; while (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; } } else { break; } if (index + 1 < endIndex && str[index] == 42 && str[index + 1] == 48) { index += 2; } if (index < endIndex && (str[index] == 42)) { ++index; } else { index = indexStart4; break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { index = indexTemp4; } else { index = indexStart3; break; } } while (false); if (index == indexStart3) { break; } index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 61)) { ++index; } else { index = indexStart3; break; } index = ParseCFWS(str, index, endIndex, tokener); do { indexTemp4 = index; do { indexStart4 = index; index = ParseCharset(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 39)) { ++index; } else { index = indexStart4; break; } index = ParseLanguageTag(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 39)) { ++index; } else { index = indexStart4; break; } while (true) { indexTemp5 = index; do { if (index + 2 < endIndex && (((str[index] == 37) && (((str[index + 1] >= 48 && str[index + 1] <= 57) || (str[index + 1] >= 65 && str[index + 1] <= 70) || (str[index + 1] >= 97 && str[index + 1] <= 102)) && ((str[index + 2] >= 48 && str[index + 2] <= 57) || (str[index + 2] >= 65 && str[index + 2] <= 70) || (str[index + 2] >= 97 && str[index + 2] <= 102)))))) { indexTemp5 += 3; break; } if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++indexTemp5; break; } } while (false); if (indexTemp5 != index) { index = indexTemp5; } else { break; } } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { index = indexTemp4; } else { index = indexStart3; break; } } while (false); if (index == indexStart3) { break; } indexTemp3 = index; index = indexStart3; } while (false); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } if (tokener != null) { tokener.RestoreState(state3); } state3 = (tokener != null) ? tokener.GetState() : 0; indexTemp3 = index; do { indexStart3 = index; do { indexTemp4 = index; do { indexStart4 = index; if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; while (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; } } else { break; } tx5 = ParseOtherSections(str, index, endIndex, tokener); if (tx5 == index) { index = indexStart4; break; } else { index = tx5; } if (index < endIndex && (str[index] == 42)) { ++index; } else { index = indexStart4; break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { index = indexTemp4; } else { index = indexStart3; break; } } while (false); if (index == indexStart3) { break; } if (index < endIndex && (str[index] == 61)) { ++index; } else { index = indexStart3; break; } while (true) { indexTemp4 = index; do { if (index + 2 < endIndex && (((str[index] == 37) && (((str[index + 1] >= 48 && str[index + 1] <= 57) || (str[index + 1] >= 65 && str[index + 1] <= 70) || (str[index + 1] >= 97 && str[index + 1] <= 102)) && ((str[index + 2] >= 48 && str[index + 2] <= 57) || (str[index + 2] >= 65 && str[index + 2] <= 70) || (str[index + 2] >= 97 && str[index + 2] <= 102)))))) { indexTemp4 += 3; break; } if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++indexTemp4; break; } } while (false); if (indexTemp4 != index) { index = indexTemp4; } else { break; } } indexTemp3 = index; index = indexStart3; } while (false); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } if (tokener != null) { tokener.RestoreState(state3); } } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { index = indexStart; break; } } while (false); if (index == indexStart) { break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseReasonspec( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state, tx2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index + 5 < endIndex && (str[index] & ~32) == 82 && (str[index + 1] & ~32) == 69 && (str[index + 2] & ~32) == 65 && (str[index + 3] & ~32) == 83 && (str[index + 4] & ~32) == 79 && (str[index + 5] & ~32) == 78) { index += 6; } else { break; } index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 61)) { ++index; } else { index = indexStart; break; } index = ParseCFWS(str, index, endIndex, tokener); tx2 = ParseValue(str, index, endIndex, tokener); if (tx2 == index) { index = indexStart; break; } else { index = tx2; } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseReceivedToken( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { indexTemp2 = ParseAngleAddr(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } indexTemp2 = ParseAddrSpec(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } indexTemp2 = ParseDomain(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } indexTemp2 = ParseAtom(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } indexTemp2 = ParseQuotedString(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePhraseWordOrDot( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, state2, tx3; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; index = ParseCFWS(str, index, endIndex, tokener); tx3 = ParsePhraseAtomOrDot(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } if (tokener != null) { tokener.RestoreState(state2); } indexTemp2 = ParseQuotedString(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseRegularParameterName( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; while (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] == 38) || (str[index] == 43) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126))) { ++index; } } else { break; } index = ParseSection(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePrecedence( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart3, indexTemp, indexTemp2, indexTemp3, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { do { indexTemp2 = index; do { if (index < endIndex && (str[index] == 48)) { ++indexTemp2; break; } indexTemp3 = index; do { indexStart3 = index; if (index < endIndex && (str[index] >= 49 && str[index] <= 57)) { ++index; } else { break; } while (index < endIndex && (str[index] >= 48 && str[index] <= 57)) { ++index; } indexTemp3 = index; index = indexStart3; } while (false); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } if (index + 7 < endIndex && (str[index] & ~32) == 68 && (str[index + 1] & ~32) == 69 && (str[index + 2] & ~32) == 70 && (str[index + 3] & ~32) == 69 && (str[index + 4] & ~32) == 82 && (str[index + 5] & ~32) == 82 && (str[index + 6] & ~32) == 69 && (str[index + 7] & ~32) == 68) { indexTemp2 += 8; break; } if (index + 6 < endIndex && (str[index] & ~32) == 82 && (str[index + 1] & ~32) == 79 && (str[index + 2] & ~32) == 85 && (str[index + 3] & ~32) == 84 && (str[index + 4] & ~32) == 73 && (str[index + 5] & ~32) == 78 && (str[index + 6] & ~32) == 69) { indexTemp2 += 7; break; } if (index + 7 < endIndex && (str[index] & ~32) == 80 && (str[index + 1] & ~32) == 82 && (str[index + 2] & ~32) == 73 && (str[index + 3] & ~32) == 79 && (str[index + 4] & ~32) == 82 && (str[index + 5] & ~32) == 73 && (str[index + 6] & ~32) == 84 && (str[index + 7] & ~32) == 89) { indexTemp2 += 8; break; } if (index + 8 < endIndex && (str[index] & ~32) == 73 && (str[index + 1] & ~32) == 77 && (str[index + 2] & ~32) == 77 && (str[index + 3] & ~32) == 69 && (str[index + 4] & ~32) == 68 && (str[index + 5] & ~32) == 73 && (str[index + 6] & ~32) == 65 && (str[index + 7] & ~32) == 84 && (str[index + 8] & ~32) == 69) { indexTemp2 += 9; break; } if (index + 4 < endIndex && (str[index] & ~32) == 70 && (str[index + 1] & ~32) == 76 && (str[index + 2] & ~32) == 65 && (str[index + 3] & ~32) == 83 && (str[index + 4] & ~32) == 72) { indexTemp2 += 5; break; } if (index + 7 < endIndex && (str[index] & ~32) == 79 && (str[index + 1] & ~32) == 86 && (str[index + 2] & ~32) == 69 && (str[index + 3] & ~32) == 82 && (str[index + 4] & ~32) == 82 && (str[index + 5] & ~32) == 73 && (str[index + 6] & ~32) == 68 && (str[index + 7] & ~32) == 69) { indexTemp2 += 8; break; } } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { index = indexStart; break; } } while (false); if (index == indexStart) { break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseSection( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index + 1 < endIndex && str[index] == 42 && str[index + 1] == 48) { indexTemp += 2; break; } indexTemp2 = ParseOtherSections(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseDiagIdentity( string str, int index, int endIndex, ITokener tokener) { int i2, i4, indexStart, indexStart2, indexStart3, indexStart4, indexTemp, indexTemp2, indexTemp3, indexTemp4, indexTemp5, state, state2, tx4; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; for (i2 = 0; true; ++i2) { indexTemp3 = index; do { indexStart3 = index; tx4 = ParseLabel(str, index, endIndex, tokener); if (tx4 == index) { break; } else { index = tx4; } if (index < endIndex && (str[index] == 46)) { ++index; } else { index = indexStart3; break; } indexTemp3 = index; index = indexStart3; } while (false); if (indexTemp3 != index) { index = indexTemp3; } else { if (i2 < 1) { index = indexStart2; } break; } } if (index == indexStart2) { break; } do { indexTemp3 = index; do { indexTemp4 = index; do { indexStart4 = index; if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122))) { ++index; } else { break; } for (i4 = 0; true; ++i4) { indexTemp5 = index; do { if (index + 1 < endIndex && ((str[index] == 45) && ((str[index + 1] >= 65 && str[index + 1] <= 90) || (str[index + 1] >= 97 && str[index + 1] <= 122) || (str[index + 1] >= 48 && str[index + 1] <= 57)))) { indexTemp5 += 2; break; } if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122) || (str[index] >= 48 && str[index] <= 57))) { ++indexTemp5; break; } } while (false); if (indexTemp5 != index) { index = indexTemp5; } else { if (i4 < 1) { index = indexStart4; } break; } } if (index == indexStart4) { break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { indexTemp3 = indexTemp4; break; } indexTemp4 = index; do { indexStart4 = index; if (index < endIndex && (str[index] >= 48 && str[index] <= 57)) { ++index; } else { break; } while (index < endIndex && ((str[index] >= 48 && str[index] <= 57) || (str[index] == 45))) { ++index; } if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122))) { ++index; } else { index = indexStart4; break; } while (true) { indexTemp5 = index; do { if (index + 1 < endIndex && ((str[index] == 45) && ((str[index + 1] >= 65 && str[index + 1] <= 90) || (str[index + 1] >= 97 && str[index + 1] <= 122) || (str[index + 1] >= 48 && str[index + 1] <= 57)))) { indexTemp5 += 2; break; } if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122) || (str[index] >= 48 && str[index] <= 57))) { ++indexTemp5; break; } } while (false); if (indexTemp5 != index) { index = indexTemp5; } else { break; } } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { indexTemp3 = indexTemp4; break; } } while (false); if (indexTemp3 != index) { index = indexTemp3; } else { index = indexStart2; break; } } while (false); if (index == indexStart2) { break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } if (tokener != null) { tokener.RestoreState(state2); } if (index < endIndex && ((str[index] >= 65 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 122) || (str[index] >= 48 && str[index] <= 57) || (str[index] == 45) || (str[index] == 95))) { ++indexTemp; while (indexTemp < endIndex && ((str[indexTemp] >= 65 && str[indexTemp] <= 90) || (str[indexTemp] >= 97 && str[indexTemp] <= 122) || (str[indexTemp] >= 48 && str[indexTemp] <= 57) || (str[indexTemp] == 45) || (str[indexTemp] == 95))) { ++indexTemp; } break; } // Unlimited production in choice } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseSioLabelParmSeq( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, tx2, tx3; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { tx2 = ParseParameter(str, index, endIndex, tokener); if (tx2 == index) { break; } else { index = tx2; } do { indexTemp2 = index; do { indexStart2 = index; index = ParseFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 59)) { ++index; } else { index = indexStart2; break; } index = ParseFWS(str, index, endIndex, tokener); tx3 = ParseSioLabelParmSeq(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { break; } } while (false); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParsePvalue( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart3, indexStart4, indexTemp, indexTemp2, indexTemp3, indexTemp4, state, state3, tx4; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { index = ParseCFWS(str, index, endIndex, tokener); do { indexTemp2 = index; do { if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126) || (str[index] >= 42 && str[index] <= 43) || (str[index] >= 38 && str[index] <= 39) || (str[index] == 63))) { ++indexTemp2; while (indexTemp2 < endIndex && ((str[indexTemp2] == 33) || (str[indexTemp2] >= 35 && str[indexTemp2] <= 36) || (str[indexTemp2] >= 45 && str[indexTemp2] <= 46) || (str[indexTemp2] >= 48 && str[indexTemp2] <= 57) || (str[indexTemp2] >= 65 && str[indexTemp2] <= 90) || (str[indexTemp2] >= 94 && str[indexTemp2] <= 126) || (str[indexTemp2] >= 42 && str[indexTemp2] <= 43) || (str[indexTemp2] >= 38 && str[indexTemp2] <= 39) || (str[indexTemp2] == 63))) { ++indexTemp2; } break; } indexTemp3 = ParseQuotedString(str, index, endIndex, tokener); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } state3 = (tokener != null) ? tokener.GetState() : 0; indexTemp3 = index; do { indexStart3 = index; do { indexTemp4 = index; do { indexStart4 = index; index = ParseLocalPart(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 64)) { ++index; } else { index = indexStart4; break; } indexTemp4 = index; index = indexStart4; } while (false); if (indexTemp4 != index) { index = indexTemp4; } else { break; } } while (false); tx4 = ParseDomainName(str, index, endIndex, tokener); if (tx4 == index) { index = indexStart3; break; } else { index = tx4; } indexTemp3 = index; index = indexStart3; } while (false); if (indexTemp3 != index) { indexTemp2 = indexTemp3; break; } if (tokener != null) { tokener.RestoreState(state3); } } while (false); if (indexTemp2 != index) { index = indexTemp2; } else { index = indexStart; break; } } while (false); if (index == indexStart) { break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseValue( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 36) || (str[index] >= 45 && str[index] <= 46) || (str[index] >= 48 && str[index] <= 57) || (str[index] >= 65 && str[index] <= 90) || (str[index] >= 94 && str[index] <= 126) || (str[index] >= 42 && str[index] <= 43) || (str[index] >= 38 && str[index] <= 39) || (str[index] == 63))) { ++indexTemp; while (indexTemp < endIndex && ((str[indexTemp] == 33) || (str[indexTemp] >= 35 && str[indexTemp] <= 36) || (str[indexTemp] >= 45 && str[indexTemp] <= 46) || (str[indexTemp] >= 48 && str[indexTemp] <= 57) || (str[indexTemp] >= 65 && str[indexTemp] <= 90) || (str[indexTemp] >= 94 && str[indexTemp] <= 126) || (str[indexTemp] >= 42 && str[indexTemp] <= 43) || (str[indexTemp] >= 38 && str[indexTemp] <= 39) || (str[indexTemp] == 63))) { ++indexTemp; } break; } indexTemp2 = ParseQuotedString(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseQcontent( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index < endIndex && ((str[index] == 33) || (str[index] >= 35 && str[index] <= 91) || (str[index] >= 93 && str[index] <= 126) || (str[index] >= 1 && str[index] <= 8) || (str[index] >= 11 && str[index] <= 12) || (str[index] >= 14 && str[index] <= 31) || (str[index] == 127) || (str[index] >= 128 && str[index] <= 55295) || (str[index] >= 57344 && str[index] <= 65535))) { ++indexTemp; break; } if (index + 1 < endIndex && ((str[index] >= 55296 && str[index] <= 56319) && (str[index + 1] >= 56320 && str[index + 1] <= 57343))) { indexTemp += 2; break; } indexTemp2 = ParseQuotedPair(str, index, endIndex, tokener); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseZone( string str, int index, int endIndex, ITokener tokener) { int i2, indexStart, indexStart2, indexTemp, indexTemp2, indexTemp3, state, state2; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; for (i2 = 0; true; ++i2) { indexTemp3 = ParseFWS(str, index, endIndex, tokener); if (indexTemp3 != index) { index = indexTemp3; } else { if (i2 < 1) { index = indexStart2; } break; } } if (index == indexStart2) { break; } if (index < endIndex && ((str[index] == 43) || (str[index] == 45))) { ++index; } else { index = indexStart2; break; } if (index + 3 < endIndex && ((str[index] >= 48 && str[index] <= 57) || (str[index + 1] >= 48 && str[index + 1] <= 57) || (str[index + 2] >= 48 && str[index + 2] <= 57) || (str[index + 3] >= 48 && str[index + 3] <= 57))) { index += 4; } else { index = indexStart2; break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } if (tokener != null) { tokener.RestoreState(state2); } state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; index = ParseCFWS(str, index, endIndex, tokener); do { indexTemp3 = index; do { if (index + 1 < endIndex && (str[index] & ~32) == 85 && (str[index + 1] & ~32) == 84) { indexTemp3 += 2; break; } if (index + 2 < endIndex && (str[index] & ~32) == 71 && (str[index + 1] & ~32) == 77 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 69 && (str[index + 1] & ~32) == 83 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 69 && (str[index + 1] & ~32) == 68 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 67 && (str[index + 1] & ~32) == 83 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 67 && (str[index + 1] & ~32) == 68 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 77 && (str[index + 1] & ~32) == 83 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 77 && (str[index + 1] & ~32) == 68 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 80 && (str[index + 1] & ~32) == 83 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index + 2 < endIndex && (str[index] & ~32) == 80 && (str[index + 1] & ~32) == 68 && (str[index + 2] & ~32) == 84) { indexTemp3 += 3; break; } if (index < endIndex && ((str[index] >= 65 && str[index] <= 73) || (str[index] >= 75 && str[index] <= 90) || (str[index] >= 97 && str[index] <= 105) || (str[index] >= 107 && str[index] <= 122))) { ++indexTemp3; break; } } while (false); if (indexTemp3 != index) { index = indexTemp3; } else { index = indexStart2; break; } } while (false); if (index == indexStart2) { break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { indexTemp = indexTemp2; break; } if (tokener != null) { tokener.RestoreState(state2); } } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
public static int ParseQuotedMilitaryString( string str, int index, int endIndex, ITokener tokener) { int i, indexStart, indexTemp, indexTemp2, state; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { if (index < endIndex && (str[index] == 34)) { ++index; } else { break; } for (i = 0; i < 69; ++i) { indexTemp2 = ParsePsChar(str, index, endIndex, tokener); if (indexTemp2 != index) { index = indexTemp2; } else { if (i < 1) { index = indexStart; } break; } } if (index == indexStart) { break; } if (index < endIndex && (str[index] == 34)) { ++index; } else { index = indexStart; break; } indexTemp = index; } while (false); if (tokener != null && indexTemp == indexStart) { tokener.RestoreState(state); } return indexTemp; }
// Parses a comment using the obsolete syntax. internal static int ParseCommentLax( string str, int index, int endIndex, ITokener tokener) { int indexStart = index; var depth = 0; if (index < endIndex && (str[index] == 40)) { ++index; } else { return index; } int state = (tokener != null) ? tokener.GetState() : 0; do { while (true) { int indexTemp2; int state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { int indexStart2 = index; index = HeaderParser.ParseFWS(str, index, endIndex, null); do { int indexTemp3 = index; do { if (index < endIndex && ((str[index] >= 128 && str[index] <= 55295) || (str[index] >= 57344 && str[index] <= 65535))) { ++indexTemp3; break; } if (index + 1 < endIndex && ((str[index] >= 55296 && str[index] <= 56319) && (str[index + 1] >= 56320 && str[index + 1] <= 57343))) { indexTemp3 += 2; break; } int indexTemp4; indexTemp4 = HeaderParser.ParseQuotedPair( str, index, endIndex, null); if (indexTemp4 != index) { indexTemp3 = indexTemp4; break; } if (index < endIndex && ((str[index] >= 1 && str[index] <= 8) || (str[index] >= 11 && str[index] <= 12) || (str[index] >= 14 && str[index] <= 31) || (str[index] == 127))) { ++indexTemp3; break; } if (index < endIndex && ((str[index] >= 93 && str[index] <= 126) || (str[index] >= 42 && str[index] <= 91) || (str[index] >= 33 && str[index] <= 39))) { ++indexTemp3; break; } } while (false); if (indexTemp3 != index) { index = indexTemp3; } else { index = indexStart2; break; } } while (false); if (index == indexStart2) { break; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else if (tokener != null) { tokener.RestoreState(state2); break; } else { break; } } index = HeaderParser.ParseFWS(str, index, endIndex, null); if (index < endIndex && str[index] == 41) { // End of current comment ++index; if (depth == 0) { if (tokener != null) { tokener.Commit(TokenComment, indexStart, index); } return index; } --depth; } else if (index < endIndex && str[index] == 40) { // Start of nested comment ++index; ++depth; } else { if (tokener != null) { tokener.RestoreState(state); } return indexStart; } } while (true); }
public static int ParseQuotedString( string str, int index, int endIndex, ITokener tokener) { int indexStart, indexStart2, indexTemp, indexTemp2, state, state2, tx3; indexStart = index; state = (tokener != null) ? tokener.GetState() : 0; indexTemp = index; do { index = ParseCFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 34)) { ++index; } else { index = indexStart; break; } while (true) { state2 = (tokener != null) ? tokener.GetState() : 0; indexTemp2 = index; do { indexStart2 = index; index = ParseFWS(str, index, endIndex, tokener); tx3 = ParseQcontent(str, index, endIndex, tokener); if (tx3 == index) { index = indexStart2; break; } else { index = tx3; } indexTemp2 = index; index = indexStart2; } while (false); if (indexTemp2 != index) { index = indexTemp2; } else if (tokener != null) { tokener.RestoreState(state2); break; } else { break; } } index = ParseFWS(str, index, endIndex, tokener); if (index < endIndex && (str[index] == 34)) { ++index; } else { index = indexStart; break; } index = ParseCFWS(str, index, endIndex, tokener); indexTemp = index; } while (false); if (tokener != null) { if (indexTemp == indexStart) { tokener.RestoreState(state); } else { tokener.Commit(7, indexStart, indexTemp); } } return indexTemp; }