* @throws IOException Signals an I/O error.
*/
private Result pN(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyRepetition1;
int yyRepetition2;
boolean yyRepeated2;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyRepetition2 = yyChoice1;
yyRepeated2 = false;
while (true) {
final int yyChoice2 = yyRepetition2;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case ' ':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
case '\f':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
case '\t':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated2) {
yyRepetition1 = yyRepetition2;
continue;
}
// Nested alternative 2.
yyResult = pDocComment(yyChoice1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
// Nested alternative 3.
yyResult = pBlockComment(yyChoice1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
// Nested alternative 4.
yyBase = yyChoice1;
yyC = character(yyBase);
if ('/' == yyC) {
yyIndex = yyChoice1 + 1;
yyC = character(yyIndex);
if ('/' == yyC) {
yyIndex = yyIndex + 1;
yyRepetition2 = yyIndex;
while (true) {
yyC = character(yyRepetition2);
if (-1 != yyC) {
yyIndex = yyRepetition2 + 1;
switch (yyC) {
case '\n':
case '\r':
/* No match. */
break;
default:
{
yyRepetition2 = yyIndex;
continue;
}
}
}
break;
}
yyRepetition1 = yyRepetition2;
continue;
} else {
yyError = yyError.select("'//' expected", yyBase);
}
} else {
yyError = yyError.select("'//' expected", yyBase);
}
break;
}
yyResult = pn(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("N expected", yyStart);
return yyError;