// ===========================================================================
// This file has been generated by
// Rats! Parser Generator, version 1.14.3,
// (C) 2004-2009 Robert Grimm,
// on Tuesday, October 20, 2009 at 10:24:03 PM.
// Edit at your own risk.
// ===========================================================================
package org.netbeans.modules.scala.core.rats;
import java.io.Reader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import xtc.util.Pair;
import xtc.tree.Node;
import xtc.tree.GNode;
import xtc.parser.ParserBase;
import xtc.parser.Column;
import xtc.parser.Result;
import xtc.parser.SemanticValue;
import xtc.parser.ParseError;
/**
* Packrat parser for grammar <code>org.netbeans.modules.scala.core.rats.ParserScala</code>.
*
* <p />This class has been generated by the <i>Rats!</i> parser
* generator, version 1.14.3, (C) 2004-2009 Robert Grimm.
*/
public final class ParserScala extends ParserBase {
/** The SCALA_KEYWORDS set. */
public static final Set<String> SCALA_KEYWORDS = new HashSet<String>();
// =========================================================================
/** Chunk 1 of memoized results. */
static final class Chunk1 {
Result fXmlElementP;
Result fXmlElementP$$Star1;
Result fLiteral;
Result fPath;
Result fStableId;
Result fStableId$$Star1;
Result fStableId$$Star2;
Result fStableId$$Star3;
Result fType;
Result fInfixType;
}
/** Chunk 2 of memoized results. */
static final class Chunk2 {
Result fInfixType$$Star1;
Result fCompoundType;
Result fCompoundType$$Star1;
Result fAnnotType;
Result f$$Shared1;
Result fRefineStat;
Result fExpr;
Result fNotFunExpr;
Result f$$Shared2;
Result fPostfixExpr;
}
/** Chunk 3 of memoized results. */
static final class Chunk3 {
Result fPrefixExpr;
Result fSimpleExpr;
Result fSimpleExpr$$Star1;
Result fSimpleExpr$$Star2;
Result fSimpleExpr$$Star3;
Result fSimpleExpr$$Star4;
Result fSimpleExpr$$Star5;
Result fSimpleExpr$$Star6;
Result fSimpleExpr$$Star7;
Result fMember;
}
/** Chunk 4 of memoized results. */
static final class Chunk4 {
Result fArgumentExprs;
Result fParenExpr;
Result fBlockExpr;
Result fBlock;
Result fBlock$$Star1;
Result fResultFunExpr;
Result fCaseClause;
Result fPattern;
Result fPattern1;
Result fNoTypedPattern;
}
/** Chunk 5 of memoized results. */
static final class Chunk5 {
Result fPattern3;
Result fPattern3$$Star1;
Result fSimplePattern;
Result fModifier;
Result fLocalModifier;
Result fAnnotation;
Result fNameValuePair;
Result fTemplateBody;
Result fTemplateBody$$Star1;
Result fTemplateStat;
}
/** Chunk 6 of memoized results. */
static final class Chunk6 {
Result f$$Shared3;
Result fDcl;
Result fPatVarDef;
Result fDef;
Result fTypeDef;
Result fTmplDef;
Result fClassTemplateOpt;
Result fExtends;
Result fTopStat;
Result fThisKey;
}
/** Chunk 7 of memoized results. */
static final class Chunk7 {
Result fWildKey;
Result fkey;
Result fkeyword;
Result fsep;
Result fseparator;
}
// =========================================================================
/** Memoization table column. */
static final class ParserScalaColumn extends Column {
Chunk1 chunk1;
Chunk2 chunk2;
Chunk3 chunk3;
Chunk4 chunk4;
Chunk5 chunk5;
Chunk6 chunk6;
Chunk7 chunk7;
}
// =========================================================================
/** The global state object. */
protected final ParserState yyState;
// =========================================================================
/**
* Create a new packrat parser.
*
* @param reader The reader.
* @param file The file name.
*/
public ParserScala(final Reader reader, final String file) {
super(reader, file);
yyState = new ParserState();
}
/**
* Create a new packrat parser.
*
* @param reader The file reader.
* @param file The file name.
* @param size The file size.
*/
public ParserScala(final Reader reader, final String file, final int size) {
super(reader, file, size);
yyState = new ParserState();
}
// =========================================================================
protected Column newColumn() {
return new ParserScalaColumn();
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlElement.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlElement(final int yyStart)
throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlEmptyElemTag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlElement", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pParserScala$XmlSTag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pParserScala$XmlContent(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyResult = pParserScala$XmlETag(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlElement", v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.XmlLt.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlLt(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('<' == yyC) {
yyIndex = yyStart + 1;
String v$g$1 = "<";
yyValue = GNode.create("XmlLt", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Done.
yyError = yyError.select("xml lt expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.XmlGt.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlGt(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('>' == yyC) {
yyIndex = yyStart + 1;
String v$g$1 = ">";
yyValue = GNode.create("XmlGt", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Done.
yyError = yyError.select("xml gt expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlLtSlash.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlLtSlash(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('<' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('/' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "</";
yyValue = GNode.create("XmlLtSlash", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("xml lt slash expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlSlashGt.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlSlashGt(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('/' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('>' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "/>";
yyValue = GNode.create("XmlSlashGt", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("xml slash gt expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.XmlEq.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlEq(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('=' == yyC) {
yyIndex = yyStart + 1;
String v$g$1 = "=";
yyValue = GNode.create("XmlEq", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Done.
yyError = yyError.select("xml eq expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlEmptyElemTag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlEmptyElemTag(final int yyStart)
throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlLt(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlEmptyTagName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pParserScala$XmlAttribute(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$4.
String v$g$4 = yyOpValue1;
yyResult = pParserScala$XmlSlashGt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("XmlEmptyElemTag", v$g$1, v$g$2, v$g$3, v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$4.
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlSTag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlSTag(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlLt(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlSTagName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pParserScala$XmlAttribute(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$4.
String v$g$4 = yyOpValue1;
yyResult = pParserScala$XmlGt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("XmlSTag", v$g$1, v$g$2, v$g$3, v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$4.
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlETag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlETag(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlLtSlash(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlETagName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyResult = pParserScala$XmlGt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlETag", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlAttribute.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlAttribute(final int yyStart)
throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlWs(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlAttName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyResult = pParserScala$XmlEq(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$5.
String v$g$5 = yyOpValue1;
yyResult = pParserScala$XmlAttValue(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("XmlAttribute", v$g$1, v$g$2, v$g$3, v$g$4, v$g$5, v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$5.
}
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlContent.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlContent(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative <ScalaExpr>.
yyResult = pScalaExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlCDSect>.
yyResult = pParserScala$XmlCDSect(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlPI>.
yyResult = pParserScala$XmlPI(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlCharData>.
yyResult = pParserScala$XmlCharData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlElement>.
yyResult = pParserScala$XmlElement(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlReference>.
yyResult = pParserScala$XmlReference(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlComment>.
yyResult = pParserScala$XmlComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyValue = GNode.create("XmlContent", v$g$7);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlEmptyTagName.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlEmptyTagName(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlName(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlEmptyTagName", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlSTagName.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlSTagName(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlName(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlSTagName", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlETagName.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlETagName(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlName(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlETagName", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlAttName.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlAttName(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlName(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlAttName", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlName.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlName(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlNameStartChar(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
while (true) {
yyResult = pParserScala$XmlNameChar(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlNameStartChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlNameStartChar(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (':' == yyC) {
yyIndex = yyStart + 1;
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 3.
yyC = character(yyStart);
if ('_' == yyC) {
yyIndex = yyStart + 1;
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Alternative 4.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("xml name start char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlNameChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlNameChar(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (':' == yyC) {
yyIndex = yyStart + 1;
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 3.
yyC = character(yyStart);
if ('_' == yyC) {
yyIndex = yyStart + 1;
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
// Alternative 4.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 5.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '-':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '.':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("xml name char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlAttValue.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlAttValue(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative <XmlAttValue>.
yyResult = pParserScala$xmlAttValue(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlAttValue", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <ScalaExpr>.
yyResult = pScalaExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("XmlAttValue", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlAttValue.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlAttValue(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
int yyRepetition2;
boolean yyRepeated2;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '\"':
{
yyRepetition1 = yyIndex;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\"':
case '&':
case '<':
/* No match. */
break;
default:
{
yyRepetition1 = yyIndex;
continue;
}
}
}
// Nested alternative 2.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ('&' == yyC) {
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyResult = pParserScala$xmlName(yyChoice2);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyC = character(yyResult.index);
if (';' == yyC) {
yyIndex = yyResult.index + 1;
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('#' == yyC) {
final int yyChoice3 = yyIndex;
// Nested alternative 1.
yyRepetition2 = yyChoice3;
yyRepeated2 = false;
while (true) {
yyC = character(yyRepetition2);
if (-1 != yyC) {
yyIndex = yyRepetition2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated2) {
yyC = character(yyRepetition2);
if (';' == yyC) {
yyIndex = yyRepetition2 + 1;
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyC = character(yyChoice3);
if (-1 != yyC) {
yyIndex = yyChoice3 + 1;
if ('x' == yyC) {
yyRepetition2 = yyIndex;
yyRepeated2 = false;
while (true) {
yyC = character(yyRepetition2);
if (-1 != yyC) {
yyIndex = yyRepetition2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated2) {
yyC = character(yyRepetition2);
if (';' == yyC) {
yyIndex = yyRepetition2 + 1;
yyRepetition1 = yyIndex;
continue;
}
}
}
}
}
}
}
}
break;
}
yyC = character(yyRepetition1);
if ('\"' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
break;
case '\'':
{
yyRepetition1 = yyIndex;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '&':
case '\'':
case '<':
/* No match. */
break;
default:
{
yyRepetition1 = yyIndex;
continue;
}
}
}
// Nested alternative 2.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ('&' == yyC) {
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyResult = pParserScala$xmlName(yyChoice2);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyC = character(yyResult.index);
if (';' == yyC) {
yyIndex = yyResult.index + 1;
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('#' == yyC) {
final int yyChoice3 = yyIndex;
// Nested alternative 1.
yyRepetition2 = yyChoice3;
yyRepeated2 = false;
while (true) {
yyC = character(yyRepetition2);
if (-1 != yyC) {
yyIndex = yyRepetition2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated2) {
yyC = character(yyRepetition2);
if (';' == yyC) {
yyIndex = yyRepetition2 + 1;
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyC = character(yyChoice3);
if (-1 != yyC) {
yyIndex = yyChoice3 + 1;
if ('x' == yyC) {
yyRepetition2 = yyIndex;
yyRepeated2 = false;
while (true) {
yyC = character(yyRepetition2);
if (-1 != yyC) {
yyIndex = yyRepetition2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyRepetition2 = yyIndex;
yyRepeated2 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated2) {
yyC = character(yyRepetition2);
if (';' == yyC) {
yyIndex = yyRepetition2 + 1;
yyRepetition1 = yyIndex;
continue;
}
}
}
}
}
}
}
}
break;
}
yyC = character(yyRepetition1);
if ('\'' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
break;
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("xml att value expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlCharData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlCharData(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pxmlCharDataInScala(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlCharData", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlComment.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlComment(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlComment", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlComment.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlComment(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
boolean yyPredMatched;
int yyBase;
int yyRepetition1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('<' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('!' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('-' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('-' == yyC) {
yyIndex = yyIndex + 1;
yyRepetition1 = yyIndex;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if ('-' == yyC) {
yyIndex = yyChoice1 + 1;
yyPredMatched = false;
yyC = character(yyIndex);
if ('-' == yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyRepetition1 = yyIndex;
continue;
} else {
yyError = yyError.select("xml comment expected", yyStart);
}
}
// Nested alternative 2.
yyPredMatched = false;
yyC = character(yyChoice1);
if ('-' == yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pParserScala$xmlChar(yyChoice1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
} else {
yyError = yyError.select("xml comment expected", yyStart);
}
break;
}
yyBase = yyRepetition1;
yyC = character(yyBase);
if ('-' == yyC) {
yyIndex = yyRepetition1 + 1;
yyC = character(yyIndex);
if ('-' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('>' == yyC) {
yyIndex = yyIndex + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("'-->' expected", yyBase);
}
} else {
yyError = yyError.select("'-->' expected", yyBase);
}
} else {
yyError = yyError.select("'-->' expected", yyBase);
}
}
}
}
}
// Done.
yyError = yyError.select("xml comment expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlReference.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlReference(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ('&' == yyC) {
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyResult = pParserScala$xmlName(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyC = character(yyResult.index);
if (';' == yyC) {
yyIndex = yyResult.index + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Nested alternative 2.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ('#' == yyC) {
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyRepetition1 = yyChoice2;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyC = character(yyRepetition1);
if (';' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('x' == yyC) {
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyC = character(yyRepetition1);
if (';' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
}
}
}
}
}
// Done.
yyError = yyError.select("xml reference expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlCDSect.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlCDSect(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlCDStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlCData(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pParserScala$XmlCDEnd(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("XmlCDSect", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlCDStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlCDStart(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('<' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('!' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('[' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('C' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('D' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('A' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('T' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('A' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('[' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "<![CDATA[";
yyValue = GNode.create("XmlCDStart", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
}
}
}
}
}
}
// Done.
yyError = yyError.select("xml c d start expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlCDEnd.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlCDEnd(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (']' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if (']' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('>' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "]]>";
yyValue = GNode.create("XmlCDEnd", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
// Done.
yyError = yyError.select("xml c d end expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlCData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlCData(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlCDData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlCData", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlCDData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlCDData(final int yyStart)
throws IOException {
Result yyResult;
int yyRepetition1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
while (true) {
yyResult = pParserScala$xmlCDataChar(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlCDataChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlCDataChar(final int yyStart)
throws IOException {
int yyC;
Result yyResult;
int yyPredIndex;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyC = character(yyStart);
if (']' == yyC) {
yyPredIndex = yyStart + 1;
yyC = character(yyPredIndex);
if (']' == yyC) {
yyPredIndex = yyPredIndex + 1;
yyC = character(yyPredIndex);
if ('>' == yyC) {
yyPredMatched = true;
}
}
}
if (! yyPredMatched) {
yyResult = pParserScala$xmlChar(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("xml c data char expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.XmlPI.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$XmlPI(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyRepetition1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('<' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('?' == yyC) {
yyIndex = yyIndex + 1;
yyResult = pParserScala$xmlPITarget(yyIndex);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
while (true) {
yyResult = pParserScala$xmlPIChar(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyBase = yyRepetition1;
yyC = character(yyBase);
if ('?' == yyC) {
yyIndex = yyRepetition1 + 1;
yyC = character(yyIndex);
if ('>' == yyC) {
yyIndex = yyIndex + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("'?>' expected", yyBase);
}
} else {
yyError = yyError.select("'?>' expected", yyBase);
}
}
}
}
// Done.
yyError = yyError.select("xml p i expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlPIChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlPIChar(final int yyStart)
throws IOException {
int yyC;
Result yyResult;
int yyPredIndex;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyC = character(yyStart);
if ('?' == yyC) {
yyPredIndex = yyStart + 1;
yyC = character(yyPredIndex);
if ('>' == yyC) {
yyPredMatched = true;
}
}
if (! yyPredMatched) {
yyResult = pParserScala$xmlChar(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("xml p i char expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlPITarget.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlPITarget(final int yyStart)
throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pParserScala$xmlPITarget$$Choice1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pParserScala$xmlName(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("xml p i target expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal ParserScala.xmlPITarget$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlPITarget$$Choice2(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case 'X':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case 'x':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("xml p i target expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal ParserScala.xmlPITarget$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlPITarget$$Choice3(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case 'M':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case 'm':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("xml p i target expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal ParserScala.xmlPITarget$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlPITarget$$Choice1(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$xmlPITarget$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pParserScala$xmlPITarget$$Choice3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case 'L':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case 'l':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
}
// Done.
yyError = yyError.select("xml p i target expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlChar(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('\u0001' <= yyC) && (yyC <= '\ud7ff')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('\ue000' <= yyC) && (yyC <= '\ufffd')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("xml char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.xmlWs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParserScala$xmlWs(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case ' ':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '\f':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '\t':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '\r':
{
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('\n' == yyC) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 2.
yyRepetition1 = yyChoice2;
yyRepeated1 = true;
continue;
}
case '\n':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
yyError = yyError.select("xml ws expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlCharDataInScala.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pxmlCharDataInScala(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyResult = pxmlCharDataCharInScala(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlCharDataCharInScala.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pxmlCharDataCharInScala(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyPredResult;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '{':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('{' == yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '}':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('}' == yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
default:
/* No match. */
}
}
// Alternative 2.
yyPredMatched = false;
yyPredResult = pxmlCharDataCharInScala$$Choice1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
} else {
yyError = yyError.select("xml char data char in scala expected", yyStart);
}
// Done.
yyError = yyError.select("xml char data char in scala expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.xmlCharDataCharInScala$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pxmlCharDataCharInScala$$Choice1(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '&':
case '<':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case ']':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (']' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('>' == yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
}
}
break;
case '{':
case '}':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("xml char data char in scala expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlExpr(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pw(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pParserScala$XmlElement(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyResult = pParserScala$XmlElement(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("XmlExpr", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
// Alternative 3.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyResult = pParserScala$XmlElement(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("XmlExpr", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("xml expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlPattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlPattern(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pw(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pXmlElementP(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlPattern", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyResult = pXmlElementP(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("XmlPattern", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
// Alternative 3.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyResult = pXmlElementP(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("XmlPattern", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("xml pattern expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlContentP.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlContentP(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative <ScalaPatterns>.
yyResult = pScalaPatterns(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlCDSect>.
yyResult = pParserScala$XmlCDSect(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlPI>.
yyResult = pParserScala$XmlPI(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlCharData>.
yyResult = pParserScala$XmlCharData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlElement>.
yyResult = pXmlElementP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlReference>.
yyResult = pParserScala$XmlReference(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative <XmlComment>.
yyResult = pParserScala$XmlComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyValue = GNode.create("XmlContentP", v$g$7);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlElementP.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlElementP(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fXmlElementP)
yyColumn.chunk1.fXmlElementP = pXmlElementP$1(yyStart);
return yyColumn.chunk1.fXmlElementP;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.XmlElementP. */
private Result pXmlElementP$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pXmlEmptyElemTagP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("XmlElementP", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pXmlSTagP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pXmlElementP$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyResult = pParserScala$XmlETag(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlElementP", v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlElementP$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlElementP$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fXmlElementP$$Star1)
yyColumn.chunk1.fXmlElementP$$Star1 = pXmlElementP$$Star1$1(yyStart);
return yyColumn.chunk1.fXmlElementP$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.XmlElementP$$Star1. */
private Result pXmlElementP$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pXmlContentP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = pXmlElementP$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlEmptyElemTagP.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlEmptyElemTagP(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlLt(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlEmptyTagName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyResult = pParserScala$XmlSlashGt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlEmptyElemTagP", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.XmlSTagP.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pXmlSTagP(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParserScala$XmlLt(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pParserScala$XmlSTagName(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParserScala$xmlWs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyResult = pParserScala$XmlGt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("XmlSTagP", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ScalaExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pScalaExpr(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyPredMatched = false;
yyPredResult = psep(yyResult.index);
if (yyPredResult.hasValue("{")) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyPredMatched = false;
yyPredResult = psep(yyResult.index);
if (yyPredResult.hasValue("}")) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = GNode.create("ScalaExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("scala expr expected", yyStart);
}
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("scala expr expected", yyStart);
}
}
// Done.
yyError = yyError.select("scala expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ScalaPatterns.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pScalaPatterns(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyPredMatched = false;
yyPredResult = psep(yyResult.index);
if (yyPredResult.hasValue("{")) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pPatterns(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyPredMatched = false;
yyPredResult = psep(yyResult.index);
if (yyPredResult.hasValue("}")) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = GNode.create("ScalaPatterns", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("scala patterns expected", yyStart);
}
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("scala patterns expected", yyStart);
}
}
// Done.
yyError = yyError.select("scala patterns expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Literal.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pLiteral(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fLiteral)
yyColumn.chunk1.fLiteral = pLiteral$1(yyStart);
return yyColumn.chunk1.fLiteral;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Literal. */
private Result pLiteral$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyOption1 = yyChoice1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pop(yyBase);
if (yyResult.hasValue("-")) {
String v$el$1 = "-";
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'-' expected", yyBase);
}
{ // Start scope for v$g$1.
String v$g$1 = yyOpValue1;
final int yyChoice2 = yyOption1;
// Nested alternative 1.
yyResult = pFloatingPointLiteral(yyChoice2);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pIntegerLiteral(yyChoice2);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$1, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$1.
// Nested alternative 2.
yyResult = pBooleanLiteral(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 3.
yyResult = pNullLiteral(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 4.
yyResult = pCharacterLiteral(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 5.
yyResult = pStringLiteral(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$7);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 6.
yyResult = pSymbolLiteral(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$8 = yyResult.semanticValue();
yyValue = GNode.create("Literal", v$g$8);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.BooleanLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBooleanLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("true")) {
String v$g$1 = "true";
yyValue = GNode.create("BooleanLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("false")) {
String v$g$2 = "false";
yyValue = GNode.create("BooleanLiteral", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("boolean literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NullLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNullLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('n' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('u' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('l' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('l' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "null";
yyValue = GNode.create("NullLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
}
// Done.
yyError = yyError.select("null literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.SEMI.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSEMI(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(";")) {
yyRepetition1 = yyResult.index;
while (true) {
yyResult = pN(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Alternative 2.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyResult = pN(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
yyError = yyError.select("SEMI expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.QualId.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pQualId(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(".")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("QualId", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Ids.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pIds(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Ids", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Path.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPath(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fPath)
yyColumn.chunk1.fPath = pPath$1(yyStart);
return yyColumn.chunk1.fPath;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Path. */
private Result pPath$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pStableId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Path", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pId(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(".")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'.' expected", yyBase);
}
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyResult = pThisKey(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Path", v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.StableId.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pStableId(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fStableId)
yyColumn.chunk1.fStableId = pStableId$1(yyStart);
return yyColumn.chunk1.fStableId;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.StableId. */
private Result pStableId$1(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pId(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(".")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'.' expected", yyBase);
}
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
final int yyChoice1 = yyOption1;
// Nested alternative 1.
yyResult = pThisKey(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pStableId$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$4.
Node v$g$4 = yyOpValue1;
yyValue = GNode.create("StableId", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$4.
}
}
// Nested alternative 2.
yyResult = pSuperKey(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pClassQualifier(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
{ // Start scope for v$g$6.
Node v$g$6 = yyOpValue1;
yyResult = pStableId$$Star2(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$8 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$8;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$8.
Node v$g$8 = yyOpValue1;
yyValue = GNode.create("StableId", v$g$1, v$g$5, v$g$6, v$g$7, v$g$8);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$8.
}
} // End scope for v$g$6.
}
} // End scope for v$g$1.
// Alternative 2.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$9 = yyResult.semanticValue();
yyResult = pStableId$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$10 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$11 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$11;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$11.
Node v$g$11 = yyOpValue1;
yyValue = GNode.create("StableId", v$g$9, v$g$10, v$g$11);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$11.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pStableId$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fStableId$$Star1)
yyColumn.chunk1.fStableId$$Star1 = pStableId$$Star1$1(yyStart);
return yyColumn.chunk1.fStableId$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star1. */
private Result pStableId$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(".")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyResult = pStableId$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$3 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$2, v$3);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pStableId$$Star2(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fStableId$$Star2)
yyColumn.chunk1.fStableId$$Star2 = pStableId$$Star2$1(yyStart);
return yyColumn.chunk1.fStableId$$Star2;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star2. */
private Result pStableId$$Star2$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(".")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$6 = yyResult.semanticValue();
yyResult = pStableId$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$7 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$6, v$7);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pStableId$$Star3(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fStableId$$Star3)
yyColumn.chunk1.fStableId$$Star3 = pStableId$$Star3$1(yyStart);
return yyColumn.chunk1.fStableId$$Star3;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.StableId$$Star3. */
private Result pStableId$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(".")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$9 = yyResult.semanticValue();
yyResult = pStableId$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$10 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$9, v$10);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ErrorIdExpected.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pErrorIdExpected(final int yyStart) throws IOException {
Result yyPredResult;
boolean yyPredMatched;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pErrorIdExpected$$Choice1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = GNode.create("Error", "Id expected");
setLocation(yyValue, yyStart);
return new SemanticValue(yyValue, yyStart, yyError);
} else {
yyError = yyError.select("error id expected expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ErrorIdExpected$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pErrorIdExpected$$Choice1(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '_':
case '{':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("type")) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("error id expected expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassQualifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassQualifier(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("[")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("]")) {
yyValue = GNode.create("ClassQualifier", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("class qualifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Type.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pType(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fType)
yyColumn.chunk1.fType = pType$1(yyStart);
return yyColumn.chunk1.fType;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Type. */
private Result pType$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFunType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Type", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNotFunType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Type", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunType(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("CallByNameFunType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$1.
}
// Alternative 2.
yyResult = pInfixType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("NormalFunType", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
// Done.
yyError = yyError.select("fun type expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunTypeInCaseClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunTypeInCaseClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pNotFunType(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("FunTypeInCaseClause", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$1.
}
// Alternative 2.
yyResult = pInfixType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pNotFunType(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$3, yyRepValue1);
continue;
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
break;
}
{ // Start scope for v$g$4.
Pair<Node> v$g$4 = yyRepValue1.reverse();
yyValue = GNode.create("FunTypeInCaseClause", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$4.
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
// Done.
yyError = yyError.select("fun type in case clause expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNotFunType(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pInfixType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pExistentialClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("NotFunType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ExistentialClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExistentialClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("forSome")) {
String v$g$1 = "forSome";
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pExistentialDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyResult = pExistentialDcl(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("ExistentialClause", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$g$3.
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
}
// Done.
yyError = yyError.select("existential clause expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ExistentialDcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExistentialDcl(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("type")) {
yyResult = pTypeDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("ExistentialDcl", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("val")) {
yyResult = pValDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ExistentialDcl", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("existential dcl expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixType(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fInfixType)
yyColumn.chunk1.fInfixType = pInfixType$1(yyStart);
return yyColumn.chunk1.fInfixType;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.InfixType. */
private Result pInfixType$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCompoundType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pInfixType$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("InfixType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixType$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixType$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fInfixType$$Star1)
yyColumn.chunk2.fInfixType$$Star1 = pInfixType$$Star1$1(yyStart);
return yyColumn.chunk2.fInfixType$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.InfixType$$Star1. */
private Result pInfixType$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pInfixTypeRest(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = pInfixType$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixTypeRest.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixTypeRest(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyResult = pCompoundType(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("InfixTypeRest", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CompoundType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCompoundType(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fCompoundType)
yyColumn.chunk2.fCompoundType = pCompoundType$1(yyStart);
return yyColumn.chunk2.fCompoundType;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.CompoundType. */
private Result pCompoundType$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAnnotType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pCompoundType$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pRefinement(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("CompoundType", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
}
// Alternative 2.
yyResult = pRefinement(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("CompoundType", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CompoundType$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCompoundType$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fCompoundType$$Star1)
yyColumn.chunk2.fCompoundType$$Star1 = pCompoundType$$Star1$1(yyStart);
return yyColumn.chunk2.fCompoundType$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.CompoundType$$Star1. */
private Result pCompoundType$$Star1$1(final int yyStart)
throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("with")) {
yyResult = pAnnotType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = pCompoundType$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AnnotType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAnnotType(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fAnnotType)
yyColumn.chunk2.fAnnotType = pAnnotType$1(yyStart);
return yyColumn.chunk2.fAnnotType;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.AnnotType. */
private Result pAnnotType$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$1 = yyResult.semanticValue();
yyResult = pSimpleType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("AnnotType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.$$Shared1.
* This nonterminal represents the duplicate productions
* org.netbeans.modules.scala.core.rats.ParserScala.AnnotType$$Star1,
* org.netbeans.modules.scala.core.rats.ParserScala.TemplateStat$$Star1,
* and org.netbeans.modules.scala.core.rats.ParserScala.TopStat$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared1)
yyColumn.chunk2.f$$Shared1 = p$$Shared1$1(yyStart);
return yyColumn.chunk2.f$$Shared1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.$$Shared1. */
private Result p$$Shared1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAnnotation(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = p$$Shared1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleType(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPath(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(".")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("type")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("#")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'#' expected", yyBase);
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyValue = GNode.create("SimpleSingletonType", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$3.
} // End scope for v$g$2.
} else {
yyError = yyError.select("'type' expected", yyBase);
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
}
// Alternative 2.
yyResult = pStableId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$5.
Node v$g$5 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("#")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$4, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'#' expected", yyBase);
}
break;
}
{ // Start scope for v$g$6.
Pair<Node> v$g$6 = yyRepValue1.reverse();
yyValue = GNode.create("SimpleIdType", v$g$4, v$g$5, v$g$6);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$6.
} // End scope for v$g$5.
}
// Alternative 3.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyResult = pTypes(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyOption1 = yyResult.index;
} else {
yyError = yyError.select("',' expected", yyBase);
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
{ // Start scope for v$g$8.
Node v$g$8 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("#")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$6 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$6, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'#' expected", yyBase);
}
break;
}
{ // Start scope for v$g$9.
Pair<Node> v$g$9 = yyRepValue1.reverse();
yyValue = GNode.create("SimpleTupleType", v$g$7, v$g$8, v$g$9);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$9.
} // End scope for v$g$8.
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("simple type expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeArgs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeArgs(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("[")) {
yyResult = pTypes(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("]")) {
yyValue = GNode.create("TypeArgs", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("type args expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Types.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypes(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pTypes$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pTypes$$Choice2(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$3, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Types", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Types$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypes$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pWildKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Types$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypes$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(",")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pType(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pWildKey(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("types expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Refinement.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pRefinement(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pRefineStat(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pRefineStat(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$el$2.
Node v$el$2 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
} // End scope for v$el$2.
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("Refinement", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$g$2.
} // End scope for v$g$1.
} else {
yyError = yyError.select("'{' expected", yyBase);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.RefineStat.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pRefineStat(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fRefineStat)
yyColumn.chunk2.fRefineStat = pRefineStat$1(yyStart);
return yyColumn.chunk2.fRefineStat;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.RefineStat. */
private Result pRefineStat$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("type")) {
yyResult = pTypeDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("RefineStat", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pDcl(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("RefineStat", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("refine stat expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Ascription.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAscription(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue(":")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pCompoundType(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Ascription", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pAnnotation(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pAnnotation(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyValue = GNode.create("Ascription", v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$3.
}
// Nested alternative 3.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("_")) {
String v$g$4 = "_";
yyBase = yyResult.index;
yyResult = pop(yyBase);
if (yyResult.hasValue("*")) {
String v$g$5 = "*";
yyValue = GNode.create("Ascription", v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'*' expected", yyBase);
}
} else {
yyError = yyError.select("'_' expected", yyBase);
}
}
// Done.
yyError = yyError.select("ascription expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Expr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fExpr)
yyColumn.chunk2.fExpr = pExpr$1(yyStart);
return yyColumn.chunk2.fExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Expr. */
private Result pExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pExpr$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Expr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
// Alternative 2.
yyResult = pNotFunExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Expr", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Expr$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExpr$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBindings(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNotFunExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fNotFunExpr)
yyColumn.chunk2.fNotFunExpr = pNotFunExpr$1(yyStart);
return yyColumn.chunk2.fNotFunExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr. */
private Result pNotFunExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("if")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyResult = pENTER_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pEXIT_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyOption2 = yyOption1;
yyResult = pSEMI(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
yyOption2 = yyResult.index;
}
yyBase = yyOption2;
yyResult = pkey(yyBase);
if (yyResult.hasValue("else")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("'else' expected", yyBase);
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("IfExpr", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
}
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
}
} else {
yyError = yyError.select("'(' expected", yyBase);
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("while")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyResult = pENTER_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyResult = pEXIT_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("WhileExpr", v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
}
} else {
yyError = yyError.select("'(' expected", yyBase);
}
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("try")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("catch")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pCaseClauses(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
} else {
yyError = yyError.select("'catch' expected", yyBase);
}
{ // Start scope for v$g$7.
Node v$g$7 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("finally")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
} else {
yyError = yyError.select("'finally' expected", yyBase);
}
{ // Start scope for v$g$8.
Node v$g$8 = yyOpValue1;
yyValue = GNode.create("TryExpr", v$g$6, v$g$7, v$g$8);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$8.
} // End scope for v$g$7.
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
}
// Alternative 4.
yyResult = pkey(yyStart);
if (yyResult.hasValue("do")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$9 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pSEMI(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("while")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyResult = pENTER_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$10 = yyResult.semanticValue();
yyResult = pEXIT_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("DoExpr", v$g$9, v$g$10);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
}
} else {
yyError = yyError.select("'(' expected", yyBase);
}
} else {
yyError = yyError.select("'while' expected", yyBase);
}
}
}
// Alternative 5.
yyResult = pkey(yyStart);
if (yyResult.hasValue("for")) {
yyResult = pNotFunExpr$$Choice1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$11 = yyResult.semanticValue();
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("yield")) {
yyOption1 = yyResult.index;
} else {
yyError = yyError.select("'yield' expected", yyBase);
}
yyResult = pExpr(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$12 = yyResult.semanticValue();
yyValue = GNode.create("ForExpr", v$g$11, v$g$12);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 6.
yyResult = pkey(yyStart);
if (yyResult.hasValue("throw")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$13 = yyResult.semanticValue();
yyValue = GNode.create("ThrowExpr", v$g$13);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 7.
yyResult = pkey(yyStart);
if (yyResult.hasValue("return")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pExpr(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$6 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
{ // Start scope for v$g$14.
Node v$g$14 = yyOpValue1;
yyValue = GNode.create("ReturnExpr", v$g$14);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$14.
}
// Alternative 8.
yyResult = pSimpleExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$15 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$16 = yyResult.semanticValue();
yyValue = GNode.create("AssignmentExpr", v$g$15, v$g$16);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
}
// Alternative 9.
yyResult = pPostfixExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$17 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pAscription(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$18 = yyResult.semanticValue();
yyValue = GNode.create("AscriptionExpr", v$g$17, v$g$18);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("match")) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pCaseClauses(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$19 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("MatchExpr", v$g$17, v$g$19);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
} else {
yyError = yyError.select("'match' expected", yyBase);
}
// Nested alternative 3.
yyValue = GNode.create("NotFunExpr", v$g$17);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyChoice1, yyError);
}
// Done.
yyError = yyError.select("not fun expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.$$Shared2.
* This nonterminal represents the duplicate productions
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr$$Star1,
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr$$Star2,
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr$$Star3,
* org.netbeans.modules.scala.core.rats.ParserScala.CaseClause$$Star1,
* org.netbeans.modules.scala.core.rats.ParserScala.Dcl$$Star1,
* and org.netbeans.modules.scala.core.rats.ParserScala.Def$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared2(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared2)
yyColumn.chunk2.f$$Shared2 = p$$Shared2$1(yyStart);
return yyColumn.chunk2.f$$Shared2;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.$$Shared2. */
private Result p$$Shared2$1(final int yyStart) throws IOException {
Result yyResult;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pN(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = null;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NotFunExpr$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNotFunExpr$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyResult = pEnumerators(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
}
// Alternative 2.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyResult = pEnumerators(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("not fun expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.PostfixExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPostfixExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fPostfixExpr)
yyColumn.chunk2.fPostfixExpr = pPostfixExpr$1(yyStart);
return yyColumn.chunk2.fPostfixExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.PostfixExpr. */
private Result pPostfixExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pInfixExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pId(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("PostfixExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixExpr(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPrefixExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pInfixExprRest(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("InfixExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixExprRest.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixExprRest(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyResult = pPrefixExpr(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("InfixExprRest", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.PrefixExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPrefixExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fPrefixExpr)
yyColumn.chunk3.fPrefixExpr = pPrefixExpr$1(yyStart);
return yyColumn.chunk3.fPrefixExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.PrefixExpr. */
private Result pPrefixExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pPrefixExpr$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
String v$g$1 = yyOpValue1;
yyResult = pSimpleExpr(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("PrefixExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.PrefixExpr$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPrefixExpr$$Choice1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pop(yyStart);
if (yyResult.hasValue("-")) {
yyValue = "-";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pop(yyStart);
if (yyResult.hasValue("+")) {
yyValue = "+";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pop(yyStart);
if (yyResult.hasValue("~")) {
yyValue = "~";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pop(yyStart);
if (yyResult.hasValue("!")) {
yyValue = "!";
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("prefix expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr)
yyColumn.chunk3.fSimpleExpr = pSimpleExpr$1(yyStart);
return yyColumn.chunk3.fSimpleExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr. */
private Result pSimpleExpr$1(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pXmlExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyResult = pSimpleExpr$$Star1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$4.
Node v$g$4 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$4.
}
} // End scope for v$g$2.
}
// Alternative 2.
yyResult = pLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
{ // Start scope for v$g$6.
Node v$g$6 = yyOpValue1;
yyResult = pSimpleExpr$$Star2(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$8 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$8;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$8.
Node v$g$8 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$5, v$g$6, v$g$7, v$g$8);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$8.
}
} // End scope for v$g$6.
}
// Alternative 3.
yyResult = pPath(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$9 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$9 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$9;
}
{ // Start scope for v$g$10.
Node v$g$10 = yyOpValue1;
yyOpValue1 = null;
yyResult = pArgumentExprs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$10 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$10;
}
{ // Start scope for v$g$11.
Node v$g$11 = yyOpValue1;
yyResult = pSimpleExpr$$Star3(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$12 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$13 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$13;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$13.
Node v$g$13 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$14 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$14;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$14.
Node v$g$14 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$9, v$g$10, v$g$11, v$g$12, v$g$13, v$g$14);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$14.
} // End scope for v$g$13.
}
} // End scope for v$g$11.
} // End scope for v$g$10.
}
// Alternative 4.
yyResult = pWildKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$15 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$15 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$15;
}
{ // Start scope for v$g$16.
Node v$g$16 = yyOpValue1;
yyResult = pSimpleExpr$$Star4(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$17 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$18 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$18;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$18.
Node v$g$18 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$15, v$g$16, v$g$17, v$g$18);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$18.
}
} // End scope for v$g$16.
}
// Alternative 5.
yyResult = pParenExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$19 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$19 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$19;
}
{ // Start scope for v$g$20.
Node v$g$20 = yyOpValue1;
yyResult = pSimpleExpr$$Star5(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$21 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$22 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$22;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$22.
Node v$g$22 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$23 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$23;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$23.
Node v$g$23 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$19, v$g$20, v$g$21, v$g$22, v$g$23);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$23.
} // End scope for v$g$22.
}
} // End scope for v$g$20.
}
// Alternative 6.
yyResult = pBlockExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$24 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$24 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$24;
}
{ // Start scope for v$g$25.
Node v$g$25 = yyOpValue1;
yyResult = pSimpleExpr$$Star6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$26 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$27 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$27;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$27.
Node v$g$27 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$24, v$g$25, v$g$26, v$g$27);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$27.
}
} // End scope for v$g$25.
}
// Alternative 7.
yyResult = pNewExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$28 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$28 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$28;
}
{ // Start scope for v$g$29.
Node v$g$29 = yyOpValue1;
yyResult = pSimpleExpr$$Star7(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$30 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyC = character(yyBase);
if ('.' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyResult = pErrorIdExpected(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$31 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$31;
}
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
{ // Start scope for v$g$31.
Node v$g$31 = yyOpValue1;
yyValue = GNode.create("SimpleExpr", v$g$28, v$g$29, v$g$30, v$g$31);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$31.
}
} // End scope for v$g$29.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star1)
yyColumn.chunk3.fSimpleExpr$$Star1 = pSimpleExpr$$Star1$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star1. */
private Result pSimpleExpr$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$3 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$2, v$3);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star2(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star2)
yyColumn.chunk3.fSimpleExpr$$Star2 = pSimpleExpr$$Star2$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star2;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star2. */
private Result pSimpleExpr$$Star2$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$6 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$7 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$6, v$7);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star3(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star3)
yyColumn.chunk3.fSimpleExpr$$Star3 = pSimpleExpr$$Star3$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star3;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star3. */
private Result pSimpleExpr$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$11 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$12 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$11, v$12);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star4(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star4)
yyColumn.chunk3.fSimpleExpr$$Star4 = pSimpleExpr$$Star4$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star4;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star4. */
private Result pSimpleExpr$$Star4$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$16 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star4(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$17 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$16, v$17);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star5(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star5)
yyColumn.chunk3.fSimpleExpr$$Star5 = pSimpleExpr$$Star5$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star5;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star5. */
private Result pSimpleExpr$$Star5$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$20 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star5(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$21 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$20, v$21);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star6.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star6(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star6)
yyColumn.chunk3.fSimpleExpr$$Star6 = pSimpleExpr$$Star6$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star6;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star6. */
private Result pSimpleExpr$$Star6$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$25 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$26 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$25, v$26);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star7.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimpleExpr$$Star7(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fSimpleExpr$$Star7)
yyColumn.chunk3.fSimpleExpr$$Star7 = pSimpleExpr$$Star7$1(yyStart);
return yyColumn.chunk3.fSimpleExpr$$Star7;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimpleExpr$$Star7. */
private Result pSimpleExpr$$Star7$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMember(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$29 = yyResult.semanticValue();
yyResult = pSimpleExpr$$Star7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$30 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$29, v$30);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Member.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pMember(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fMember)
yyColumn.chunk3.fMember = pMember$1(yyStart);
return yyColumn.chunk3.fMember;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Member. */
private Result pMember$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(".")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeArgs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyOpValue1 = null;
yyResult = pArgumentExprs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("Member", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
} // End scope for v$g$2.
}
}
// Alternative 2.
yyResult = pArgumentExprs(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("Member", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pWildKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("Member", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("member expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NewExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNewExpr(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("new")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pClassTemplate(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("NewExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pTemplateBody(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("NewExpr", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyC = character(yyBase);
if ('n' == yyC) {
yyIndex = yyResult.index + 1;
yyC = character(yyIndex);
if ('e' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('w' == yyC) {
yyIndex = yyIndex + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pErrorClassTemplateExpected(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("NewExpr", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
} else {
yyError = yyError.select("'new' expected", yyBase);
}
} else {
yyError = yyError.select("'new' expected", yyBase);
}
} else {
yyError = yyError.select("'new' expected", yyBase);
}
}
// Done.
yyError = yyError.select("new expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ErrorClassTemplateExpected.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pErrorClassTemplateExpected(final int yyStart)
throws IOException {
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyValue = GNode.create("Error", "ClassTemplate expected");
setLocation(yyValue, yyStart);
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Exprs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExprs(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Exprs", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ArgumentExprs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pArgumentExprs(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fArgumentExprs)
yyColumn.chunk4.fArgumentExprs = pArgumentExprs$1(yyStart);
return yyColumn.chunk4.fArgumentExprs;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.ArgumentExprs. */
private Result pArgumentExprs$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParenExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("ArgumentExprs", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyResult = pBlockExpr(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ArgumentExprs", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ParenExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParenExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fParenExpr)
yyColumn.chunk4.fParenExpr = pParenExpr$1(yyStart);
return yyColumn.chunk4.fParenExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.ParenExpr. */
private Result pParenExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyResult = pENTER_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pExprs(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption2 = yyResult.index;
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyOption2 = yyResult.index;
} else {
yyError = yyError.select("',' expected", yyBase);
}
yyOption1 = yyOption2;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyResult = pEXIT_NL_DISABLE(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("ParenExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
} // End scope for v$g$1.
}
}
// Done.
yyError = yyError.select("paren expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.BlockExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fBlockExpr)
yyColumn.chunk4.fBlockExpr = pBlockExpr$1(yyStart);
return yyColumn.chunk4.fBlockExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.BlockExpr. */
private Result pBlockExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pCaseClauses(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("BlockExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
// Nested alternative 2.
yyResult = pBlock(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("BlockExpr", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("block expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Block.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlock(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fBlock)
yyColumn.chunk4.fBlock = pBlock$1(yyStart);
return yyColumn.chunk4.fBlock;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Block. */
private Result pBlock$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pENTER_NL_ENABLE(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pBlock$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pResultExpr(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyResult = pEXIT_NL_ENABLE(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = GNode.create("Block", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Block$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlock$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fBlock$$Star1)
yyColumn.chunk4.fBlock$$Star1 = pBlock$$Star1$1(yyStart);
return yyColumn.chunk4.fBlock$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Block$$Star1. */
private Result pBlock$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBlockStat(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = pSEMI(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pBlock$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.BlockStat.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockStat(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyRepetition1;
Pair<Object> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pImport(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("BlockStat", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pBlockStat$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Object>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<String> v$g$2 = cast(yyRepValue1.reverse());
yyResult = pDef(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("BlockStat", v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
// Alternative 3.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pLocalModifier(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Object>(v$el$4, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$4.
Pair<Node> v$g$4 = cast(yyRepValue1.reverse());
yyResult = pTmplDef(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("BlockStat", v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$4.
// Alternative 4.
yyPredMatched = false;
yyPredResult = pResultFunExpr(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pNotFunExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("BlockStat", v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("block stat expected", yyStart);
}
// Alternative 5.
yyValue = GNode.create("BlockStat", false);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.BlockStat$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockStat$$Choice1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("implicit")) {
yyValue = "implicit";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("lazy")) {
yyValue = "lazy";
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("block stat expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ResultExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pResultExpr(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pResultFunExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("ResultExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNotFunExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ResultExpr", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ResultFunExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pResultFunExpr(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fResultFunExpr)
yyColumn.chunk4.fResultFunExpr = pResultFunExpr$1(yyStart);
return yyColumn.chunk4.fResultFunExpr;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.ResultFunExpr. */
private Result pResultFunExpr$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pResultFunExpr$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ResultFunExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ResultFunExpr$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pResultFunExpr$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBindings(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pResultBinding(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ResultBinding.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pResultBinding(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pCompoundType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("ResultBinding", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Enumerators.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEnumerators(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pGenerator(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyResult = pEnumerator(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Enumerators", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Enumerator.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEnumerator(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pGenerator(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Enumerator", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pGuard(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Enumerator", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("val")) {
yyResult = pPattern1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("Enumerator", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("enumerator expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Generator.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pGenerator(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("val")) {
yyOption1 = yyResult.index;
} else {
yyError = yyError.select("'val' expected", yyBase);
}
yyResult = pPattern1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("<-")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pGuard(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("Generator", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
} else {
yyError = yyError.select("'<-' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CaseClauses.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCaseClauses(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCaseClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pCaseClause(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("CaseClauses", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CaseClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCaseClause(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fCaseClause)
yyColumn.chunk4.fCaseClause = pCaseClause$1(yyStart);
return yyColumn.chunk4.fCaseClause;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.CaseClause. */
private Result pCaseClause$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP_N(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("case")) {
yyResult = pENTER_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pCaseClause$$Choice1(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pFunTypeInCaseClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pEXIT_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("CaseClause", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Nested alternative 2.
yyResult = pPattern(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pGuard(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$5.
Node v$g$5 = yyOpValue1;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyResult = pEXIT_NL_DISABLE(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("CaseClause", v$g$4, v$g$5, v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
} // End scope for v$g$5.
}
}
}
} else {
yyError = yyError.select("'case' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CaseClause$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCaseClause$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pVarId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("_")) {
yyValue = "_";
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("case clause expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Guard.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pGuard(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("if")) {
yyResult = pPostfixExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Guard", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("guard expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Pattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPattern(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fPattern)
yyColumn.chunk4.fPattern = pPattern$1(yyStart);
return yyColumn.chunk4.fPattern;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Pattern. */
private Result pPattern$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAlternatePattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Pattern", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pPattern1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Pattern", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AlternatePattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAlternatePattern(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPattern1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("|")) {
yyResult = pPattern1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("|")) {
yyResult = pPattern1(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'|' expected", yyBase);
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyValue = GNode.create("AlternatePattern", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$3.
}
} else {
yyError = yyError.select("'|' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Pattern1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPattern1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fPattern1)
yyColumn.chunk4.fPattern1 = pPattern1$1(yyStart);
return yyColumn.chunk4.fPattern1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Pattern1. */
private Result pPattern1$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pTypedPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Pattern1", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNoTypedPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Pattern1", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypedPattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypedPattern(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pVarId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("TypedPattern", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("_")) {
String v$g$3 = "_";
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("TypedPattern", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Done.
yyError = yyError.select("typed pattern expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NoTypedPattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNoTypedPattern(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fNoTypedPattern)
yyColumn.chunk4.fNoTypedPattern = pNoTypedPattern$1(yyStart);
return yyColumn.chunk4.fNoTypedPattern;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.NoTypedPattern. */
private Result pNoTypedPattern$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAtPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("NoTypedPattern", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pPattern3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("NoTypedPattern", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AtPattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAtPattern(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pVarId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("@")) {
yyResult = pPattern3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("AtPattern", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'@' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Pattern3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPattern3(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fPattern3)
yyColumn.chunk5.fPattern3 = pPattern3$1(yyStart);
return yyColumn.chunk5.fPattern3;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Pattern3. */
private Result pPattern3$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSimplePattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pInfixPatternTail(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pPattern3$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Pattern3", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Nested alternative 2.
yyValue = GNode.create("Pattern3", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyChoice1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Pattern3$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPattern3$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fPattern3$$Star1)
yyColumn.chunk5.fPattern3$$Star1 = pPattern3$$Star1$1(yyStart);
return yyColumn.chunk5.fPattern3$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Pattern3$$Star1. */
private Result pPattern3$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pInfixPatternTail(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyResult = pPattern3$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$2 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.InfixPatternTail.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pInfixPatternTail(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyResult = pSimplePattern(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("InfixPatternTail", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SimplePattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSimplePattern(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fSimplePattern)
yyColumn.chunk5.fSimplePattern = pSimplePattern$1(yyStart);
return yyColumn.chunk5.fSimplePattern;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.SimplePattern. */
private Result pSimplePattern$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pXmlPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("SimpleXmlPattern", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("_")) {
String v$g$2 = "_";
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pop(yyBase);
if (yyResult.hasValue("*")) {
String v$el$1 = "*";
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'*' expected", yyBase);
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyValue = GNode.create("SimpleWildcardPattern", v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
// Alternative 3.
yyResult = pLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("SimpleLiteralPattern", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pTuplePattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("SimpleTuplePattern", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pStableId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pTuplePattern(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyValue = GNode.create("SimpleCallPattern", v$g$6, v$g$7);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyValue = GNode.create("SimpleIdPattern", v$g$6);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyChoice1, yyError);
}
// Done.
yyError = yyError.select("simple pattern expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TuplePattern.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTuplePattern(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pPatterns(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("TuplePattern", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$1.
}
// Done.
yyError = yyError.select("tuple pattern expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Patterns.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPatterns(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pPattern(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = pPatterns$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$3.
String v$g$3 = yyOpValue1;
yyValue = GNode.create("Patterns", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
} // End scope for v$g$2.
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("_")) {
String v$g$4 = "_";
yyBase = yyResult.index;
yyResult = pop(yyBase);
if (yyResult.hasValue("*")) {
String v$g$5 = "*";
yyValue = GNode.create("Patterns", v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'*' expected", yyBase);
}
}
// Done.
yyError = yyError.select("patterns expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Patterns$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPatterns$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(",")) {
yyValue = ",";
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("_")) {
yyBase = yyResult.index;
yyResult = pop(yyBase);
if (yyResult.hasValue("*")) {
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'*' expected", yyBase);
}
} else {
yyError = yyError.select("'_' expected", yyBase);
}
// Nested alternative 2.
return new SemanticValue(yyValue, yyChoice1, yyError);
}
// Done.
yyError = yyError.select("patterns expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeParamClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeParamClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("[")) {
yyResult = pVariantTypeParam(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pVariantTypeParam(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("]")) {
yyValue = GNode.create("TypeParamClause", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
} // End scope for v$g$2.
}
}
// Done.
yyError = yyError.select("type param clause expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunTypeParamClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunTypeParamClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("[")) {
yyResult = pTypeParam(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pTypeParam(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("]")) {
yyValue = GNode.create("FunTypeParamClause", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
} // End scope for v$g$2.
}
}
// Done.
yyError = yyError.select("fun type param clause expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.VariantTypeParam.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pVariantTypeParam(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pVariantTypeParam$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
String v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
String v$g$1 = yyOpValue1;
yyResult = pTypeParam(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("VariantTypeParam", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.VariantTypeParam$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pVariantTypeParam$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pop(yyStart);
if (yyResult.hasValue("+")) {
yyValue = "+";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pop(yyStart);
if (yyResult.hasValue("-")) {
yyValue = "-";
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("variant type param expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeParam.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeParam(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pTypeParam$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(">:")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
} else {
yyError = yyError.select("'>:' expected", yyBase);
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("<:")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
} else {
yyError = yyError.select("'<:' expected", yyBase);
}
{ // Start scope for v$g$4.
Node v$g$4 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("<%")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$6 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
} else {
yyError = yyError.select("'<%' expected", yyBase);
}
{ // Start scope for v$g$5.
Node v$g$5 = yyOpValue1;
yyValue = GNode.create("TypeParam", v$g$1, v$g$2, v$g$3, v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$5.
} // End scope for v$g$4.
} // End scope for v$g$3.
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeParam$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeParam$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pWildKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ParamClauses.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParamClauses(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pParamClause(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyOption2 = yyOption1;
yyResult = pN(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
yyOption2 = yyResult.index;
}
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("implicit")) {
yyResult = pParams(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
} else {
yyError = yyError.select("'implicit' expected", yyBase);
}
} else {
yyError = yyError.select("'(' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("ParamClauses", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
} // End scope for v$g$1.
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ParamClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParamClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pParams(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("ParamClause", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$1.
} else {
yyError = yyError.select("'(' expected", yyBase);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Params.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParams(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pParam(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pParam(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Params", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Param.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParam(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pAnnotation(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyResult = pId(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pParamType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("Param", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ParamType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pParamType(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pop(yyBase);
if (yyResult.hasValue("*")) {
String v$g$2 = "*";
yyValue = GNode.create("ParamType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'*' expected", yyBase);
}
// Nested alternative 2.
yyValue = GNode.create("ParamType", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyChoice1, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("=>")) {
String v$g$3 = "=>";
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("ParamType", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("param type expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParamClauses.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParamClauses(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pClassParamClause(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyOption2 = yyOption1;
yyResult = pN(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
yyOption2 = yyResult.index;
}
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("implicit")) {
yyResult = pClassParams(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
} else {
yyError = yyError.select("')' expected", yyBase);
}
}
} else {
yyError = yyError.select("'implicit' expected", yyBase);
}
} else {
yyError = yyError.select("'(' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("ClassParamClauses", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
} // End scope for v$g$1.
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParamClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParamClause(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pClassParams(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("ClassParamClause", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$1.
} else {
yyError = yyError.select("'(' expected", yyBase);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParams.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParams(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pClassParam(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pClassParam(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("ClassParams", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParam.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParam(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Object yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pAnnotation(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = pClassParam$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Pair<Node> v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = cast(yyOpValue1);
yyResult = pId(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pParamType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$4.
Node v$g$4 = cast(yyOpValue1);
yyValue = GNode.create("ClassParam", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$4.
}
} // End scope for v$g$2.
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParam$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParam$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pModifier(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$4 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$4, yyRepValue1);
continue;
}
break;
}
{ // Start scope for yyValue.
yyValue = yyRepValue1.reverse();
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("val")) {
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'val' expected", yyBase);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("var")) {
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'var' expected", yyBase);
}
} // End scope for yyValue.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Bindings.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBindings(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("(")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pBinding(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pBinding(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(")")) {
yyValue = GNode.create("Bindings", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
} // End scope for v$g$2.
} // End scope for v$g$1.
}
// Done.
yyError = yyError.select("bindings expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Binding.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBinding(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("Binding", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Modifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pModifier(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fModifier)
yyColumn.chunk5.fModifier = pModifier$1(yyStart);
return yyColumn.chunk5.fModifier;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Modifier. */
private Result pModifier$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pLocalModifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Modifier", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pAccessModifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Modifier", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("override")) {
String v$g$3 = "override";
yyValue = GNode.create("Modifier", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("modifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.LocalModifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pLocalModifier(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fLocalModifier)
yyColumn.chunk5.fLocalModifier = pLocalModifier$1(yyStart);
return yyColumn.chunk5.fLocalModifier;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.LocalModifier. */
private Result pLocalModifier$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("abstract")) {
String v$g$1 = "abstract";
yyValue = GNode.create("LocalModifier", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("final")) {
String v$g$2 = "final";
yyValue = GNode.create("LocalModifier", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("sealed")) {
String v$g$3 = "sealed";
yyValue = GNode.create("LocalModifier", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pkey(yyStart);
if (yyResult.hasValue("implicit")) {
String v$g$4 = "implicit";
yyValue = GNode.create("LocalModifier", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pkey(yyStart);
if (yyResult.hasValue("lazy")) {
String v$g$5 = "lazy";
yyValue = GNode.create("LocalModifier", v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("local modifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AccessModifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAccessModifier(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAccessModifier$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pAccessQualifier(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("AccessModifier", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AccessModifier$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAccessModifier$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("private")) {
yyValue = "private";
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("protected")) {
yyValue = "protected";
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("access modifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AccessQualifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAccessQualifier(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("[")) {
yyResult = pAccessQualifier$$Choice1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("]")) {
yyValue = GNode.create("AccessQualifier", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("access qualifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AccessQualifier$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAccessQualifier$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pThisKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Annotation.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAnnotation(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fAnnotation)
yyColumn.chunk5.fAnnotation = pAnnotation$1(yyStart);
return yyColumn.chunk5.fAnnotation;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Annotation. */
private Result pAnnotation$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("@")) {
String v$g$1 = "@";
yyResult = pAnnotationExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = GNode.create("Annotation", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Done.
yyError = yyError.select("annotation expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.AnnotationExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pAnnotationExpr(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Pair<Node> yyOpValue1;
int yyOption2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pConstr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyOption2 = yyOption1;
yyResult = pN(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
yyOption2 = yyResult.index;
}
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pNameValuePairs(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$el$1.
Pair<Node> v$el$1 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$el$1.
} else {
yyError = yyError.select("'{' expected", yyBase);
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyOpValue1;
yyValue = GNode.create("AnnotationExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NameValuePairs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNameValuePairs(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pNameValuePair(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pNameValuePair(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("NameValuePairs", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.NameValuePair.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNameValuePair(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fNameValuePair)
yyColumn.chunk5.fNameValuePair = pNameValuePair$1(yyStart);
return yyColumn.chunk5.fNameValuePair;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.NameValuePair. */
private Result pNameValuePair$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("val")) {
yyResult = pId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pPrefixExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("NameValuePair", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("name value pair expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TemplateBody.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTemplateBody(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fTemplateBody)
yyColumn.chunk5.fTemplateBody = pTemplateBody$1(yyStart);
return yyColumn.chunk5.fTemplateBody;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TemplateBody. */
private Result pTemplateBody$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pSelfType(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyResult = pTemplateStat(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pTemplateBody$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("TemplateBody", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
}
} // End scope for v$g$1.
} else {
yyError = yyError.select("'{' expected", yyBase);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TemplateBody$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTemplateBody$$Star1(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fTemplateBody$$Star1)
yyColumn.chunk5.fTemplateBody$$Star1 = pTemplateBody$$Star1$1(yyStart);
return yyColumn.chunk5.fTemplateBody$$Star1;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TemplateBody$$Star1. */
private Result pTemplateBody$$Star1$1(final int yyStart)
throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSEMI(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pTemplateStat(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyResult = pTemplateBody$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$3 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$2, v$3);
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TemplateStat.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTemplateStat(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fTemplateStat)
yyColumn.chunk5.fTemplateStat = pTemplateStat$1(yyStart);
return yyColumn.chunk5.fTemplateStat;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TemplateStat. */
private Result pTemplateStat$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pImport(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("TemplateStat", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$2 = yyResult.semanticValue();
yyResult = p$$Shared3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pDef(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("TemplateStat", v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pDcl(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("TemplateStat", v$g$2, v$g$3, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 3.
yyResult = pExpr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("TemplateStat", v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyValue = GNode.create("TemplateStat", false);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.$$Shared3.
* This nonterminal represents the duplicate productions
* org.netbeans.modules.scala.core.rats.ParserScala.TemplateStat$$Star2
* and org.netbeans.modules.scala.core.rats.ParserScala.TopStat$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared3(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared3)
yyColumn.chunk6.f$$Shared3 = p$$Shared3$1(yyStart);
return yyColumn.chunk6.f$$Shared3;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.$$Shared3. */
private Result p$$Shared3$1(final int yyStart) throws IOException {
Result yyResult;
Pair<Node> yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pModifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyResult = p$$Shared3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$4 = yyResult.semanticValue();
yyValue = new Pair<Node>(v$el$3, v$4);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.empty();
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SelfType.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSelfType(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyValue = GNode.create("SelfType", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
} // End scope for v$g$2.
}
// Alternative 2.
yyResult = pThisKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=>")) {
yyValue = GNode.create("SelfType", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Import.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImport(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("import")) {
yyResult = pImportExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pImportExpr(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Import", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
}
// Alternative 2.
yyC = character(yyStart);
if ('i' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('m' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('p' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('o' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('r' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('t' == yyC) {
yyIndex = yyIndex + 1;
yyResult = pSKIP(yyIndex);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pErrorStableIdExpected(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Import", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
}
}
}
// Done.
yyError = yyError.select("import expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ErrorStableIdExpected.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pErrorStableIdExpected(final int yyStart)
throws IOException {
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyValue = GNode.create("Error", "StableId expected");
setLocation(yyValue, yyStart);
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportExpr(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pStableId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pImportExpr$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("ImportExpr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportExpr$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportExpr$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue(".")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pWildKey(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pImportSelectors(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("import expr expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportSelectors.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportSelectors(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pImportSelector(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
} else {
yyError = yyError.select("',' expected", yyBase);
}
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyResult = pImportSelectors$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("ImportSelectors", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} // End scope for v$g$1.
}
// Done.
yyError = yyError.select("import selectors expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportSelectors$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportSelectors$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pImportSelector(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pWildKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportSelector.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportSelector(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pImportSelector$$Choice1(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("ImportSelector", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ImportSelector$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pImportSelector$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("=>")) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyResult = pId(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Nested alternative 2.
yyResult = pWildKey(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("import selector expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Dcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDcl(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fDcl) yyColumn.chunk6.fDcl = pDcl$1(yyStart);
return yyColumn.chunk6.fDcl;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Dcl. */
private Result pDcl$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("val")) {
yyResult = pValDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Dcl", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("var")) {
yyResult = pVarDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Dcl", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("def")) {
yyResult = pFunDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Dcl", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 4.
yyResult = pkey(yyStart);
if (yyResult.hasValue("type")) {
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pTypeDcl(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("Dcl", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
yyError = yyError.select("dcl expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ValDcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pValDcl(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIds(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ValDcl", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.VarDcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pVarDcl(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIds(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("VarDcl", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunDcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunDcl(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFunSig(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyValue = GNode.create("FunDcl", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunSig.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunSig(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pFunTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyResult = pParamClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("FunSig", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeDcl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeDcl(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(">:")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
} else {
yyError = yyError.select("'>:' expected", yyBase);
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("<:")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
} else {
yyError = yyError.select("'<:' expected", yyBase);
}
{ // Start scope for v$g$4.
Node v$g$4 = yyOpValue1;
yyValue = GNode.create("TypeDcl", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$4.
} // End scope for v$g$3.
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.PatVarDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPatVarDef(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fPatVarDef)
yyColumn.chunk6.fPatVarDef = pPatVarDef$1(yyStart);
return yyColumn.chunk6.fPatVarDef;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.PatVarDef. */
private Result pPatVarDef$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("val")) {
yyResult = pValDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("PatVarDef", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("var")) {
yyResult = pVarDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("PatVarDef", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("pat var def expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.ParserScala.Def.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDef(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fDef) yyColumn.chunk6.fDef = pDef$1(yyStart);
return yyColumn.chunk6.fDef;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Def. */
private Result pDef$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPatVarDef(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Def", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("def")) {
yyResult = pFunDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("Def", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pkey(yyStart);
if (yyResult.hasValue("type")) {
yyResult = p$$Shared2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pTypeDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("Def", v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 4.
yyResult = pTmplDef(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("Def", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("def expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.PatDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPatDef(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pNoTypedPattern(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue(",")) {
yyResult = pNoTypedPattern(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("PatDef", v$g$1, v$g$2, v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
} // End scope for v$g$3.
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ValDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pValDef(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPatDef(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("ValDef", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.VarDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pVarDef(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPatDef(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("VarDef", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pIds(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
String v$g$4 = "=";
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("_")) {
String v$g$5 = "_";
yyValue = GNode.create("VarDef", v$g$2, v$g$3, v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'_' expected", yyBase);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunDef(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFunSig(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyOption1 = yyChoice1;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue(":")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("FunDef", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
} // End scope for v$g$2.
// Nested alternative 2.
yyOption1 = yyChoice1;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pBlock(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("FunDef", v$g$1, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
}
// Alternative 2.
yyResult = pThisKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyResult = pParamClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyResult = pParamClauses(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$7 = yyResult.semanticValue();
yyResult = pFunDef$$Choice1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$8 = yyResult.semanticValue();
yyValue = GNode.create("ConstructorFunDef", v$g$5, v$g$6, v$g$7, v$g$8);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.FunDef$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFunDef$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("=")) {
yyResult = pConstrExpr(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyOption1 = yyStart;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyResult = pConstrBlock(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("fun def expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TypeDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTypeDef(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fTypeDef)
yyColumn.chunk6.fTypeDef = pTypeDef$1(yyStart);
return yyColumn.chunk6.fTypeDef;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TypeDef. */
private Result pTypeDef$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("=")) {
yyResult = pType(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("TypeDef", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TmplDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTmplDef(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fTmplDef)
yyColumn.chunk6.fTmplDef = pTmplDef$1(yyStart);
return yyColumn.chunk6.fTmplDef;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TmplDef. */
private Result pTmplDef$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
String yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("case")) {
String v$el$1 = "case";
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'case' expected", yyBase);
}
{ // Start scope for v$g$1.
String v$g$1 = yyOpValue1;
final int yyChoice1 = yyOption1;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("class")) {
yyResult = pClassDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("TmplDef", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'class' expected", yyBase);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("object")) {
yyResult = pObjectDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("TmplDef", v$g$1, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'object' expected", yyBase);
}
} // End scope for v$g$1.
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("trait")) {
yyResult = pTraitDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("TmplDef", v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("tmpl def expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassDef(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pAnnotation(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = pAccessModifier(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$4.
Node v$g$4 = yyOpValue1;
yyResult = pClassParamClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyResult = pClassTemplateOpt(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$6 = yyResult.semanticValue();
yyValue = GNode.create("ClassDef", v$g$1, v$g$2, v$g$3, v$g$4, v$g$5, v$g$6);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
} // End scope for v$g$4.
} // End scope for v$g$3.
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TraitDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTraitDef(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTypeParamClause(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$2.
Node v$g$2 = yyOpValue1;
yyResult = pTraitTemplateOpt(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("TraitDef", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ObjectDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pObjectDef(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pId(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pClassTemplateOpt(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ObjectDef", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassTemplateOpt.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassTemplateOpt(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fClassTemplateOpt)
yyColumn.chunk6.fClassTemplateOpt = pClassTemplateOpt$1(yyStart);
return yyColumn.chunk6.fClassTemplateOpt;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.ClassTemplateOpt. */
private Result pClassTemplateOpt$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pExtends(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pClassTemplate(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ClassTemplateOpt", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pExtends(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyResult = pTemplateBody(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("ClassTemplateOpt", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
// Alternative 3.
yyValue = GNode.create("ClassTemplateOpt", false);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TraitTemplateOpt.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTraitTemplateOpt(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pExtends(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pTraitTemplate(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("TraitTemplateOpt", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pExtends(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyResult = pTemplateBody(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$4 = yyResult.semanticValue();
yyValue = GNode.create("TraitTemplateOpt", v$g$3, v$g$4);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$3.
// Alternative 3.
yyValue = GNode.create("TraitTemplateOpt", false);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Extends.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pExtends(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fExtends)
yyColumn.chunk6.fExtends = pExtends$1(yyStart);
return yyColumn.chunk6.fExtends;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.Extends. */
private Result pExtends$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("extends")) {
String v$g$1 = "extends";
yyValue = GNode.create("Extends", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pkey(yyStart);
if (yyResult.hasValue("<:")) {
String v$g$2 = "<:";
yyValue = GNode.create("Extends", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("extends expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassTemplate.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassTemplate(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyOpValue2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyOption2 = yyResult.index;
yyOpValue2 = null;
yyResult = pEarlyDefs(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption2 = yyResult.index;
yyOpValue2 = v$el$2;
}
{ // Start scope for v$el$1.
Node v$el$1 = yyOpValue2;
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("with")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'with' expected", yyBase);
}
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$el$1.
} else {
yyError = yyError.select("'{' expected", yyBase);
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyResult = pClassParents(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTemplateBody(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("ClassTemplate", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TraitTemplate.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTraitTemplate(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyOpValue1;
int yyOption2;
Node yyOpValue2;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyOption2 = yyResult.index;
yyOpValue2 = null;
yyResult = pEarlyDefs(yyOption2);
yyError = yyResult.select(yyError, yyOption2);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyOption2 = yyResult.index;
yyOpValue2 = v$el$2;
}
{ // Start scope for v$el$1.
Node v$el$1 = yyOpValue2;
yyBase = yyOption2;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyBase = yyResult.index;
yyResult = pkey(yyBase);
if (yyResult.hasValue("with")) {
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
} else {
yyError = yyError.select("'with' expected", yyBase);
}
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$el$1.
} else {
yyError = yyError.select("'{' expected", yyBase);
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyResult = pTraitParents(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTemplateBody(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
{ // Start scope for v$g$3.
Node v$g$3 = yyOpValue1;
yyValue = GNode.create("TraitTemplate", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyOption1, yyError);
} // End scope for v$g$3.
}
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ClassParents.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pClassParents(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pConstr(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("with")) {
yyResult = pAnnotType(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'with' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("ClassParents", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TraitParents.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTraitParents(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAnnotType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyBase = yyRepetition1;
yyResult = pkey(yyBase);
if (yyResult.hasValue("with")) {
yyResult = pAnnotType(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
} else {
yyError = yyError.select("'with' expected", yyBase);
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("TraitParents", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Constr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pConstr(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pAnnotType(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pArgumentExprs(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("Constr", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.EarlyDefs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEarlyDefs(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pEarlyDef(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyResult = pEarlyDef(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("EarlyDefs", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.EarlyDef.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEarlyDef(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pAnnotation(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$1.
Pair<Node> v$g$1 = yyRepValue1.reverse();
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pModifier(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$2, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyResult = pPatVarDef(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("EarlyDef", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
} // End scope for v$g$1.
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ConstrExpr.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pConstrExpr(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSelfInvocation(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("ConstrExpr", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pConstrBlock(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("ConstrExpr", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.ConstrBlock.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pConstrBlock(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psep(yyStart);
if (yyResult.hasValue("{")) {
yyResult = pSelfInvocation(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyResult = pBlockStat(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyBase = yyRepetition1;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("ConstrBlock", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
} // End scope for v$g$2.
}
}
// Done.
yyError = yyError.select("constr block expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.SelfInvocation.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSelfInvocation(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pThisKey(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pArgumentExprs(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pArgumentExprs(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$3.
Pair<Node> v$g$3 = yyRepValue1.reverse();
yyValue = GNode.create("SelfInvocation", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$3.
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TopStatSeq.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTopStatSeq(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pTopStat(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pSEMI(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyResult = pTopStat(yyResult.index);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyValue = GNode.create("TopStatSeq", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyRepetition1, yyError);
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.TopStat.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pTopStat(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fTopStat)
yyColumn.chunk6.fTopStat = pTopStat$1(yyStart);
return yyColumn.chunk6.fTopStat;
}
/** Actually parse org.netbeans.modules.scala.core.rats.ParserScala.TopStat. */
private Result pTopStat$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pImport(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("TopStat", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pPackaging(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyValue = GNode.create("TopStat", v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$3 = yyResult.semanticValue();
yyResult = p$$Shared3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair<Node> v$g$4 = yyResult.semanticValue();
yyResult = pTmplDef(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$5 = yyResult.semanticValue();
yyValue = GNode.create("TopStat", v$g$3, v$g$4, v$g$5);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 4.
yyValue = GNode.create("TopStat", false);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Packaging.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPackaging(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
int yyOption1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("package")) {
yyResult = pQualId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyResult = pN(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyBase = yyOption1;
yyResult = psep(yyBase);
if (yyResult.hasValue("{")) {
yyResult = pTopStatSeq(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyBase = yyResult.index;
yyResult = psep(yyBase);
if (yyResult.hasValue("}")) {
yyValue = GNode.create("Packaging", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
} else {
yyError = yyError.select("'{' expected", yyBase);
}
}
}
// Done.
yyError = yyError.select("packaging expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.Package.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pPackage(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("package")) {
yyResult = pQualId(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyResult = pSEMI(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyPredMatched = false;
yyPredResult = psep(yyResult.index);
if (yyPredResult.hasValue("{")) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = GNode.create("Package", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("package expected", yyStart);
}
}
}
}
// Done.
yyError = yyError.select("package expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.CompilationUnit.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
public Result pCompilationUnit(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Node yyOpValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP_N(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pPackage(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
{ // Start scope for v$g$1.
Node v$g$1 = yyOpValue1;
yyResult = pTopStatSeq(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$2 = yyResult.semanticValue();
yyResult = pEOF(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = GNode.create("CompilationUnit", v$g$1, v$g$2);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
} // End scope for v$g$1.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Character.letter.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pletter(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("letter expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Character.decimalNumeral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pdecimalNumeral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '0':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
continue;
}
default:
/* No match. */
}
}
break;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("decimal numeral expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Character.hexNumeral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result phexNumeral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
boolean yyRepeated1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('0' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'X':
case 'x':
{
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
break;
default:
/* No match. */
}
}
}
// Done.
yyError = yyError.select("hex numeral expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Character.octalNumeral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poctalNumeral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
boolean yyRepeated1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('0' == yyC) {
yyIndex = yyStart + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
yyError = yyError.select("octal numeral expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Character.characterChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pcharacterChar(final int yyStart) throws IOException {
int yyC;
int yyIndex;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ('\\' == yyC) {
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\"':
case '\'':
case '\\':
case 'b':
case 'f':
case 'n':
case 'r':
case 't':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case 'u':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 2.
{ // Start scope for nested choice.
final int yyChoice2 = yyChoice1;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
final int yyChoice3 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice3);
if (-1 != yyC) {
yyIndex = yyChoice3 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Nested alternative 2.
yyValue = null;
return new SemanticValue(yyValue, yyChoice3, yyError);
}
default:
/* No match. */
}
}
} // End scope for nested choice.
}
}
// Alternative 2.
yyPredMatched = false;
yyC = character(yyStart);
if (-1 != yyC) {
if (('\'' == yyC) ||
('\\' == yyC)) {
yyPredMatched = true;
}
}
if (! yyPredMatched) {
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ((' ' <= yyC) && (yyC <= '\uffff')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
} else {
yyError = yyError.select("character char expected", yyStart);
}
// Done.
yyError = yyError.select("character char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Character.stringChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstringChar(final int yyStart) throws IOException {
int yyC;
int yyIndex;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ('\\' == yyC) {
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\"':
case '\'':
case '\\':
case 'b':
case 'f':
case 'n':
case 'r':
case 't':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
case 'u':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 2.
{ // Start scope for nested choice.
final int yyChoice2 = yyChoice1;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
final int yyChoice3 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice3);
if (-1 != yyC) {
yyIndex = yyChoice3 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Nested alternative 2.
yyValue = null;
return new SemanticValue(yyValue, yyChoice3, yyError);
}
default:
/* No match. */
}
}
} // End scope for nested choice.
}
}
// Alternative 2.
yyPredMatched = false;
yyC = character(yyStart);
if (-1 != yyC) {
if (('\"' == yyC) ||
('\\' == yyC)) {
yyPredMatched = true;
}
}
if (! yyPredMatched) {
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ((' ' <= yyC) && (yyC <= '\uffff')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
} else {
yyError = yyError.select("string char expected", yyStart);
}
// Done.
yyError = yyError.select("string char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Identifier.Id.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pId(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pidentifier(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Id", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Identifier.VarId.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pVarId(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pvarIdentifier(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("VarId", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Identifier.op.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pop(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = popIdentifier(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Identifier.opIdentifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result popIdentifier(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = popIdentifier$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v = yyResult.semanticValue();
if (!contains(SCALA_KEYWORDS, toText(v))) {
yyValue = difference(yyStart, yyResult.index);
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("op identifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.opIdentifier$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result popIdentifier$$Plus1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyResult = popchar(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Identifier.varIdentifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pvarIdentifier(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pvarIdentifier$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v = yyResult.semanticValue();
if (!contains(SCALA_KEYWORDS, toText(v))) {
yyValue = difference(yyStart, yyResult.index);
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("var identifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.varIdentifier$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pvarIdentifier$$Choice2(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ((('a' <= yyC) && (yyC <= 'z')) ||
('\u00aa' == yyC) ||
('\u00b5' == yyC) ||
('\u00ba' == yyC) ||
(('\u00df' <= yyC) && (yyC <= '\u00ff')) ||
('\u0101' == yyC) ||
('\u0103' == yyC) ||
('\u0105' == yyC) ||
('\u0107' == yyC) ||
('\u0109' == yyC) ||
('\u010b' == yyC) ||
('\u010d' == yyC) ||
('\u010f' == yyC) ||
('\u0111' == yyC) ||
('\u0113' == yyC) ||
('\u0115' == yyC) ||
('\u0117' == yyC) ||
('\u0119' == yyC) ||
('\u011b' == yyC) ||
('\u011d' == yyC) ||
('\u011f' == yyC) ||
('\u0121' == yyC) ||
('\u0123' == yyC) ||
('\u0125' == yyC) ||
('\u0127' == yyC) ||
('\u0129' == yyC) ||
('\u012b' == yyC) ||
('\u012d' == yyC) ||
('\u012f' == yyC) ||
('\u0131' == yyC) ||
('\u0133' == yyC) ||
('\u0135' == yyC) ||
(('\u0137' <= yyC) && (yyC <= '\u0138')) ||
('\u013a' == yyC) ||
('\u013c' == yyC) ||
('\u013e' == yyC) ||
('\u0140' == yyC) ||
('\u0142' == yyC) ||
('\u0144' == yyC) ||
('\u0146' == yyC) ||
(('\u0148' <= yyC) && (yyC <= '\u0149')) ||
('\u014b' == yyC) ||
('\u014d' == yyC) ||
('\u014f' == yyC) ||
('\u0151' == yyC) ||
('\u0153' == yyC) ||
('\u0155' == yyC) ||
('\u0157' == yyC) ||
('\u0159' == yyC) ||
('\u015b' == yyC) ||
('\u015d' == yyC) ||
('\u015f' == yyC) ||
('\u0161' == yyC) ||
('\u0163' == yyC) ||
('\u0165' == yyC) ||
('\u0167' == yyC) ||
('\u0169' == yyC) ||
('\u016b' == yyC) ||
('\u016d' == yyC) ||
('\u016f' == yyC) ||
('\u0171' == yyC) ||
('\u0173' == yyC) ||
('\u0175' == yyC) ||
('\u0177' == yyC) ||
('\u017a' == yyC) ||
('\u017c' == yyC) ||
(('\u017e' <= yyC) && (yyC <= '\u0180')) ||
('\u0183' == yyC) ||
('\u0185' == yyC) ||
('\u0188' == yyC) ||
(('\u018c' <= yyC) && (yyC <= '\u018d')) ||
('\u0192' == yyC) ||
('\u0195' == yyC) ||
(('\u0199' <= yyC) && (yyC <= '\u019b')) ||
('\u019e' == yyC) ||
('\u01a1' == yyC) ||
('\u01a3' == yyC) ||
('\u01a5' == yyC) ||
('\u01a8' == yyC) ||
(('\u01aa' <= yyC) && (yyC <= '\u01ab')) ||
('\u01ad' == yyC) ||
('\u01b0' == yyC) ||
('\u01b4' == yyC) ||
('\u01b6' == yyC) ||
(('\u01b9' <= yyC) && (yyC <= '\u01ba')) ||
(('\u01bd' <= yyC) && (yyC <= '\u01bf')) ||
('\u01c6' == yyC) ||
('\u01c9' == yyC) ||
('\u01cc' == yyC) ||
('\u01ce' == yyC) ||
('\u01d0' == yyC) ||
('\u01d2' == yyC) ||
('\u01d4' == yyC) ||
('\u01d6' == yyC) ||
('\u01d8' == yyC) ||
('\u01da' == yyC) ||
(('\u01dc' <= yyC) && (yyC <= '\u01dd')) ||
('\u01df' == yyC) ||
('\u01e1' == yyC) ||
('\u01e3' == yyC) ||
('\u01e5' == yyC) ||
('\u01e7' == yyC) ||
('\u01e9' == yyC) ||
('\u01eb' == yyC) ||
('\u01ed' == yyC) ||
(('\u01ef' <= yyC) && (yyC <= '\u01f0')) ||
('\u01f3' == yyC) ||
('\u01f5' == yyC) ||
('\u01f9' == yyC) ||
('\u01fb' == yyC) ||
('\u01fd' == yyC) ||
('\u01ff' == yyC) ||
('\u0201' == yyC) ||
('\u0203' == yyC) ||
('\u0205' == yyC) ||
('\u0207' == yyC) ||
('\u0209' == yyC) ||
('\u020b' == yyC) ||
('\u020d' == yyC) ||
('\u020f' == yyC) ||
('\u0211' == yyC) ||
('\u0213' == yyC) ||
('\u0215' == yyC) ||
('\u0217' == yyC) ||
('\u0219' == yyC) ||
('\u021b' == yyC) ||
('\u021d' == yyC) ||
('\u021f' == yyC) ||
('\u0221' == yyC) ||
('\u0223' == yyC) ||
('\u0225' == yyC) ||
('\u0227' == yyC) ||
('\u0229' == yyC) ||
('\u022b' == yyC) ||
('\u022d' == yyC) ||
('\u022f' == yyC) ||
('\u0231' == yyC) ||
(('\u0233' <= yyC) && (yyC <= '\u0239')) ||
('\u023c' == yyC) ||
(('\u023f' <= yyC) && (yyC <= '\u0240')) ||
('\u0242' == yyC) ||
('\u0247' == yyC) ||
('\u0249' == yyC) ||
('\u024b' == yyC) ||
('\u024d' == yyC) ||
(('\u024f' <= yyC) && (yyC <= '\u02af')) ||
('\u0371' == yyC) ||
('\u0373' == yyC) ||
('\u0377' == yyC) ||
(('\u037b' <= yyC) && (yyC <= '\u037d')) ||
('\u0390' == yyC) ||
(('\u03ac' <= yyC) && (yyC <= '\u03ce')) ||
(('\u03d0' <= yyC) && (yyC <= '\u03d1')) ||
(('\u03d5' <= yyC) && (yyC <= '\u03d9')) ||
('\u03db' == yyC) ||
('\u03dd' == yyC) ||
('\u03df' == yyC) ||
('\u03e1' == yyC) ||
('\u03e3' == yyC) ||
('\u03e5' == yyC) ||
('\u03e7' == yyC) ||
('\u03e9' == yyC) ||
('\u03eb' == yyC) ||
('\u03ed' == yyC) ||
(('\u03ef' <= yyC) && (yyC <= '\u03f3')) ||
('\u03f5' == yyC) ||
('\u03f8' == yyC) ||
(('\u03fb' <= yyC) && (yyC <= '\u03fc')) ||
(('\u0430' <= yyC) && (yyC <= '\u045f')) ||
('\u0461' == yyC) ||
('\u0463' == yyC) ||
('\u0465' == yyC) ||
('\u0467' == yyC) ||
('\u0469' == yyC) ||
('\u046b' == yyC) ||
('\u046d' == yyC) ||
('\u046f' == yyC) ||
('\u0471' == yyC) ||
('\u0473' == yyC) ||
('\u0475' == yyC) ||
('\u0477' == yyC) ||
('\u0479' == yyC) ||
('\u047b' == yyC) ||
('\u047d' == yyC) ||
('\u047f' == yyC) ||
('\u0481' == yyC) ||
('\u048b' == yyC) ||
('\u048d' == yyC) ||
('\u048f' == yyC) ||
('\u0491' == yyC) ||
('\u0493' == yyC) ||
('\u0495' == yyC) ||
('\u0497' == yyC) ||
('\u0499' == yyC) ||
('\u049b' == yyC) ||
('\u049d' == yyC) ||
('\u049f' == yyC) ||
('\u04a1' == yyC) ||
('\u04a3' == yyC) ||
('\u04a5' == yyC) ||
('\u04a7' == yyC) ||
('\u04a9' == yyC) ||
('\u04ab' == yyC) ||
('\u04ad' == yyC) ||
('\u04af' == yyC) ||
('\u04b1' == yyC) ||
('\u04b3' == yyC) ||
('\u04b5' == yyC) ||
('\u04b7' == yyC) ||
('\u04b9' == yyC) ||
('\u04bb' == yyC) ||
('\u04bd' == yyC) ||
('\u04bf' == yyC) ||
('\u04c2' == yyC) ||
('\u04c4' == yyC) ||
('\u04c6' == yyC) ||
('\u04c8' == yyC) ||
('\u04ca' == yyC) ||
('\u04cc' == yyC) ||
(('\u04ce' <= yyC) && (yyC <= '\u04cf')) ||
('\u04d1' == yyC) ||
('\u04d3' == yyC) ||
('\u04d5' == yyC) ||
('\u04d7' == yyC) ||
('\u04d9' == yyC) ||
('\u04db' == yyC) ||
('\u04dd' == yyC) ||
('\u04df' == yyC) ||
('\u04e1' == yyC) ||
('\u04e3' == yyC) ||
('\u04e5' == yyC) ||
('\u04e7' == yyC) ||
('\u04e9' == yyC) ||
('\u04eb' == yyC) ||
('\u04ed' == yyC) ||
('\u04ef' == yyC) ||
('\u04f1' == yyC) ||
('\u04f3' == yyC) ||
('\u04f5' == yyC) ||
('\u04f7' == yyC) ||
('\u04f9' == yyC) ||
('\u04fb' == yyC) ||
('\u04fd' == yyC) ||
('\u04ff' == yyC) ||
('\u0501' == yyC) ||
('\u0503' == yyC) ||
('\u0505' == yyC) ||
('\u0507' == yyC) ||
('\u0509' == yyC) ||
('\u050b' == yyC) ||
('\u050d' == yyC) ||
('\u050f' == yyC) ||
('\u0511' == yyC) ||
('\u0513' == yyC) ||
('\u0515' == yyC) ||
('\u0517' == yyC) ||
('\u0519' == yyC) ||
('\u051b' == yyC) ||
('\u051d' == yyC) ||
('\u051f' == yyC) ||
('\u0521' == yyC) ||
('\u0523' == yyC) ||
(('\u0561' <= yyC) && (yyC <= '\u0587')) ||
(('\u1d00' <= yyC) && (yyC <= '\u1d2b')) ||
(('\u1d62' <= yyC) && (yyC <= '\u1d77')) ||
(('\u1d79' <= yyC) && (yyC <= '\u1d9a')) ||
('\u1e01' == yyC) ||
('\u1e03' == yyC) ||
('\u1e05' == yyC) ||
('\u1e07' == yyC) ||
('\u1e09' == yyC) ||
('\u1e0b' == yyC) ||
('\u1e0d' == yyC) ||
('\u1e0f' == yyC) ||
('\u1e11' == yyC) ||
('\u1e13' == yyC) ||
('\u1e15' == yyC) ||
('\u1e17' == yyC) ||
('\u1e19' == yyC) ||
('\u1e1b' == yyC) ||
('\u1e1d' == yyC) ||
('\u1e1f' == yyC) ||
('\u1e21' == yyC) ||
('\u1e23' == yyC) ||
('\u1e25' == yyC) ||
('\u1e27' == yyC) ||
('\u1e29' == yyC) ||
('\u1e2b' == yyC) ||
('\u1e2d' == yyC) ||
('\u1e2f' == yyC) ||
('\u1e31' == yyC) ||
('\u1e33' == yyC) ||
('\u1e35' == yyC) ||
('\u1e37' == yyC) ||
('\u1e39' == yyC) ||
('\u1e3b' == yyC) ||
('\u1e3d' == yyC) ||
('\u1e3f' == yyC) ||
('\u1e41' == yyC) ||
('\u1e43' == yyC) ||
('\u1e45' == yyC) ||
('\u1e47' == yyC) ||
('\u1e49' == yyC) ||
('\u1e4b' == yyC) ||
('\u1e4d' == yyC) ||
('\u1e4f' == yyC) ||
('\u1e51' == yyC) ||
('\u1e53' == yyC) ||
('\u1e55' == yyC) ||
('\u1e57' == yyC) ||
('\u1e59' == yyC) ||
('\u1e5b' == yyC) ||
('\u1e5d' == yyC) ||
('\u1e5f' == yyC) ||
('\u1e61' == yyC) ||
('\u1e63' == yyC) ||
('\u1e65' == yyC) ||
('\u1e67' == yyC) ||
('\u1e69' == yyC) ||
('\u1e6b' == yyC) ||
('\u1e6d' == yyC) ||
('\u1e6f' == yyC) ||
('\u1e71' == yyC) ||
('\u1e73' == yyC) ||
('\u1e75' == yyC) ||
('\u1e77' == yyC) ||
('\u1e79' == yyC) ||
('\u1e7b' == yyC) ||
('\u1e7d' == yyC) ||
('\u1e7f' == yyC) ||
('\u1e81' == yyC) ||
('\u1e83' == yyC) ||
('\u1e85' == yyC) ||
('\u1e87' == yyC) ||
('\u1e89' == yyC) ||
('\u1e8b' == yyC) ||
('\u1e8d' == yyC) ||
('\u1e8f' == yyC) ||
('\u1e91' == yyC) ||
('\u1e93' == yyC) ||
(('\u1e95' <= yyC) && (yyC <= '\u1e9d')) ||
('\u1e9f' == yyC) ||
('\u1ea1' == yyC) ||
('\u1ea3' == yyC) ||
('\u1ea5' == yyC) ||
('\u1ea7' == yyC) ||
('\u1ea9' == yyC) ||
('\u1eab' == yyC) ||
('\u1ead' == yyC) ||
('\u1eaf' == yyC) ||
('\u1eb1' == yyC) ||
('\u1eb3' == yyC) ||
('\u1eb5' == yyC) ||
('\u1eb7' == yyC) ||
('\u1eb9' == yyC) ||
('\u1ebb' == yyC) ||
('\u1ebd' == yyC) ||
('\u1ebf' == yyC) ||
('\u1ec1' == yyC) ||
('\u1ec3' == yyC) ||
('\u1ec5' == yyC) ||
('\u1ec7' == yyC) ||
('\u1ec9' == yyC) ||
('\u1ecb' == yyC) ||
('\u1ecd' == yyC) ||
('\u1ecf' == yyC) ||
('\u1ed1' == yyC) ||
('\u1ed3' == yyC) ||
('\u1ed5' == yyC) ||
('\u1ed7' == yyC) ||
('\u1ed9' == yyC) ||
('\u1edb' == yyC) ||
('\u1edd' == yyC) ||
('\u1edf' == yyC) ||
('\u1ee1' == yyC) ||
('\u1ee3' == yyC) ||
('\u1ee5' == yyC) ||
('\u1ee7' == yyC) ||
('\u1ee9' == yyC) ||
('\u1eeb' == yyC) ||
('\u1eed' == yyC) ||
('\u1eef' == yyC) ||
('\u1ef1' == yyC) ||
('\u1ef3' == yyC) ||
('\u1ef5' == yyC) ||
('\u1ef7' == yyC) ||
('\u1ef9' == yyC) ||
('\u1efb' == yyC) ||
('\u1efd' == yyC) ||
(('\u1eff' <= yyC) && (yyC <= '\u1f07')) ||
(('\u1f10' <= yyC) && (yyC <= '\u1f15')) ||
(('\u1f20' <= yyC) && (yyC <= '\u1f27')) ||
(('\u1f30' <= yyC) && (yyC <= '\u1f37')) ||
(('\u1f40' <= yyC) && (yyC <= '\u1f45')) ||
(('\u1f50' <= yyC) && (yyC <= '\u1f57')) ||
(('\u1f60' <= yyC) && (yyC <= '\u1f67')) ||
(('\u1f70' <= yyC) && (yyC <= '\u1f7d')) ||
(('\u1f80' <= yyC) && (yyC <= '\u1f87')) ||
(('\u1f90' <= yyC) && (yyC <= '\u1f97')) ||
(('\u1fa0' <= yyC) && (yyC <= '\u1fa7')) ||
(('\u1fb0' <= yyC) && (yyC <= '\u1fb7')) ||
('\u1fbe' == yyC) ||
(('\u1fc2' <= yyC) && (yyC <= '\u1fc4')) ||
(('\u1fc6' <= yyC) && (yyC <= '\u1fc7')) ||
(('\u1fd0' <= yyC) && (yyC <= '\u1fd3')) ||
(('\u1fd6' <= yyC) && (yyC <= '\u1fd7')) ||
(('\u1fe0' <= yyC) && (yyC <= '\u1fe7')) ||
(('\u1ff2' <= yyC) && (yyC <= '\u1ff4')) ||
(('\u1ff6' <= yyC) && (yyC <= '\u1ff7')) ||
('\u2071' == yyC) ||
('\u207f' == yyC) ||
('\u210a' == yyC) ||
(('\u210e' <= yyC) && (yyC <= '\u210f')) ||
('\u2113' == yyC) ||
('\u212f' == yyC) ||
('\u2134' == yyC) ||
('\u2139' == yyC) ||
(('\u213c' <= yyC) && (yyC <= '\u213d')) ||
(('\u2146' <= yyC) && (yyC <= '\u2149')) ||
('\u214e' == yyC) ||
('\u2184' == yyC) ||
(('\u2c30' <= yyC) && (yyC <= '\u2c5e')) ||
('\u2c61' == yyC) ||
(('\u2c65' <= yyC) && (yyC <= '\u2c66')) ||
('\u2c68' == yyC) ||
('\u2c6a' == yyC) ||
('\u2c6c' == yyC) ||
('\u2c71' == yyC) ||
(('\u2c73' <= yyC) && (yyC <= '\u2c74')) ||
(('\u2c76' <= yyC) && (yyC <= '\u2c7c')) ||
('\u2c81' == yyC) ||
('\u2c83' == yyC) ||
('\u2c85' == yyC) ||
('\u2c87' == yyC) ||
('\u2c89' == yyC) ||
('\u2c8b' == yyC) ||
('\u2c8d' == yyC) ||
('\u2c8f' == yyC) ||
('\u2c91' == yyC) ||
('\u2c93' == yyC) ||
('\u2c95' == yyC) ||
('\u2c97' == yyC) ||
('\u2c99' == yyC) ||
('\u2c9b' == yyC) ||
('\u2c9d' == yyC) ||
('\u2c9f' == yyC) ||
('\u2ca1' == yyC) ||
('\u2ca3' == yyC) ||
('\u2ca5' == yyC) ||
('\u2ca7' == yyC) ||
('\u2ca9' == yyC) ||
('\u2cab' == yyC) ||
('\u2cad' == yyC) ||
('\u2caf' == yyC) ||
('\u2cb1' == yyC) ||
('\u2cb3' == yyC) ||
('\u2cb5' == yyC) ||
('\u2cb7' == yyC) ||
('\u2cb9' == yyC) ||
('\u2cbb' == yyC) ||
('\u2cbd' == yyC) ||
('\u2cbf' == yyC) ||
('\u2cc1' == yyC) ||
('\u2cc3' == yyC) ||
('\u2cc5' == yyC) ||
('\u2cc7' == yyC) ||
('\u2cc9' == yyC) ||
('\u2ccb' == yyC) ||
('\u2ccd' == yyC) ||
('\u2ccf' == yyC) ||
('\u2cd1' == yyC) ||
('\u2cd3' == yyC) ||
('\u2cd5' == yyC) ||
('\u2cd7' == yyC) ||
('\u2cd9' == yyC) ||
('\u2cdb' == yyC) ||
('\u2cdd' == yyC) ||
('\u2cdf' == yyC) ||
('\u2ce1' == yyC) ||
(('\u2ce3' <= yyC) && (yyC <= '\u2ce4')) ||
(('\u2d00' <= yyC) && (yyC <= '\u2d25')) ||
('\ua641' == yyC) ||
('\ua643' == yyC) ||
('\ua645' == yyC) ||
('\ua647' == yyC) ||
('\ua649' == yyC) ||
('\ua64b' == yyC) ||
('\ua64d' == yyC) ||
('\ua64f' == yyC) ||
('\ua651' == yyC) ||
('\ua653' == yyC) ||
('\ua655' == yyC) ||
('\ua657' == yyC) ||
('\ua659' == yyC) ||
('\ua65b' == yyC) ||
('\ua65d' == yyC) ||
('\ua65f' == yyC) ||
('\ua663' == yyC) ||
('\ua665' == yyC) ||
('\ua667' == yyC) ||
('\ua669' == yyC) ||
('\ua66b' == yyC) ||
('\ua66d' == yyC) ||
('\ua681' == yyC) ||
('\ua683' == yyC) ||
('\ua685' == yyC) ||
('\ua687' == yyC) ||
('\ua689' == yyC) ||
('\ua68b' == yyC) ||
('\ua68d' == yyC) ||
('\ua68f' == yyC) ||
('\ua691' == yyC) ||
('\ua693' == yyC) ||
('\ua695' == yyC) ||
('\ua697' == yyC) ||
('\ua723' == yyC) ||
('\ua725' == yyC) ||
('\ua727' == yyC) ||
('\ua729' == yyC) ||
('\ua72b' == yyC) ||
('\ua72d' == yyC) ||
(('\ua72f' <= yyC) && (yyC <= '\ua731')) ||
('\ua733' == yyC) ||
('\ua735' == yyC) ||
('\ua737' == yyC) ||
('\ua739' == yyC) ||
('\ua73b' == yyC) ||
('\ua73d' == yyC) ||
('\ua73f' == yyC) ||
('\ua741' == yyC) ||
('\ua743' == yyC) ||
('\ua745' == yyC) ||
('\ua747' == yyC) ||
('\ua749' == yyC) ||
('\ua74b' == yyC) ||
('\ua74d' == yyC) ||
('\ua74f' == yyC) ||
('\ua751' == yyC) ||
('\ua753' == yyC) ||
('\ua755' == yyC) ||
('\ua757' == yyC) ||
('\ua759' == yyC) ||
('\ua75b' == yyC) ||
('\ua75d' == yyC) ||
('\ua75f' == yyC) ||
('\ua761' == yyC) ||
('\ua763' == yyC) ||
('\ua765' == yyC) ||
('\ua767' == yyC) ||
('\ua769' == yyC) ||
('\ua76b' == yyC) ||
('\ua76d' == yyC) ||
('\ua76f' == yyC) ||
(('\ua771' <= yyC) && (yyC <= '\ua778')) ||
('\ua77a' == yyC) ||
('\ua77c' == yyC) ||
('\ua77f' == yyC) ||
('\ua781' == yyC) ||
('\ua783' == yyC) ||
('\ua785' == yyC) ||
('\ua787' == yyC) ||
('\ua78c' == yyC) ||
(('\ufb00' <= yyC) && (yyC <= '\ufb06')) ||
(('\ufb13' <= yyC) && (yyC <= '\ufb17')) ||
(('\uff41' <= yyC) && (yyC <= '\uff5a'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 3.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '\ud801':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc28' <= yyC) && (yyC <= '\udc4f')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '\ud835':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc1a' <= yyC) && (yyC <= '\udc33')) ||
(('\udc4e' <= yyC) && (yyC <= '\udc54')) ||
(('\udc56' <= yyC) && (yyC <= '\udc67')) ||
(('\udc82' <= yyC) && (yyC <= '\udc9b')) ||
(('\udcb6' <= yyC) && (yyC <= '\udcb9')) ||
(('\udcbb' <= yyC) && (yyC <= '\udccf')) ||
(('\udcea' <= yyC) && (yyC <= '\udd03')) ||
(('\udd1e' <= yyC) && (yyC <= '\udd37')) ||
(('\udd52' <= yyC) && (yyC <= '\udd6b')) ||
(('\udd86' <= yyC) && (yyC <= '\udd9f')) ||
(('\uddba' <= yyC) && (yyC <= '\uddd3')) ||
(('\uddee' <= yyC) && (yyC <= '\ude07')) ||
(('\ude22' <= yyC) && (yyC <= '\ude3b')) ||
(('\ude56' <= yyC) && (yyC <= '\ude6f')) ||
(('\ude8a' <= yyC) && (yyC <= '\udea5')) ||
(('\udec2' <= yyC) && (yyC <= '\udeda')) ||
(('\udedc' <= yyC) && (yyC <= '\udee1')) ||
(('\udefc' <= yyC) && (yyC <= '\udf14')) ||
(('\udf16' <= yyC) && (yyC <= '\udf1b')) ||
(('\udf36' <= yyC) && (yyC <= '\udf4e')) ||
(('\udf50' <= yyC) && (yyC <= '\udf55')) ||
(('\udf70' <= yyC) && (yyC <= '\udf88')) ||
(('\udf8a' <= yyC) && (yyC <= '\udf8f')) ||
(('\udfaa' <= yyC) && (yyC <= '\udfc2')) ||
(('\udfc4' <= yyC) && (yyC <= '\udfc9')) ||
('\udfcb' == yyC)) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("var identifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.varIdentifier$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pvarIdentifier$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pvarIdentifier$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyResult = pidrest(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.upperIdentifier$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pupperIdentifier$$Choice2(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ((('A' <= yyC) && (yyC <= 'Z')) ||
(('\u00c0' <= yyC) && (yyC <= '\u00de')) ||
('\u0100' == yyC) ||
('\u0102' == yyC) ||
('\u0104' == yyC) ||
('\u0106' == yyC) ||
('\u0108' == yyC) ||
('\u010a' == yyC) ||
('\u010c' == yyC) ||
('\u010e' == yyC) ||
('\u0110' == yyC) ||
('\u0112' == yyC) ||
('\u0114' == yyC) ||
('\u0116' == yyC) ||
('\u0118' == yyC) ||
('\u011a' == yyC) ||
('\u011c' == yyC) ||
('\u011e' == yyC) ||
('\u0120' == yyC) ||
('\u0122' == yyC) ||
('\u0124' == yyC) ||
('\u0126' == yyC) ||
('\u0128' == yyC) ||
('\u012a' == yyC) ||
('\u012c' == yyC) ||
('\u012e' == yyC) ||
('\u0130' == yyC) ||
('\u0132' == yyC) ||
('\u0134' == yyC) ||
('\u0136' == yyC) ||
('\u0139' == yyC) ||
('\u013b' == yyC) ||
('\u013d' == yyC) ||
('\u013f' == yyC) ||
('\u0141' == yyC) ||
('\u0143' == yyC) ||
('\u0145' == yyC) ||
('\u0147' == yyC) ||
('\u014a' == yyC) ||
('\u014c' == yyC) ||
('\u014e' == yyC) ||
('\u0150' == yyC) ||
('\u0152' == yyC) ||
('\u0154' == yyC) ||
('\u0156' == yyC) ||
('\u0158' == yyC) ||
('\u015a' == yyC) ||
('\u015c' == yyC) ||
('\u015e' == yyC) ||
('\u0160' == yyC) ||
('\u0162' == yyC) ||
('\u0164' == yyC) ||
('\u0166' == yyC) ||
('\u0168' == yyC) ||
('\u016a' == yyC) ||
('\u016c' == yyC) ||
('\u016e' == yyC) ||
('\u0170' == yyC) ||
('\u0172' == yyC) ||
('\u0174' == yyC) ||
('\u0176' == yyC) ||
(('\u0178' <= yyC) && (yyC <= '\u0179')) ||
('\u017b' == yyC) ||
('\u017d' == yyC) ||
(('\u0181' <= yyC) && (yyC <= '\u0182')) ||
('\u0184' == yyC) ||
(('\u0186' <= yyC) && (yyC <= '\u0187')) ||
(('\u0189' <= yyC) && (yyC <= '\u018b')) ||
(('\u018e' <= yyC) && (yyC <= '\u0191')) ||
(('\u0193' <= yyC) && (yyC <= '\u0194')) ||
(('\u0196' <= yyC) && (yyC <= '\u0198')) ||
(('\u019c' <= yyC) && (yyC <= '\u019d')) ||
(('\u019f' <= yyC) && (yyC <= '\u01a0')) ||
('\u01a2' == yyC) ||
('\u01a4' == yyC) ||
(('\u01a6' <= yyC) && (yyC <= '\u01a7')) ||
('\u01a9' == yyC) ||
('\u01ac' == yyC) ||
(('\u01ae' <= yyC) && (yyC <= '\u01af')) ||
(('\u01b1' <= yyC) && (yyC <= '\u01b3')) ||
('\u01b5' == yyC) ||
(('\u01b7' <= yyC) && (yyC <= '\u01b8')) ||
('\u01bc' == yyC) ||
('\u01c4' == yyC) ||
('\u01c7' == yyC) ||
('\u01ca' == yyC) ||
('\u01cd' == yyC) ||
('\u01cf' == yyC) ||
('\u01d1' == yyC) ||
('\u01d3' == yyC) ||
('\u01d5' == yyC) ||
('\u01d7' == yyC) ||
('\u01d9' == yyC) ||
('\u01db' == yyC) ||
('\u01de' == yyC) ||
('\u01e0' == yyC) ||
('\u01e2' == yyC) ||
('\u01e4' == yyC) ||
('\u01e6' == yyC) ||
('\u01e8' == yyC) ||
('\u01ea' == yyC) ||
('\u01ec' == yyC) ||
('\u01ee' == yyC) ||
('\u01f1' == yyC) ||
('\u01f4' == yyC) ||
(('\u01f6' <= yyC) && (yyC <= '\u01f8')) ||
('\u01fa' == yyC) ||
('\u01fc' == yyC) ||
('\u01fe' == yyC) ||
('\u0200' == yyC) ||
('\u0202' == yyC) ||
('\u0204' == yyC) ||
('\u0206' == yyC) ||
('\u0208' == yyC) ||
('\u020a' == yyC) ||
('\u020c' == yyC) ||
('\u020e' == yyC) ||
('\u0210' == yyC) ||
('\u0212' == yyC) ||
('\u0214' == yyC) ||
('\u0216' == yyC) ||
('\u0218' == yyC) ||
('\u021a' == yyC) ||
('\u021c' == yyC) ||
('\u021e' == yyC) ||
('\u0220' == yyC) ||
('\u0222' == yyC) ||
('\u0224' == yyC) ||
('\u0226' == yyC) ||
('\u0228' == yyC) ||
('\u022a' == yyC) ||
('\u022c' == yyC) ||
('\u022e' == yyC) ||
('\u0230' == yyC) ||
('\u0232' == yyC) ||
(('\u023a' <= yyC) && (yyC <= '\u023b')) ||
(('\u023d' <= yyC) && (yyC <= '\u023e')) ||
('\u0241' == yyC) ||
(('\u0243' <= yyC) && (yyC <= '\u0246')) ||
('\u0248' == yyC) ||
('\u024a' == yyC) ||
('\u024c' == yyC) ||
('\u024e' == yyC) ||
('\u0370' == yyC) ||
('\u0372' == yyC) ||
('\u0376' == yyC) ||
('\u0386' == yyC) ||
(('\u0388' <= yyC) && (yyC <= '\u038a')) ||
('\u038c' == yyC) ||
(('\u038e' <= yyC) && (yyC <= '\u038f')) ||
(('\u0391' <= yyC) && (yyC <= '\u03a1')) ||
(('\u03a3' <= yyC) && (yyC <= '\u03ab')) ||
('\u03cf' == yyC) ||
(('\u03d2' <= yyC) && (yyC <= '\u03d4')) ||
('\u03d8' == yyC) ||
('\u03da' == yyC) ||
('\u03dc' == yyC) ||
('\u03de' == yyC) ||
('\u03e0' == yyC) ||
('\u03e2' == yyC) ||
('\u03e4' == yyC) ||
('\u03e6' == yyC) ||
('\u03e8' == yyC) ||
('\u03ea' == yyC) ||
('\u03ec' == yyC) ||
('\u03ee' == yyC) ||
('\u03f4' == yyC) ||
('\u03f7' == yyC) ||
(('\u03f9' <= yyC) && (yyC <= '\u03fa')) ||
(('\u03fd' <= yyC) && (yyC <= '\u042f')) ||
('\u0460' == yyC) ||
('\u0462' == yyC) ||
('\u0464' == yyC) ||
('\u0466' == yyC) ||
('\u0468' == yyC) ||
('\u046a' == yyC) ||
('\u046c' == yyC) ||
('\u046e' == yyC) ||
('\u0470' == yyC) ||
('\u0472' == yyC) ||
('\u0474' == yyC) ||
('\u0476' == yyC) ||
('\u0478' == yyC) ||
('\u047a' == yyC) ||
('\u047c' == yyC) ||
('\u047e' == yyC) ||
('\u0480' == yyC) ||
('\u048a' == yyC) ||
('\u048c' == yyC) ||
('\u048e' == yyC) ||
('\u0490' == yyC) ||
('\u0492' == yyC) ||
('\u0494' == yyC) ||
('\u0496' == yyC) ||
('\u0498' == yyC) ||
('\u049a' == yyC) ||
('\u049c' == yyC) ||
('\u049e' == yyC) ||
('\u04a0' == yyC) ||
('\u04a2' == yyC) ||
('\u04a4' == yyC) ||
('\u04a6' == yyC) ||
('\u04a8' == yyC) ||
('\u04aa' == yyC) ||
('\u04ac' == yyC) ||
('\u04ae' == yyC) ||
('\u04b0' == yyC) ||
('\u04b2' == yyC) ||
('\u04b4' == yyC) ||
('\u04b6' == yyC) ||
('\u04b8' == yyC) ||
('\u04ba' == yyC) ||
('\u04bc' == yyC) ||
('\u04be' == yyC) ||
(('\u04c0' <= yyC) && (yyC <= '\u04c1')) ||
('\u04c3' == yyC) ||
('\u04c5' == yyC) ||
('\u04c7' == yyC) ||
('\u04c9' == yyC) ||
('\u04cb' == yyC) ||
('\u04cd' == yyC) ||
('\u04d0' == yyC) ||
('\u04d2' == yyC) ||
('\u04d4' == yyC) ||
('\u04d6' == yyC) ||
('\u04d8' == yyC) ||
('\u04da' == yyC) ||
('\u04dc' == yyC) ||
('\u04de' == yyC) ||
('\u04e0' == yyC) ||
('\u04e2' == yyC) ||
('\u04e4' == yyC) ||
('\u04e6' == yyC) ||
('\u04e8' == yyC) ||
('\u04ea' == yyC) ||
('\u04ec' == yyC) ||
('\u04ee' == yyC) ||
('\u04f0' == yyC) ||
('\u04f2' == yyC) ||
('\u04f4' == yyC) ||
('\u04f6' == yyC) ||
('\u04f8' == yyC) ||
('\u04fa' == yyC) ||
('\u04fc' == yyC) ||
('\u04fe' == yyC) ||
('\u0500' == yyC) ||
('\u0502' == yyC) ||
('\u0504' == yyC) ||
('\u0506' == yyC) ||
('\u0508' == yyC) ||
('\u050a' == yyC) ||
('\u050c' == yyC) ||
('\u050e' == yyC) ||
('\u0510' == yyC) ||
('\u0512' == yyC) ||
('\u0514' == yyC) ||
('\u0516' == yyC) ||
('\u0518' == yyC) ||
('\u051a' == yyC) ||
('\u051c' == yyC) ||
('\u051e' == yyC) ||
('\u0520' == yyC) ||
('\u0522' == yyC) ||
(('\u0531' <= yyC) && (yyC <= '\u0556')) ||
(('\u10a0' <= yyC) && (yyC <= '\u10c5')) ||
('\u1e00' == yyC) ||
('\u1e02' == yyC) ||
('\u1e04' == yyC) ||
('\u1e06' == yyC) ||
('\u1e08' == yyC) ||
('\u1e0a' == yyC) ||
('\u1e0c' == yyC) ||
('\u1e0e' == yyC) ||
('\u1e10' == yyC) ||
('\u1e12' == yyC) ||
('\u1e14' == yyC) ||
('\u1e16' == yyC) ||
('\u1e18' == yyC) ||
('\u1e1a' == yyC) ||
('\u1e1c' == yyC) ||
('\u1e1e' == yyC) ||
('\u1e20' == yyC) ||
('\u1e22' == yyC) ||
('\u1e24' == yyC) ||
('\u1e26' == yyC) ||
('\u1e28' == yyC) ||
('\u1e2a' == yyC) ||
('\u1e2c' == yyC) ||
('\u1e2e' == yyC) ||
('\u1e30' == yyC) ||
('\u1e32' == yyC) ||
('\u1e34' == yyC) ||
('\u1e36' == yyC) ||
('\u1e38' == yyC) ||
('\u1e3a' == yyC) ||
('\u1e3c' == yyC) ||
('\u1e3e' == yyC) ||
('\u1e40' == yyC) ||
('\u1e42' == yyC) ||
('\u1e44' == yyC) ||
('\u1e46' == yyC) ||
('\u1e48' == yyC) ||
('\u1e4a' == yyC) ||
('\u1e4c' == yyC) ||
('\u1e4e' == yyC) ||
('\u1e50' == yyC) ||
('\u1e52' == yyC) ||
('\u1e54' == yyC) ||
('\u1e56' == yyC) ||
('\u1e58' == yyC) ||
('\u1e5a' == yyC) ||
('\u1e5c' == yyC) ||
('\u1e5e' == yyC) ||
('\u1e60' == yyC) ||
('\u1e62' == yyC) ||
('\u1e64' == yyC) ||
('\u1e66' == yyC) ||
('\u1e68' == yyC) ||
('\u1e6a' == yyC) ||
('\u1e6c' == yyC) ||
('\u1e6e' == yyC) ||
('\u1e70' == yyC) ||
('\u1e72' == yyC) ||
('\u1e74' == yyC) ||
('\u1e76' == yyC) ||
('\u1e78' == yyC) ||
('\u1e7a' == yyC) ||
('\u1e7c' == yyC) ||
('\u1e7e' == yyC) ||
('\u1e80' == yyC) ||
('\u1e82' == yyC) ||
('\u1e84' == yyC) ||
('\u1e86' == yyC) ||
('\u1e88' == yyC) ||
('\u1e8a' == yyC) ||
('\u1e8c' == yyC) ||
('\u1e8e' == yyC) ||
('\u1e90' == yyC) ||
('\u1e92' == yyC) ||
('\u1e94' == yyC) ||
('\u1e9e' == yyC) ||
('\u1ea0' == yyC) ||
('\u1ea2' == yyC) ||
('\u1ea4' == yyC) ||
('\u1ea6' == yyC) ||
('\u1ea8' == yyC) ||
('\u1eaa' == yyC) ||
('\u1eac' == yyC) ||
('\u1eae' == yyC) ||
('\u1eb0' == yyC) ||
('\u1eb2' == yyC) ||
('\u1eb4' == yyC) ||
('\u1eb6' == yyC) ||
('\u1eb8' == yyC) ||
('\u1eba' == yyC) ||
('\u1ebc' == yyC) ||
('\u1ebe' == yyC) ||
('\u1ec0' == yyC) ||
('\u1ec2' == yyC) ||
('\u1ec4' == yyC) ||
('\u1ec6' == yyC) ||
('\u1ec8' == yyC) ||
('\u1eca' == yyC) ||
('\u1ecc' == yyC) ||
('\u1ece' == yyC) ||
('\u1ed0' == yyC) ||
('\u1ed2' == yyC) ||
('\u1ed4' == yyC) ||
('\u1ed6' == yyC) ||
('\u1ed8' == yyC) ||
('\u1eda' == yyC) ||
('\u1edc' == yyC) ||
('\u1ede' == yyC) ||
('\u1ee0' == yyC) ||
('\u1ee2' == yyC) ||
('\u1ee4' == yyC) ||
('\u1ee6' == yyC) ||
('\u1ee8' == yyC) ||
('\u1eea' == yyC) ||
('\u1eec' == yyC) ||
('\u1eee' == yyC) ||
('\u1ef0' == yyC) ||
('\u1ef2' == yyC) ||
('\u1ef4' == yyC) ||
('\u1ef6' == yyC) ||
('\u1ef8' == yyC) ||
('\u1efa' == yyC) ||
('\u1efc' == yyC) ||
('\u1efe' == yyC) ||
(('\u1f08' <= yyC) && (yyC <= '\u1f0f')) ||
(('\u1f18' <= yyC) && (yyC <= '\u1f1d')) ||
(('\u1f28' <= yyC) && (yyC <= '\u1f2f')) ||
(('\u1f38' <= yyC) && (yyC <= '\u1f3f')) ||
(('\u1f48' <= yyC) && (yyC <= '\u1f4d')) ||
('\u1f59' == yyC) ||
('\u1f5b' == yyC) ||
('\u1f5d' == yyC) ||
('\u1f5f' == yyC) ||
(('\u1f68' <= yyC) && (yyC <= '\u1f6f')) ||
(('\u1fb8' <= yyC) && (yyC <= '\u1fbb')) ||
(('\u1fc8' <= yyC) && (yyC <= '\u1fcb')) ||
(('\u1fd8' <= yyC) && (yyC <= '\u1fdb')) ||
(('\u1fe8' <= yyC) && (yyC <= '\u1fec')) ||
(('\u1ff8' <= yyC) && (yyC <= '\u1ffb')) ||
('\u2102' == yyC) ||
('\u2107' == yyC) ||
(('\u210b' <= yyC) && (yyC <= '\u210d')) ||
(('\u2110' <= yyC) && (yyC <= '\u2112')) ||
('\u2115' == yyC) ||
(('\u2119' <= yyC) && (yyC <= '\u211d')) ||
('\u2124' == yyC) ||
('\u2126' == yyC) ||
('\u2128' == yyC) ||
(('\u212a' <= yyC) && (yyC <= '\u212d')) ||
(('\u2130' <= yyC) && (yyC <= '\u2133')) ||
(('\u213e' <= yyC) && (yyC <= '\u213f')) ||
('\u2145' == yyC) ||
('\u2183' == yyC) ||
(('\u2c00' <= yyC) && (yyC <= '\u2c2e')) ||
('\u2c60' == yyC) ||
(('\u2c62' <= yyC) && (yyC <= '\u2c64')) ||
('\u2c67' == yyC) ||
('\u2c69' == yyC) ||
('\u2c6b' == yyC) ||
(('\u2c6d' <= yyC) && (yyC <= '\u2c6f')) ||
('\u2c72' == yyC) ||
('\u2c75' == yyC) ||
('\u2c80' == yyC) ||
('\u2c82' == yyC) ||
('\u2c84' == yyC) ||
('\u2c86' == yyC) ||
('\u2c88' == yyC) ||
('\u2c8a' == yyC) ||
('\u2c8c' == yyC) ||
('\u2c8e' == yyC) ||
('\u2c90' == yyC) ||
('\u2c92' == yyC) ||
('\u2c94' == yyC) ||
('\u2c96' == yyC) ||
('\u2c98' == yyC) ||
('\u2c9a' == yyC) ||
('\u2c9c' == yyC) ||
('\u2c9e' == yyC) ||
('\u2ca0' == yyC) ||
('\u2ca2' == yyC) ||
('\u2ca4' == yyC) ||
('\u2ca6' == yyC) ||
('\u2ca8' == yyC) ||
('\u2caa' == yyC) ||
('\u2cac' == yyC) ||
('\u2cae' == yyC) ||
('\u2cb0' == yyC) ||
('\u2cb2' == yyC) ||
('\u2cb4' == yyC) ||
('\u2cb6' == yyC) ||
('\u2cb8' == yyC) ||
('\u2cba' == yyC) ||
('\u2cbc' == yyC) ||
('\u2cbe' == yyC) ||
('\u2cc0' == yyC) ||
('\u2cc2' == yyC) ||
('\u2cc4' == yyC) ||
('\u2cc6' == yyC) ||
('\u2cc8' == yyC) ||
('\u2cca' == yyC) ||
('\u2ccc' == yyC) ||
('\u2cce' == yyC) ||
('\u2cd0' == yyC) ||
('\u2cd2' == yyC) ||
('\u2cd4' == yyC) ||
('\u2cd6' == yyC) ||
('\u2cd8' == yyC) ||
('\u2cda' == yyC) ||
('\u2cdc' == yyC) ||
('\u2cde' == yyC) ||
('\u2ce0' == yyC) ||
('\u2ce2' == yyC) ||
('\ua640' == yyC) ||
('\ua642' == yyC) ||
('\ua644' == yyC) ||
('\ua646' == yyC) ||
('\ua648' == yyC) ||
('\ua64a' == yyC) ||
('\ua64c' == yyC) ||
('\ua64e' == yyC) ||
('\ua650' == yyC) ||
('\ua652' == yyC) ||
('\ua654' == yyC) ||
('\ua656' == yyC) ||
('\ua658' == yyC) ||
('\ua65a' == yyC) ||
('\ua65c' == yyC) ||
('\ua65e' == yyC) ||
('\ua662' == yyC) ||
('\ua664' == yyC) ||
('\ua666' == yyC) ||
('\ua668' == yyC) ||
('\ua66a' == yyC) ||
('\ua66c' == yyC) ||
('\ua680' == yyC) ||
('\ua682' == yyC) ||
('\ua684' == yyC) ||
('\ua686' == yyC) ||
('\ua688' == yyC) ||
('\ua68a' == yyC) ||
('\ua68c' == yyC) ||
('\ua68e' == yyC) ||
('\ua690' == yyC) ||
('\ua692' == yyC) ||
('\ua694' == yyC) ||
('\ua696' == yyC) ||
('\ua722' == yyC) ||
('\ua724' == yyC) ||
('\ua726' == yyC) ||
('\ua728' == yyC) ||
('\ua72a' == yyC) ||
('\ua72c' == yyC) ||
('\ua72e' == yyC) ||
('\ua732' == yyC) ||
('\ua734' == yyC) ||
('\ua736' == yyC) ||
('\ua738' == yyC) ||
('\ua73a' == yyC) ||
('\ua73c' == yyC) ||
('\ua73e' == yyC) ||
('\ua740' == yyC) ||
('\ua742' == yyC) ||
('\ua744' == yyC) ||
('\ua746' == yyC) ||
('\ua748' == yyC) ||
('\ua74a' == yyC) ||
('\ua74c' == yyC) ||
('\ua74e' == yyC) ||
('\ua750' == yyC) ||
('\ua752' == yyC) ||
('\ua754' == yyC) ||
('\ua756' == yyC) ||
('\ua758' == yyC) ||
('\ua75a' == yyC) ||
('\ua75c' == yyC) ||
('\ua75e' == yyC) ||
('\ua760' == yyC) ||
('\ua762' == yyC) ||
('\ua764' == yyC) ||
('\ua766' == yyC) ||
('\ua768' == yyC) ||
('\ua76a' == yyC) ||
('\ua76c' == yyC) ||
('\ua76e' == yyC) ||
('\ua779' == yyC) ||
('\ua77b' == yyC) ||
(('\ua77d' <= yyC) && (yyC <= '\ua77e')) ||
('\ua780' == yyC) ||
('\ua782' == yyC) ||
('\ua784' == yyC) ||
('\ua786' == yyC) ||
('\ua78b' == yyC) ||
(('\uff21' <= yyC) && (yyC <= '\uff3a'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 3.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '\ud801':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('7' == yyC) ||
(('\u1dc2' <= yyC) && (yyC <= '\udc00'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '\ud835':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc00' <= yyC) && (yyC <= '\udc19')) ||
(('\udc34' <= yyC) && (yyC <= '\udc4d')) ||
(('\udc68' <= yyC) && (yyC <= '\udc81')) ||
('\udc9c' == yyC) ||
(('\udc9e' <= yyC) && (yyC <= '\udc9f')) ||
('\udca2' == yyC) ||
(('\udca5' <= yyC) && (yyC <= '\udca6')) ||
(('\udca9' <= yyC) && (yyC <= '\udcac')) ||
(('\udcae' <= yyC) && (yyC <= '\udcb5')) ||
(('\udcd0' <= yyC) && (yyC <= '\udce9')) ||
(('\udd04' <= yyC) && (yyC <= '\udd05')) ||
(('\udd07' <= yyC) && (yyC <= '\udd0a')) ||
(('\udd0d' <= yyC) && (yyC <= '\udd1c')) ||
(('\udd38' <= yyC) && (yyC <= '\udd39')) ||
(('\udd3b' <= yyC) && (yyC <= '\udd3e')) ||
(('\udd40' <= yyC) && (yyC <= '\udd44')) ||
('\udd46' == yyC) ||
(('\udd4a' <= yyC) && (yyC <= '\udd50')) ||
(('\udd6c' <= yyC) && (yyC <= '\udd85')) ||
(('\udda0' <= yyC) && (yyC <= '\uddb9')) ||
(('\uddd4' <= yyC) && (yyC <= '\udded')) ||
(('\ude08' <= yyC) && (yyC <= '\ude21')) ||
(('\ude3c' <= yyC) && (yyC <= '\ude55')) ||
(('\ude70' <= yyC) && (yyC <= '\ude89')) ||
(('\udea8' <= yyC) && (yyC <= '\udec0')) ||
(('\udee2' <= yyC) && (yyC <= '\udefa')) ||
(('\udf1c' <= yyC) && (yyC <= '\udf34')) ||
(('\udf56' <= yyC) && (yyC <= '\udf6e')) ||
(('\udf90' <= yyC) && (yyC <= '\udfa8')) ||
('\udfca' == yyC)) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '$':
case '_':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("upper identifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.upperIdentifier$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pupperIdentifier$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pupperIdentifier$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyResult = pidrest(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Identifier.identifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pidentifier(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
boolean yyPredMatched;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('`' == yyC) {
yyIndex = yyStart + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyPredMatched = false;
yyC = character(yyRepetition1);
if ('`' == yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pstringChar(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
} else {
yyError = yyError.select("identifier expected", yyStart);
}
break;
}
if (yyRepeated1) {
yyC = character(yyRepetition1);
if ('`' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
// Alternative 2.
yyResult = pupperIdentifier$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v = yyResult.semanticValue();
if (!contains(SCALA_KEYWORDS, toText(v))) {
yyValue = difference(yyStart, yyResult.index);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pvarIdentifier$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v = yyResult.semanticValue();
if (!contains(SCALA_KEYWORDS, toText(v))) {
yyValue = difference(yyStart, yyResult.index);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 4.
yyResult = popIdentifier$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v = yyResult.semanticValue();
if (!contains(SCALA_KEYWORDS, toText(v))) {
yyValue = difference(yyStart, yyResult.index);
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
yyError = yyError.select("identifier expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Identifier.idrest.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pidrest(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyRepetition1;
boolean yyRepeated1;
int yyRepetition2;
boolean yyRepeated2;
int yyOption1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 2.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 3.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ((('a' <= yyC) && (yyC <= 'z')) ||
('\u00aa' == yyC) ||
('\u00b5' == yyC) ||
('\u00ba' == yyC) ||
(('\u00df' <= yyC) && (yyC <= '\u00ff')) ||
('\u0101' == yyC) ||
('\u0103' == yyC) ||
('\u0105' == yyC) ||
('\u0107' == yyC) ||
('\u0109' == yyC) ||
('\u010b' == yyC) ||
('\u010d' == yyC) ||
('\u010f' == yyC) ||
('\u0111' == yyC) ||
('\u0113' == yyC) ||
('\u0115' == yyC) ||
('\u0117' == yyC) ||
('\u0119' == yyC) ||
('\u011b' == yyC) ||
('\u011d' == yyC) ||
('\u011f' == yyC) ||
('\u0121' == yyC) ||
('\u0123' == yyC) ||
('\u0125' == yyC) ||
('\u0127' == yyC) ||
('\u0129' == yyC) ||
('\u012b' == yyC) ||
('\u012d' == yyC) ||
('\u012f' == yyC) ||
('\u0131' == yyC) ||
('\u0133' == yyC) ||
('\u0135' == yyC) ||
(('\u0137' <= yyC) && (yyC <= '\u0138')) ||
('\u013a' == yyC) ||
('\u013c' == yyC) ||
('\u013e' == yyC) ||
('\u0140' == yyC) ||
('\u0142' == yyC) ||
('\u0144' == yyC) ||
('\u0146' == yyC) ||
(('\u0148' <= yyC) && (yyC <= '\u0149')) ||
('\u014b' == yyC) ||
('\u014d' == yyC) ||
('\u014f' == yyC) ||
('\u0151' == yyC) ||
('\u0153' == yyC) ||
('\u0155' == yyC) ||
('\u0157' == yyC) ||
('\u0159' == yyC) ||
('\u015b' == yyC) ||
('\u015d' == yyC) ||
('\u015f' == yyC) ||
('\u0161' == yyC) ||
('\u0163' == yyC) ||
('\u0165' == yyC) ||
('\u0167' == yyC) ||
('\u0169' == yyC) ||
('\u016b' == yyC) ||
('\u016d' == yyC) ||
('\u016f' == yyC) ||
('\u0171' == yyC) ||
('\u0173' == yyC) ||
('\u0175' == yyC) ||
('\u0177' == yyC) ||
('\u017a' == yyC) ||
('\u017c' == yyC) ||
(('\u017e' <= yyC) && (yyC <= '\u0180')) ||
('\u0183' == yyC) ||
('\u0185' == yyC) ||
('\u0188' == yyC) ||
(('\u018c' <= yyC) && (yyC <= '\u018d')) ||
('\u0192' == yyC) ||
('\u0195' == yyC) ||
(('\u0199' <= yyC) && (yyC <= '\u019b')) ||
('\u019e' == yyC) ||
('\u01a1' == yyC) ||
('\u01a3' == yyC) ||
('\u01a5' == yyC) ||
('\u01a8' == yyC) ||
(('\u01aa' <= yyC) && (yyC <= '\u01ab')) ||
('\u01ad' == yyC) ||
('\u01b0' == yyC) ||
('\u01b4' == yyC) ||
('\u01b6' == yyC) ||
(('\u01b9' <= yyC) && (yyC <= '\u01ba')) ||
(('\u01bd' <= yyC) && (yyC <= '\u01bf')) ||
('\u01c6' == yyC) ||
('\u01c9' == yyC) ||
('\u01cc' == yyC) ||
('\u01ce' == yyC) ||
('\u01d0' == yyC) ||
('\u01d2' == yyC) ||
('\u01d4' == yyC) ||
('\u01d6' == yyC) ||
('\u01d8' == yyC) ||
('\u01da' == yyC) ||
(('\u01dc' <= yyC) && (yyC <= '\u01dd')) ||
('\u01df' == yyC) ||
('\u01e1' == yyC) ||
('\u01e3' == yyC) ||
('\u01e5' == yyC) ||
('\u01e7' == yyC) ||
('\u01e9' == yyC) ||
('\u01eb' == yyC) ||
('\u01ed' == yyC) ||
(('\u01ef' <= yyC) && (yyC <= '\u01f0')) ||
('\u01f3' == yyC) ||
('\u01f5' == yyC) ||
('\u01f9' == yyC) ||
('\u01fb' == yyC) ||
('\u01fd' == yyC) ||
('\u01ff' == yyC) ||
('\u0201' == yyC) ||
('\u0203' == yyC) ||
('\u0205' == yyC) ||
('\u0207' == yyC) ||
('\u0209' == yyC) ||
('\u020b' == yyC) ||
('\u020d' == yyC) ||
('\u020f' == yyC) ||
('\u0211' == yyC) ||
('\u0213' == yyC) ||
('\u0215' == yyC) ||
('\u0217' == yyC) ||
('\u0219' == yyC) ||
('\u021b' == yyC) ||
('\u021d' == yyC) ||
('\u021f' == yyC) ||
('\u0221' == yyC) ||
('\u0223' == yyC) ||
('\u0225' == yyC) ||
('\u0227' == yyC) ||
('\u0229' == yyC) ||
('\u022b' == yyC) ||
('\u022d' == yyC) ||
('\u022f' == yyC) ||
('\u0231' == yyC) ||
(('\u0233' <= yyC) && (yyC <= '\u0239')) ||
('\u023c' == yyC) ||
(('\u023f' <= yyC) && (yyC <= '\u0240')) ||
('\u0242' == yyC) ||
('\u0247' == yyC) ||
('\u0249' == yyC) ||
('\u024b' == yyC) ||
('\u024d' == yyC) ||
(('\u024f' <= yyC) && (yyC <= '\u02af')) ||
('\u0371' == yyC) ||
('\u0373' == yyC) ||
('\u0377' == yyC) ||
(('\u037b' <= yyC) && (yyC <= '\u037d')) ||
('\u0390' == yyC) ||
(('\u03ac' <= yyC) && (yyC <= '\u03ce')) ||
(('\u03d0' <= yyC) && (yyC <= '\u03d1')) ||
(('\u03d5' <= yyC) && (yyC <= '\u03d9')) ||
('\u03db' == yyC) ||
('\u03dd' == yyC) ||
('\u03df' == yyC) ||
('\u03e1' == yyC) ||
('\u03e3' == yyC) ||
('\u03e5' == yyC) ||
('\u03e7' == yyC) ||
('\u03e9' == yyC) ||
('\u03eb' == yyC) ||
('\u03ed' == yyC) ||
(('\u03ef' <= yyC) && (yyC <= '\u03f3')) ||
('\u03f5' == yyC) ||
('\u03f8' == yyC) ||
(('\u03fb' <= yyC) && (yyC <= '\u03fc')) ||
(('\u0430' <= yyC) && (yyC <= '\u045f')) ||
('\u0461' == yyC) ||
('\u0463' == yyC) ||
('\u0465' == yyC) ||
('\u0467' == yyC) ||
('\u0469' == yyC) ||
('\u046b' == yyC) ||
('\u046d' == yyC) ||
('\u046f' == yyC) ||
('\u0471' == yyC) ||
('\u0473' == yyC) ||
('\u0475' == yyC) ||
('\u0477' == yyC) ||
('\u0479' == yyC) ||
('\u047b' == yyC) ||
('\u047d' == yyC) ||
('\u047f' == yyC) ||
('\u0481' == yyC) ||
('\u048b' == yyC) ||
('\u048d' == yyC) ||
('\u048f' == yyC) ||
('\u0491' == yyC) ||
('\u0493' == yyC) ||
('\u0495' == yyC) ||
('\u0497' == yyC) ||
('\u0499' == yyC) ||
('\u049b' == yyC) ||
('\u049d' == yyC) ||
('\u049f' == yyC) ||
('\u04a1' == yyC) ||
('\u04a3' == yyC) ||
('\u04a5' == yyC) ||
('\u04a7' == yyC) ||
('\u04a9' == yyC) ||
('\u04ab' == yyC) ||
('\u04ad' == yyC) ||
('\u04af' == yyC) ||
('\u04b1' == yyC) ||
('\u04b3' == yyC) ||
('\u04b5' == yyC) ||
('\u04b7' == yyC) ||
('\u04b9' == yyC) ||
('\u04bb' == yyC) ||
('\u04bd' == yyC) ||
('\u04bf' == yyC) ||
('\u04c2' == yyC) ||
('\u04c4' == yyC) ||
('\u04c6' == yyC) ||
('\u04c8' == yyC) ||
('\u04ca' == yyC) ||
('\u04cc' == yyC) ||
(('\u04ce' <= yyC) && (yyC <= '\u04cf')) ||
('\u04d1' == yyC) ||
('\u04d3' == yyC) ||
('\u04d5' == yyC) ||
('\u04d7' == yyC) ||
('\u04d9' == yyC) ||
('\u04db' == yyC) ||
('\u04dd' == yyC) ||
('\u04df' == yyC) ||
('\u04e1' == yyC) ||
('\u04e3' == yyC) ||
('\u04e5' == yyC) ||
('\u04e7' == yyC) ||
('\u04e9' == yyC) ||
('\u04eb' == yyC) ||
('\u04ed' == yyC) ||
('\u04ef' == yyC) ||
('\u04f1' == yyC) ||
('\u04f3' == yyC) ||
('\u04f5' == yyC) ||
('\u04f7' == yyC) ||
('\u04f9' == yyC) ||
('\u04fb' == yyC) ||
('\u04fd' == yyC) ||
('\u04ff' == yyC) ||
('\u0501' == yyC) ||
('\u0503' == yyC) ||
('\u0505' == yyC) ||
('\u0507' == yyC) ||
('\u0509' == yyC) ||
('\u050b' == yyC) ||
('\u050d' == yyC) ||
('\u050f' == yyC) ||
('\u0511' == yyC) ||
('\u0513' == yyC) ||
('\u0515' == yyC) ||
('\u0517' == yyC) ||
('\u0519' == yyC) ||
('\u051b' == yyC) ||
('\u051d' == yyC) ||
('\u051f' == yyC) ||
('\u0521' == yyC) ||
('\u0523' == yyC) ||
(('\u0561' <= yyC) && (yyC <= '\u0587')) ||
(('\u1d00' <= yyC) && (yyC <= '\u1d2b')) ||
(('\u1d62' <= yyC) && (yyC <= '\u1d77')) ||
(('\u1d79' <= yyC) && (yyC <= '\u1d9a')) ||
('\u1e01' == yyC) ||
('\u1e03' == yyC) ||
('\u1e05' == yyC) ||
('\u1e07' == yyC) ||
('\u1e09' == yyC) ||
('\u1e0b' == yyC) ||
('\u1e0d' == yyC) ||
('\u1e0f' == yyC) ||
('\u1e11' == yyC) ||
('\u1e13' == yyC) ||
('\u1e15' == yyC) ||
('\u1e17' == yyC) ||
('\u1e19' == yyC) ||
('\u1e1b' == yyC) ||
('\u1e1d' == yyC) ||
('\u1e1f' == yyC) ||
('\u1e21' == yyC) ||
('\u1e23' == yyC) ||
('\u1e25' == yyC) ||
('\u1e27' == yyC) ||
('\u1e29' == yyC) ||
('\u1e2b' == yyC) ||
('\u1e2d' == yyC) ||
('\u1e2f' == yyC) ||
('\u1e31' == yyC) ||
('\u1e33' == yyC) ||
('\u1e35' == yyC) ||
('\u1e37' == yyC) ||
('\u1e39' == yyC) ||
('\u1e3b' == yyC) ||
('\u1e3d' == yyC) ||
('\u1e3f' == yyC) ||
('\u1e41' == yyC) ||
('\u1e43' == yyC) ||
('\u1e45' == yyC) ||
('\u1e47' == yyC) ||
('\u1e49' == yyC) ||
('\u1e4b' == yyC) ||
('\u1e4d' == yyC) ||
('\u1e4f' == yyC) ||
('\u1e51' == yyC) ||
('\u1e53' == yyC) ||
('\u1e55' == yyC) ||
('\u1e57' == yyC) ||
('\u1e59' == yyC) ||
('\u1e5b' == yyC) ||
('\u1e5d' == yyC) ||
('\u1e5f' == yyC) ||
('\u1e61' == yyC) ||
('\u1e63' == yyC) ||
('\u1e65' == yyC) ||
('\u1e67' == yyC) ||
('\u1e69' == yyC) ||
('\u1e6b' == yyC) ||
('\u1e6d' == yyC) ||
('\u1e6f' == yyC) ||
('\u1e71' == yyC) ||
('\u1e73' == yyC) ||
('\u1e75' == yyC) ||
('\u1e77' == yyC) ||
('\u1e79' == yyC) ||
('\u1e7b' == yyC) ||
('\u1e7d' == yyC) ||
('\u1e7f' == yyC) ||
('\u1e81' == yyC) ||
('\u1e83' == yyC) ||
('\u1e85' == yyC) ||
('\u1e87' == yyC) ||
('\u1e89' == yyC) ||
('\u1e8b' == yyC) ||
('\u1e8d' == yyC) ||
('\u1e8f' == yyC) ||
('\u1e91' == yyC) ||
('\u1e93' == yyC) ||
(('\u1e95' <= yyC) && (yyC <= '\u1e9d')) ||
('\u1e9f' == yyC) ||
('\u1ea1' == yyC) ||
('\u1ea3' == yyC) ||
('\u1ea5' == yyC) ||
('\u1ea7' == yyC) ||
('\u1ea9' == yyC) ||
('\u1eab' == yyC) ||
('\u1ead' == yyC) ||
('\u1eaf' == yyC) ||
('\u1eb1' == yyC) ||
('\u1eb3' == yyC) ||
('\u1eb5' == yyC) ||
('\u1eb7' == yyC) ||
('\u1eb9' == yyC) ||
('\u1ebb' == yyC) ||
('\u1ebd' == yyC) ||
('\u1ebf' == yyC) ||
('\u1ec1' == yyC) ||
('\u1ec3' == yyC) ||
('\u1ec5' == yyC) ||
('\u1ec7' == yyC) ||
('\u1ec9' == yyC) ||
('\u1ecb' == yyC) ||
('\u1ecd' == yyC) ||
('\u1ecf' == yyC) ||
('\u1ed1' == yyC) ||
('\u1ed3' == yyC) ||
('\u1ed5' == yyC) ||
('\u1ed7' == yyC) ||
('\u1ed9' == yyC) ||
('\u1edb' == yyC) ||
('\u1edd' == yyC) ||
('\u1edf' == yyC) ||
('\u1ee1' == yyC) ||
('\u1ee3' == yyC) ||
('\u1ee5' == yyC) ||
('\u1ee7' == yyC) ||
('\u1ee9' == yyC) ||
('\u1eeb' == yyC) ||
('\u1eed' == yyC) ||
('\u1eef' == yyC) ||
('\u1ef1' == yyC) ||
('\u1ef3' == yyC) ||
('\u1ef5' == yyC) ||
('\u1ef7' == yyC) ||
('\u1ef9' == yyC) ||
('\u1efb' == yyC) ||
('\u1efd' == yyC) ||
(('\u1eff' <= yyC) && (yyC <= '\u1f07')) ||
(('\u1f10' <= yyC) && (yyC <= '\u1f15')) ||
(('\u1f20' <= yyC) && (yyC <= '\u1f27')) ||
(('\u1f30' <= yyC) && (yyC <= '\u1f37')) ||
(('\u1f40' <= yyC) && (yyC <= '\u1f45')) ||
(('\u1f50' <= yyC) && (yyC <= '\u1f57')) ||
(('\u1f60' <= yyC) && (yyC <= '\u1f67')) ||
(('\u1f70' <= yyC) && (yyC <= '\u1f7d')) ||
(('\u1f80' <= yyC) && (yyC <= '\u1f87')) ||
(('\u1f90' <= yyC) && (yyC <= '\u1f97')) ||
(('\u1fa0' <= yyC) && (yyC <= '\u1fa7')) ||
(('\u1fb0' <= yyC) && (yyC <= '\u1fb7')) ||
('\u1fbe' == yyC) ||
(('\u1fc2' <= yyC) && (yyC <= '\u1fc4')) ||
(('\u1fc6' <= yyC) && (yyC <= '\u1fc7')) ||
(('\u1fd0' <= yyC) && (yyC <= '\u1fd3')) ||
(('\u1fd6' <= yyC) && (yyC <= '\u1fd7')) ||
(('\u1fe0' <= yyC) && (yyC <= '\u1fe7')) ||
(('\u1ff2' <= yyC) && (yyC <= '\u1ff4')) ||
(('\u1ff6' <= yyC) && (yyC <= '\u1ff7')) ||
('\u2071' == yyC) ||
('\u207f' == yyC) ||
('\u210a' == yyC) ||
(('\u210e' <= yyC) && (yyC <= '\u210f')) ||
('\u2113' == yyC) ||
('\u212f' == yyC) ||
('\u2134' == yyC) ||
('\u2139' == yyC) ||
(('\u213c' <= yyC) && (yyC <= '\u213d')) ||
(('\u2146' <= yyC) && (yyC <= '\u2149')) ||
('\u214e' == yyC) ||
('\u2184' == yyC) ||
(('\u2c30' <= yyC) && (yyC <= '\u2c5e')) ||
('\u2c61' == yyC) ||
(('\u2c65' <= yyC) && (yyC <= '\u2c66')) ||
('\u2c68' == yyC) ||
('\u2c6a' == yyC) ||
('\u2c6c' == yyC) ||
('\u2c71' == yyC) ||
(('\u2c73' <= yyC) && (yyC <= '\u2c74')) ||
(('\u2c76' <= yyC) && (yyC <= '\u2c7c')) ||
('\u2c81' == yyC) ||
('\u2c83' == yyC) ||
('\u2c85' == yyC) ||
('\u2c87' == yyC) ||
('\u2c89' == yyC) ||
('\u2c8b' == yyC) ||
('\u2c8d' == yyC) ||
('\u2c8f' == yyC) ||
('\u2c91' == yyC) ||
('\u2c93' == yyC) ||
('\u2c95' == yyC) ||
('\u2c97' == yyC) ||
('\u2c99' == yyC) ||
('\u2c9b' == yyC) ||
('\u2c9d' == yyC) ||
('\u2c9f' == yyC) ||
('\u2ca1' == yyC) ||
('\u2ca3' == yyC) ||
('\u2ca5' == yyC) ||
('\u2ca7' == yyC) ||
('\u2ca9' == yyC) ||
('\u2cab' == yyC) ||
('\u2cad' == yyC) ||
('\u2caf' == yyC) ||
('\u2cb1' == yyC) ||
('\u2cb3' == yyC) ||
('\u2cb5' == yyC) ||
('\u2cb7' == yyC) ||
('\u2cb9' == yyC) ||
('\u2cbb' == yyC) ||
('\u2cbd' == yyC) ||
('\u2cbf' == yyC) ||
('\u2cc1' == yyC) ||
('\u2cc3' == yyC) ||
('\u2cc5' == yyC) ||
('\u2cc7' == yyC) ||
('\u2cc9' == yyC) ||
('\u2ccb' == yyC) ||
('\u2ccd' == yyC) ||
('\u2ccf' == yyC) ||
('\u2cd1' == yyC) ||
('\u2cd3' == yyC) ||
('\u2cd5' == yyC) ||
('\u2cd7' == yyC) ||
('\u2cd9' == yyC) ||
('\u2cdb' == yyC) ||
('\u2cdd' == yyC) ||
('\u2cdf' == yyC) ||
('\u2ce1' == yyC) ||
(('\u2ce3' <= yyC) && (yyC <= '\u2ce4')) ||
(('\u2d00' <= yyC) && (yyC <= '\u2d25')) ||
('\ua641' == yyC) ||
('\ua643' == yyC) ||
('\ua645' == yyC) ||
('\ua647' == yyC) ||
('\ua649' == yyC) ||
('\ua64b' == yyC) ||
('\ua64d' == yyC) ||
('\ua64f' == yyC) ||
('\ua651' == yyC) ||
('\ua653' == yyC) ||
('\ua655' == yyC) ||
('\ua657' == yyC) ||
('\ua659' == yyC) ||
('\ua65b' == yyC) ||
('\ua65d' == yyC) ||
('\ua65f' == yyC) ||
('\ua663' == yyC) ||
('\ua665' == yyC) ||
('\ua667' == yyC) ||
('\ua669' == yyC) ||
('\ua66b' == yyC) ||
('\ua66d' == yyC) ||
('\ua681' == yyC) ||
('\ua683' == yyC) ||
('\ua685' == yyC) ||
('\ua687' == yyC) ||
('\ua689' == yyC) ||
('\ua68b' == yyC) ||
('\ua68d' == yyC) ||
('\ua68f' == yyC) ||
('\ua691' == yyC) ||
('\ua693' == yyC) ||
('\ua695' == yyC) ||
('\ua697' == yyC) ||
('\ua723' == yyC) ||
('\ua725' == yyC) ||
('\ua727' == yyC) ||
('\ua729' == yyC) ||
('\ua72b' == yyC) ||
('\ua72d' == yyC) ||
(('\ua72f' <= yyC) && (yyC <= '\ua731')) ||
('\ua733' == yyC) ||
('\ua735' == yyC) ||
('\ua737' == yyC) ||
('\ua739' == yyC) ||
('\ua73b' == yyC) ||
('\ua73d' == yyC) ||
('\ua73f' == yyC) ||
('\ua741' == yyC) ||
('\ua743' == yyC) ||
('\ua745' == yyC) ||
('\ua747' == yyC) ||
('\ua749' == yyC) ||
('\ua74b' == yyC) ||
('\ua74d' == yyC) ||
('\ua74f' == yyC) ||
('\ua751' == yyC) ||
('\ua753' == yyC) ||
('\ua755' == yyC) ||
('\ua757' == yyC) ||
('\ua759' == yyC) ||
('\ua75b' == yyC) ||
('\ua75d' == yyC) ||
('\ua75f' == yyC) ||
('\ua761' == yyC) ||
('\ua763' == yyC) ||
('\ua765' == yyC) ||
('\ua767' == yyC) ||
('\ua769' == yyC) ||
('\ua76b' == yyC) ||
('\ua76d' == yyC) ||
('\ua76f' == yyC) ||
(('\ua771' <= yyC) && (yyC <= '\ua778')) ||
('\ua77a' == yyC) ||
('\ua77c' == yyC) ||
('\ua77f' == yyC) ||
('\ua781' == yyC) ||
('\ua783' == yyC) ||
('\ua785' == yyC) ||
('\ua787' == yyC) ||
('\ua78c' == yyC) ||
(('\ufb00' <= yyC) && (yyC <= '\ufb06')) ||
(('\ufb13' <= yyC) && (yyC <= '\ufb17')) ||
(('\uff41' <= yyC) && (yyC <= '\uff5a'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 4.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\ud801':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc28' <= yyC) && (yyC <= '\udc4f')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud835':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc1a' <= yyC) && (yyC <= '\udc33')) ||
(('\udc4e' <= yyC) && (yyC <= '\udc54')) ||
(('\udc56' <= yyC) && (yyC <= '\udc67')) ||
(('\udc82' <= yyC) && (yyC <= '\udc9b')) ||
(('\udcb6' <= yyC) && (yyC <= '\udcb9')) ||
(('\udcbb' <= yyC) && (yyC <= '\udccf')) ||
(('\udcea' <= yyC) && (yyC <= '\udd03')) ||
(('\udd1e' <= yyC) && (yyC <= '\udd37')) ||
(('\udd52' <= yyC) && (yyC <= '\udd6b')) ||
(('\udd86' <= yyC) && (yyC <= '\udd9f')) ||
(('\uddba' <= yyC) && (yyC <= '\uddd3')) ||
(('\uddee' <= yyC) && (yyC <= '\ude07')) ||
(('\ude22' <= yyC) && (yyC <= '\ude3b')) ||
(('\ude56' <= yyC) && (yyC <= '\ude6f')) ||
(('\ude8a' <= yyC) && (yyC <= '\udea5')) ||
(('\udec2' <= yyC) && (yyC <= '\udeda')) ||
(('\udedc' <= yyC) && (yyC <= '\udee1')) ||
(('\udefc' <= yyC) && (yyC <= '\udf14')) ||
(('\udf16' <= yyC) && (yyC <= '\udf1b')) ||
(('\udf36' <= yyC) && (yyC <= '\udf4e')) ||
(('\udf50' <= yyC) && (yyC <= '\udf55')) ||
(('\udf70' <= yyC) && (yyC <= '\udf88')) ||
(('\udf8a' <= yyC) && (yyC <= '\udf8f')) ||
(('\udfaa' <= yyC) && (yyC <= '\udfc2')) ||
(('\udfc4' <= yyC) && (yyC <= '\udfc9')) ||
('\udfcb' == yyC)) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 5.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ((('A' <= yyC) && (yyC <= 'Z')) ||
(('\u00c0' <= yyC) && (yyC <= '\u00de')) ||
('\u0100' == yyC) ||
('\u0102' == yyC) ||
('\u0104' == yyC) ||
('\u0106' == yyC) ||
('\u0108' == yyC) ||
('\u010a' == yyC) ||
('\u010c' == yyC) ||
('\u010e' == yyC) ||
('\u0110' == yyC) ||
('\u0112' == yyC) ||
('\u0114' == yyC) ||
('\u0116' == yyC) ||
('\u0118' == yyC) ||
('\u011a' == yyC) ||
('\u011c' == yyC) ||
('\u011e' == yyC) ||
('\u0120' == yyC) ||
('\u0122' == yyC) ||
('\u0124' == yyC) ||
('\u0126' == yyC) ||
('\u0128' == yyC) ||
('\u012a' == yyC) ||
('\u012c' == yyC) ||
('\u012e' == yyC) ||
('\u0130' == yyC) ||
('\u0132' == yyC) ||
('\u0134' == yyC) ||
('\u0136' == yyC) ||
('\u0139' == yyC) ||
('\u013b' == yyC) ||
('\u013d' == yyC) ||
('\u013f' == yyC) ||
('\u0141' == yyC) ||
('\u0143' == yyC) ||
('\u0145' == yyC) ||
('\u0147' == yyC) ||
('\u014a' == yyC) ||
('\u014c' == yyC) ||
('\u014e' == yyC) ||
('\u0150' == yyC) ||
('\u0152' == yyC) ||
('\u0154' == yyC) ||
('\u0156' == yyC) ||
('\u0158' == yyC) ||
('\u015a' == yyC) ||
('\u015c' == yyC) ||
('\u015e' == yyC) ||
('\u0160' == yyC) ||
('\u0162' == yyC) ||
('\u0164' == yyC) ||
('\u0166' == yyC) ||
('\u0168' == yyC) ||
('\u016a' == yyC) ||
('\u016c' == yyC) ||
('\u016e' == yyC) ||
('\u0170' == yyC) ||
('\u0172' == yyC) ||
('\u0174' == yyC) ||
('\u0176' == yyC) ||
(('\u0178' <= yyC) && (yyC <= '\u0179')) ||
('\u017b' == yyC) ||
('\u017d' == yyC) ||
(('\u0181' <= yyC) && (yyC <= '\u0182')) ||
('\u0184' == yyC) ||
(('\u0186' <= yyC) && (yyC <= '\u0187')) ||
(('\u0189' <= yyC) && (yyC <= '\u018b')) ||
(('\u018e' <= yyC) && (yyC <= '\u0191')) ||
(('\u0193' <= yyC) && (yyC <= '\u0194')) ||
(('\u0196' <= yyC) && (yyC <= '\u0198')) ||
(('\u019c' <= yyC) && (yyC <= '\u019d')) ||
(('\u019f' <= yyC) && (yyC <= '\u01a0')) ||
('\u01a2' == yyC) ||
('\u01a4' == yyC) ||
(('\u01a6' <= yyC) && (yyC <= '\u01a7')) ||
('\u01a9' == yyC) ||
('\u01ac' == yyC) ||
(('\u01ae' <= yyC) && (yyC <= '\u01af')) ||
(('\u01b1' <= yyC) && (yyC <= '\u01b3')) ||
('\u01b5' == yyC) ||
(('\u01b7' <= yyC) && (yyC <= '\u01b8')) ||
('\u01bc' == yyC) ||
('\u01c4' == yyC) ||
('\u01c7' == yyC) ||
('\u01ca' == yyC) ||
('\u01cd' == yyC) ||
('\u01cf' == yyC) ||
('\u01d1' == yyC) ||
('\u01d3' == yyC) ||
('\u01d5' == yyC) ||
('\u01d7' == yyC) ||
('\u01d9' == yyC) ||
('\u01db' == yyC) ||
('\u01de' == yyC) ||
('\u01e0' == yyC) ||
('\u01e2' == yyC) ||
('\u01e4' == yyC) ||
('\u01e6' == yyC) ||
('\u01e8' == yyC) ||
('\u01ea' == yyC) ||
('\u01ec' == yyC) ||
('\u01ee' == yyC) ||
('\u01f1' == yyC) ||
('\u01f4' == yyC) ||
(('\u01f6' <= yyC) && (yyC <= '\u01f8')) ||
('\u01fa' == yyC) ||
('\u01fc' == yyC) ||
('\u01fe' == yyC) ||
('\u0200' == yyC) ||
('\u0202' == yyC) ||
('\u0204' == yyC) ||
('\u0206' == yyC) ||
('\u0208' == yyC) ||
('\u020a' == yyC) ||
('\u020c' == yyC) ||
('\u020e' == yyC) ||
('\u0210' == yyC) ||
('\u0212' == yyC) ||
('\u0214' == yyC) ||
('\u0216' == yyC) ||
('\u0218' == yyC) ||
('\u021a' == yyC) ||
('\u021c' == yyC) ||
('\u021e' == yyC) ||
('\u0220' == yyC) ||
('\u0222' == yyC) ||
('\u0224' == yyC) ||
('\u0226' == yyC) ||
('\u0228' == yyC) ||
('\u022a' == yyC) ||
('\u022c' == yyC) ||
('\u022e' == yyC) ||
('\u0230' == yyC) ||
('\u0232' == yyC) ||
(('\u023a' <= yyC) && (yyC <= '\u023b')) ||
(('\u023d' <= yyC) && (yyC <= '\u023e')) ||
('\u0241' == yyC) ||
(('\u0243' <= yyC) && (yyC <= '\u0246')) ||
('\u0248' == yyC) ||
('\u024a' == yyC) ||
('\u024c' == yyC) ||
('\u024e' == yyC) ||
('\u0370' == yyC) ||
('\u0372' == yyC) ||
('\u0376' == yyC) ||
('\u0386' == yyC) ||
(('\u0388' <= yyC) && (yyC <= '\u038a')) ||
('\u038c' == yyC) ||
(('\u038e' <= yyC) && (yyC <= '\u038f')) ||
(('\u0391' <= yyC) && (yyC <= '\u03a1')) ||
(('\u03a3' <= yyC) && (yyC <= '\u03ab')) ||
('\u03cf' == yyC) ||
(('\u03d2' <= yyC) && (yyC <= '\u03d4')) ||
('\u03d8' == yyC) ||
('\u03da' == yyC) ||
('\u03dc' == yyC) ||
('\u03de' == yyC) ||
('\u03e0' == yyC) ||
('\u03e2' == yyC) ||
('\u03e4' == yyC) ||
('\u03e6' == yyC) ||
('\u03e8' == yyC) ||
('\u03ea' == yyC) ||
('\u03ec' == yyC) ||
('\u03ee' == yyC) ||
('\u03f4' == yyC) ||
('\u03f7' == yyC) ||
(('\u03f9' <= yyC) && (yyC <= '\u03fa')) ||
(('\u03fd' <= yyC) && (yyC <= '\u042f')) ||
('\u0460' == yyC) ||
('\u0462' == yyC) ||
('\u0464' == yyC) ||
('\u0466' == yyC) ||
('\u0468' == yyC) ||
('\u046a' == yyC) ||
('\u046c' == yyC) ||
('\u046e' == yyC) ||
('\u0470' == yyC) ||
('\u0472' == yyC) ||
('\u0474' == yyC) ||
('\u0476' == yyC) ||
('\u0478' == yyC) ||
('\u047a' == yyC) ||
('\u047c' == yyC) ||
('\u047e' == yyC) ||
('\u0480' == yyC) ||
('\u048a' == yyC) ||
('\u048c' == yyC) ||
('\u048e' == yyC) ||
('\u0490' == yyC) ||
('\u0492' == yyC) ||
('\u0494' == yyC) ||
('\u0496' == yyC) ||
('\u0498' == yyC) ||
('\u049a' == yyC) ||
('\u049c' == yyC) ||
('\u049e' == yyC) ||
('\u04a0' == yyC) ||
('\u04a2' == yyC) ||
('\u04a4' == yyC) ||
('\u04a6' == yyC) ||
('\u04a8' == yyC) ||
('\u04aa' == yyC) ||
('\u04ac' == yyC) ||
('\u04ae' == yyC) ||
('\u04b0' == yyC) ||
('\u04b2' == yyC) ||
('\u04b4' == yyC) ||
('\u04b6' == yyC) ||
('\u04b8' == yyC) ||
('\u04ba' == yyC) ||
('\u04bc' == yyC) ||
('\u04be' == yyC) ||
(('\u04c0' <= yyC) && (yyC <= '\u04c1')) ||
('\u04c3' == yyC) ||
('\u04c5' == yyC) ||
('\u04c7' == yyC) ||
('\u04c9' == yyC) ||
('\u04cb' == yyC) ||
('\u04cd' == yyC) ||
('\u04d0' == yyC) ||
('\u04d2' == yyC) ||
('\u04d4' == yyC) ||
('\u04d6' == yyC) ||
('\u04d8' == yyC) ||
('\u04da' == yyC) ||
('\u04dc' == yyC) ||
('\u04de' == yyC) ||
('\u04e0' == yyC) ||
('\u04e2' == yyC) ||
('\u04e4' == yyC) ||
('\u04e6' == yyC) ||
('\u04e8' == yyC) ||
('\u04ea' == yyC) ||
('\u04ec' == yyC) ||
('\u04ee' == yyC) ||
('\u04f0' == yyC) ||
('\u04f2' == yyC) ||
('\u04f4' == yyC) ||
('\u04f6' == yyC) ||
('\u04f8' == yyC) ||
('\u04fa' == yyC) ||
('\u04fc' == yyC) ||
('\u04fe' == yyC) ||
('\u0500' == yyC) ||
('\u0502' == yyC) ||
('\u0504' == yyC) ||
('\u0506' == yyC) ||
('\u0508' == yyC) ||
('\u050a' == yyC) ||
('\u050c' == yyC) ||
('\u050e' == yyC) ||
('\u0510' == yyC) ||
('\u0512' == yyC) ||
('\u0514' == yyC) ||
('\u0516' == yyC) ||
('\u0518' == yyC) ||
('\u051a' == yyC) ||
('\u051c' == yyC) ||
('\u051e' == yyC) ||
('\u0520' == yyC) ||
('\u0522' == yyC) ||
(('\u0531' <= yyC) && (yyC <= '\u0556')) ||
(('\u10a0' <= yyC) && (yyC <= '\u10c5')) ||
('\u1e00' == yyC) ||
('\u1e02' == yyC) ||
('\u1e04' == yyC) ||
('\u1e06' == yyC) ||
('\u1e08' == yyC) ||
('\u1e0a' == yyC) ||
('\u1e0c' == yyC) ||
('\u1e0e' == yyC) ||
('\u1e10' == yyC) ||
('\u1e12' == yyC) ||
('\u1e14' == yyC) ||
('\u1e16' == yyC) ||
('\u1e18' == yyC) ||
('\u1e1a' == yyC) ||
('\u1e1c' == yyC) ||
('\u1e1e' == yyC) ||
('\u1e20' == yyC) ||
('\u1e22' == yyC) ||
('\u1e24' == yyC) ||
('\u1e26' == yyC) ||
('\u1e28' == yyC) ||
('\u1e2a' == yyC) ||
('\u1e2c' == yyC) ||
('\u1e2e' == yyC) ||
('\u1e30' == yyC) ||
('\u1e32' == yyC) ||
('\u1e34' == yyC) ||
('\u1e36' == yyC) ||
('\u1e38' == yyC) ||
('\u1e3a' == yyC) ||
('\u1e3c' == yyC) ||
('\u1e3e' == yyC) ||
('\u1e40' == yyC) ||
('\u1e42' == yyC) ||
('\u1e44' == yyC) ||
('\u1e46' == yyC) ||
('\u1e48' == yyC) ||
('\u1e4a' == yyC) ||
('\u1e4c' == yyC) ||
('\u1e4e' == yyC) ||
('\u1e50' == yyC) ||
('\u1e52' == yyC) ||
('\u1e54' == yyC) ||
('\u1e56' == yyC) ||
('\u1e58' == yyC) ||
('\u1e5a' == yyC) ||
('\u1e5c' == yyC) ||
('\u1e5e' == yyC) ||
('\u1e60' == yyC) ||
('\u1e62' == yyC) ||
('\u1e64' == yyC) ||
('\u1e66' == yyC) ||
('\u1e68' == yyC) ||
('\u1e6a' == yyC) ||
('\u1e6c' == yyC) ||
('\u1e6e' == yyC) ||
('\u1e70' == yyC) ||
('\u1e72' == yyC) ||
('\u1e74' == yyC) ||
('\u1e76' == yyC) ||
('\u1e78' == yyC) ||
('\u1e7a' == yyC) ||
('\u1e7c' == yyC) ||
('\u1e7e' == yyC) ||
('\u1e80' == yyC) ||
('\u1e82' == yyC) ||
('\u1e84' == yyC) ||
('\u1e86' == yyC) ||
('\u1e88' == yyC) ||
('\u1e8a' == yyC) ||
('\u1e8c' == yyC) ||
('\u1e8e' == yyC) ||
('\u1e90' == yyC) ||
('\u1e92' == yyC) ||
('\u1e94' == yyC) ||
('\u1e9e' == yyC) ||
('\u1ea0' == yyC) ||
('\u1ea2' == yyC) ||
('\u1ea4' == yyC) ||
('\u1ea6' == yyC) ||
('\u1ea8' == yyC) ||
('\u1eaa' == yyC) ||
('\u1eac' == yyC) ||
('\u1eae' == yyC) ||
('\u1eb0' == yyC) ||
('\u1eb2' == yyC) ||
('\u1eb4' == yyC) ||
('\u1eb6' == yyC) ||
('\u1eb8' == yyC) ||
('\u1eba' == yyC) ||
('\u1ebc' == yyC) ||
('\u1ebe' == yyC) ||
('\u1ec0' == yyC) ||
('\u1ec2' == yyC) ||
('\u1ec4' == yyC) ||
('\u1ec6' == yyC) ||
('\u1ec8' == yyC) ||
('\u1eca' == yyC) ||
('\u1ecc' == yyC) ||
('\u1ece' == yyC) ||
('\u1ed0' == yyC) ||
('\u1ed2' == yyC) ||
('\u1ed4' == yyC) ||
('\u1ed6' == yyC) ||
('\u1ed8' == yyC) ||
('\u1eda' == yyC) ||
('\u1edc' == yyC) ||
('\u1ede' == yyC) ||
('\u1ee0' == yyC) ||
('\u1ee2' == yyC) ||
('\u1ee4' == yyC) ||
('\u1ee6' == yyC) ||
('\u1ee8' == yyC) ||
('\u1eea' == yyC) ||
('\u1eec' == yyC) ||
('\u1eee' == yyC) ||
('\u1ef0' == yyC) ||
('\u1ef2' == yyC) ||
('\u1ef4' == yyC) ||
('\u1ef6' == yyC) ||
('\u1ef8' == yyC) ||
('\u1efa' == yyC) ||
('\u1efc' == yyC) ||
('\u1efe' == yyC) ||
(('\u1f08' <= yyC) && (yyC <= '\u1f0f')) ||
(('\u1f18' <= yyC) && (yyC <= '\u1f1d')) ||
(('\u1f28' <= yyC) && (yyC <= '\u1f2f')) ||
(('\u1f38' <= yyC) && (yyC <= '\u1f3f')) ||
(('\u1f48' <= yyC) && (yyC <= '\u1f4d')) ||
('\u1f59' == yyC) ||
('\u1f5b' == yyC) ||
('\u1f5d' == yyC) ||
('\u1f5f' == yyC) ||
(('\u1f68' <= yyC) && (yyC <= '\u1f6f')) ||
(('\u1fb8' <= yyC) && (yyC <= '\u1fbb')) ||
(('\u1fc8' <= yyC) && (yyC <= '\u1fcb')) ||
(('\u1fd8' <= yyC) && (yyC <= '\u1fdb')) ||
(('\u1fe8' <= yyC) && (yyC <= '\u1fec')) ||
(('\u1ff8' <= yyC) && (yyC <= '\u1ffb')) ||
('\u2102' == yyC) ||
('\u2107' == yyC) ||
(('\u210b' <= yyC) && (yyC <= '\u210d')) ||
(('\u2110' <= yyC) && (yyC <= '\u2112')) ||
('\u2115' == yyC) ||
(('\u2119' <= yyC) && (yyC <= '\u211d')) ||
('\u2124' == yyC) ||
('\u2126' == yyC) ||
('\u2128' == yyC) ||
(('\u212a' <= yyC) && (yyC <= '\u212d')) ||
(('\u2130' <= yyC) && (yyC <= '\u2133')) ||
(('\u213e' <= yyC) && (yyC <= '\u213f')) ||
('\u2145' == yyC) ||
('\u2183' == yyC) ||
(('\u2c00' <= yyC) && (yyC <= '\u2c2e')) ||
('\u2c60' == yyC) ||
(('\u2c62' <= yyC) && (yyC <= '\u2c64')) ||
('\u2c67' == yyC) ||
('\u2c69' == yyC) ||
('\u2c6b' == yyC) ||
(('\u2c6d' <= yyC) && (yyC <= '\u2c6f')) ||
('\u2c72' == yyC) ||
('\u2c75' == yyC) ||
('\u2c80' == yyC) ||
('\u2c82' == yyC) ||
('\u2c84' == yyC) ||
('\u2c86' == yyC) ||
('\u2c88' == yyC) ||
('\u2c8a' == yyC) ||
('\u2c8c' == yyC) ||
('\u2c8e' == yyC) ||
('\u2c90' == yyC) ||
('\u2c92' == yyC) ||
('\u2c94' == yyC) ||
('\u2c96' == yyC) ||
('\u2c98' == yyC) ||
('\u2c9a' == yyC) ||
('\u2c9c' == yyC) ||
('\u2c9e' == yyC) ||
('\u2ca0' == yyC) ||
('\u2ca2' == yyC) ||
('\u2ca4' == yyC) ||
('\u2ca6' == yyC) ||
('\u2ca8' == yyC) ||
('\u2caa' == yyC) ||
('\u2cac' == yyC) ||
('\u2cae' == yyC) ||
('\u2cb0' == yyC) ||
('\u2cb2' == yyC) ||
('\u2cb4' == yyC) ||
('\u2cb6' == yyC) ||
('\u2cb8' == yyC) ||
('\u2cba' == yyC) ||
('\u2cbc' == yyC) ||
('\u2cbe' == yyC) ||
('\u2cc0' == yyC) ||
('\u2cc2' == yyC) ||
('\u2cc4' == yyC) ||
('\u2cc6' == yyC) ||
('\u2cc8' == yyC) ||
('\u2cca' == yyC) ||
('\u2ccc' == yyC) ||
('\u2cce' == yyC) ||
('\u2cd0' == yyC) ||
('\u2cd2' == yyC) ||
('\u2cd4' == yyC) ||
('\u2cd6' == yyC) ||
('\u2cd8' == yyC) ||
('\u2cda' == yyC) ||
('\u2cdc' == yyC) ||
('\u2cde' == yyC) ||
('\u2ce0' == yyC) ||
('\u2ce2' == yyC) ||
('\ua640' == yyC) ||
('\ua642' == yyC) ||
('\ua644' == yyC) ||
('\ua646' == yyC) ||
('\ua648' == yyC) ||
('\ua64a' == yyC) ||
('\ua64c' == yyC) ||
('\ua64e' == yyC) ||
('\ua650' == yyC) ||
('\ua652' == yyC) ||
('\ua654' == yyC) ||
('\ua656' == yyC) ||
('\ua658' == yyC) ||
('\ua65a' == yyC) ||
('\ua65c' == yyC) ||
('\ua65e' == yyC) ||
('\ua662' == yyC) ||
('\ua664' == yyC) ||
('\ua666' == yyC) ||
('\ua668' == yyC) ||
('\ua66a' == yyC) ||
('\ua66c' == yyC) ||
('\ua680' == yyC) ||
('\ua682' == yyC) ||
('\ua684' == yyC) ||
('\ua686' == yyC) ||
('\ua688' == yyC) ||
('\ua68a' == yyC) ||
('\ua68c' == yyC) ||
('\ua68e' == yyC) ||
('\ua690' == yyC) ||
('\ua692' == yyC) ||
('\ua694' == yyC) ||
('\ua696' == yyC) ||
('\ua722' == yyC) ||
('\ua724' == yyC) ||
('\ua726' == yyC) ||
('\ua728' == yyC) ||
('\ua72a' == yyC) ||
('\ua72c' == yyC) ||
('\ua72e' == yyC) ||
('\ua732' == yyC) ||
('\ua734' == yyC) ||
('\ua736' == yyC) ||
('\ua738' == yyC) ||
('\ua73a' == yyC) ||
('\ua73c' == yyC) ||
('\ua73e' == yyC) ||
('\ua740' == yyC) ||
('\ua742' == yyC) ||
('\ua744' == yyC) ||
('\ua746' == yyC) ||
('\ua748' == yyC) ||
('\ua74a' == yyC) ||
('\ua74c' == yyC) ||
('\ua74e' == yyC) ||
('\ua750' == yyC) ||
('\ua752' == yyC) ||
('\ua754' == yyC) ||
('\ua756' == yyC) ||
('\ua758' == yyC) ||
('\ua75a' == yyC) ||
('\ua75c' == yyC) ||
('\ua75e' == yyC) ||
('\ua760' == yyC) ||
('\ua762' == yyC) ||
('\ua764' == yyC) ||
('\ua766' == yyC) ||
('\ua768' == yyC) ||
('\ua76a' == yyC) ||
('\ua76c' == yyC) ||
('\ua76e' == yyC) ||
('\ua779' == yyC) ||
('\ua77b' == yyC) ||
(('\ua77d' <= yyC) && (yyC <= '\ua77e')) ||
('\ua780' == yyC) ||
('\ua782' == yyC) ||
('\ua784' == yyC) ||
('\ua786' == yyC) ||
('\ua78b' == yyC) ||
(('\uff21' <= yyC) && (yyC <= '\uff3a'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 6.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\ud801':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('7' == yyC) ||
(('\u1dc2' <= yyC) && (yyC <= '\udc00'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud835':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc00' <= yyC) && (yyC <= '\udc19')) ||
(('\udc34' <= yyC) && (yyC <= '\udc4d')) ||
(('\udc68' <= yyC) && (yyC <= '\udc81')) ||
('\udc9c' == yyC) ||
(('\udc9e' <= yyC) && (yyC <= '\udc9f')) ||
('\udca2' == yyC) ||
(('\udca5' <= yyC) && (yyC <= '\udca6')) ||
(('\udca9' <= yyC) && (yyC <= '\udcac')) ||
(('\udcae' <= yyC) && (yyC <= '\udcb5')) ||
(('\udcd0' <= yyC) && (yyC <= '\udce9')) ||
(('\udd04' <= yyC) && (yyC <= '\udd05')) ||
(('\udd07' <= yyC) && (yyC <= '\udd0a')) ||
(('\udd0d' <= yyC) && (yyC <= '\udd1c')) ||
(('\udd38' <= yyC) && (yyC <= '\udd39')) ||
(('\udd3b' <= yyC) && (yyC <= '\udd3e')) ||
(('\udd40' <= yyC) && (yyC <= '\udd44')) ||
('\udd46' == yyC) ||
(('\udd4a' <= yyC) && (yyC <= '\udd50')) ||
(('\udd6c' <= yyC) && (yyC <= '\udd85')) ||
(('\udda0' <= yyC) && (yyC <= '\uddb9')) ||
(('\uddd4' <= yyC) && (yyC <= '\udded')) ||
(('\ude08' <= yyC) && (yyC <= '\ude21')) ||
(('\ude3c' <= yyC) && (yyC <= '\ude55')) ||
(('\ude70' <= yyC) && (yyC <= '\ude89')) ||
(('\udea8' <= yyC) && (yyC <= '\udec0')) ||
(('\udee2' <= yyC) && (yyC <= '\udefa')) ||
(('\udf1c' <= yyC) && (yyC <= '\udf34')) ||
(('\udf56' <= yyC) && (yyC <= '\udf6e')) ||
(('\udf90' <= yyC) && (yyC <= '\udfa8')) ||
('\udfca' == yyC)) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 7.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('\u01c5' == yyC) ||
('\u01c8' == yyC) ||
('\u01cb' == yyC) ||
('\u01f2' == yyC) ||
(('\u1f88' <= yyC) && (yyC <= '\u1f8f')) ||
(('\u1f98' <= yyC) && (yyC <= '\u1f9f')) ||
(('\u1fa8' <= yyC) && (yyC <= '\u1faf')) ||
('\u1fbc' == yyC) ||
('\u1fcc' == yyC) ||
('\u1ffc' == yyC)) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 8.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('\u01bb' == yyC) ||
(('\u01c0' <= yyC) && (yyC <= '\u01c3')) ||
('\u0294' == yyC) ||
(('\u05d0' <= yyC) && (yyC <= '\u05ea')) ||
(('\u05f0' <= yyC) && (yyC <= '\u05f2')) ||
(('\u0621' <= yyC) && (yyC <= '\u063f')) ||
(('\u0641' <= yyC) && (yyC <= '\u064a')) ||
(('\u066e' <= yyC) && (yyC <= '\u066f')) ||
(('\u0671' <= yyC) && (yyC <= '\u06d3')) ||
('\u06d5' == yyC) ||
(('\u06ee' <= yyC) && (yyC <= '\u06ef')) ||
(('\u06fa' <= yyC) && (yyC <= '\u06fc')) ||
('\u06ff' == yyC) ||
('\u0710' == yyC) ||
(('\u0712' <= yyC) && (yyC <= '\u072f')) ||
(('\u074d' <= yyC) && (yyC <= '\u07a5')) ||
('\u07b1' == yyC) ||
(('\u07ca' <= yyC) && (yyC <= '\u07ea')) ||
(('\u0904' <= yyC) && (yyC <= '\u0939')) ||
('\u093d' == yyC) ||
('\u0950' == yyC) ||
(('\u0958' <= yyC) && (yyC <= '\u0961')) ||
('\u0972' == yyC) ||
(('\u097b' <= yyC) && (yyC <= '\u097f')) ||
(('\u0985' <= yyC) && (yyC <= '\u098c')) ||
(('\u098f' <= yyC) && (yyC <= '\u0990')) ||
(('\u0993' <= yyC) && (yyC <= '\u09a8')) ||
(('\u09aa' <= yyC) && (yyC <= '\u09b0')) ||
('\u09b2' == yyC) ||
(('\u09b6' <= yyC) && (yyC <= '\u09b9')) ||
('\u09bd' == yyC) ||
('\u09ce' == yyC) ||
(('\u09dc' <= yyC) && (yyC <= '\u09dd')) ||
(('\u09df' <= yyC) && (yyC <= '\u09e1')) ||
(('\u09f0' <= yyC) && (yyC <= '\u09f1')) ||
(('\u0a05' <= yyC) && (yyC <= '\u0a0a')) ||
(('\u0a0f' <= yyC) && (yyC <= '\u0a10')) ||
(('\u0a13' <= yyC) && (yyC <= '\u0a28')) ||
(('\u0a2a' <= yyC) && (yyC <= '\u0a30')) ||
(('\u0a32' <= yyC) && (yyC <= '\u0a33')) ||
(('\u0a35' <= yyC) && (yyC <= '\u0a36')) ||
(('\u0a38' <= yyC) && (yyC <= '\u0a39')) ||
(('\u0a59' <= yyC) && (yyC <= '\u0a5e')) ||
(('\u0a72' <= yyC) && (yyC <= '\u0a74')) ||
(('\u0a85' <= yyC) && (yyC <= '\u0aa8')) ||
(('\u0aaa' <= yyC) && (yyC <= '\u0ab0')) ||
(('\u0ab2' <= yyC) && (yyC <= '\u0ab3')) ||
(('\u0ab5' <= yyC) && (yyC <= '\u0ab9')) ||
('\u0abd' == yyC) ||
('\u0ad0' == yyC) ||
(('\u0ae0' <= yyC) && (yyC <= '\u0ae1')) ||
(('\u0b05' <= yyC) && (yyC <= '\u0b0c')) ||
(('\u0b0f' <= yyC) && (yyC <= '\u0b10')) ||
(('\u0b13' <= yyC) && (yyC <= '\u0b28')) ||
(('\u0b2a' <= yyC) && (yyC <= '\u0b30')) ||
(('\u0b32' <= yyC) && (yyC <= '\u0b33')) ||
(('\u0b35' <= yyC) && (yyC <= '\u0b39')) ||
('\u0b3d' == yyC) ||
(('\u0b5c' <= yyC) && (yyC <= '\u0b5d')) ||
(('\u0b5f' <= yyC) && (yyC <= '\u0b61')) ||
('\u0b71' == yyC) ||
('\u0b83' == yyC) ||
(('\u0b85' <= yyC) && (yyC <= '\u0b8a')) ||
(('\u0b8e' <= yyC) && (yyC <= '\u0b90')) ||
(('\u0b92' <= yyC) && (yyC <= '\u0b95')) ||
(('\u0b99' <= yyC) && (yyC <= '\u0b9a')) ||
('\u0b9c' == yyC) ||
(('\u0b9e' <= yyC) && (yyC <= '\u0b9f')) ||
(('\u0ba3' <= yyC) && (yyC <= '\u0ba4')) ||
(('\u0ba8' <= yyC) && (yyC <= '\u0baa')) ||
(('\u0bae' <= yyC) && (yyC <= '\u0bb9')) ||
('\u0bd0' == yyC) ||
(('\u0c05' <= yyC) && (yyC <= '\u0c0c')) ||
(('\u0c0e' <= yyC) && (yyC <= '\u0c10')) ||
(('\u0c12' <= yyC) && (yyC <= '\u0c28')) ||
(('\u0c2a' <= yyC) && (yyC <= '\u0c33')) ||
(('\u0c35' <= yyC) && (yyC <= '\u0c39')) ||
('\u0c3d' == yyC) ||
(('\u0c58' <= yyC) && (yyC <= '\u0c61')) ||
(('\u0c85' <= yyC) && (yyC <= '\u0c90')) ||
(('\u0c92' <= yyC) && (yyC <= '\u0ca8')) ||
(('\u0caa' <= yyC) && (yyC <= '\u0cb9')) ||
('\u0cbd' == yyC) ||
('\u0cde' == yyC) ||
(('\u0ce0' <= yyC) && (yyC <= '\u0ce1')) ||
(('\u0d05' <= yyC) && (yyC <= '\u0d10')) ||
(('\u0d12' <= yyC) && (yyC <= '\u0d28')) ||
(('\u0d2a' <= yyC) && (yyC <= '\u0d39')) ||
('\u0d3d' == yyC) ||
(('\u0d60' <= yyC) && (yyC <= '\u0d61')) ||
(('\u0d7a' <= yyC) && (yyC <= '\u0d7f')) ||
(('\u0d85' <= yyC) && (yyC <= '\u0d96')) ||
(('\u0d9a' <= yyC) && (yyC <= '\u0dbb')) ||
('\u0dbd' == yyC) ||
(('\u0dc0' <= yyC) && (yyC <= '\u0dc6')) ||
(('\u0e01' <= yyC) && (yyC <= '\u0e30')) ||
(('\u0e32' <= yyC) && (yyC <= '\u0e33')) ||
(('\u0e40' <= yyC) && (yyC <= '\u0e45')) ||
(('\u0e81' <= yyC) && (yyC <= '\u0e82')) ||
('\u0e84' == yyC) ||
(('\u0e87' <= yyC) && (yyC <= '\u0e88')) ||
('\u0e8a' == yyC) ||
('\u0e8d' == yyC) ||
(('\u0e94' <= yyC) && (yyC <= '\u0e97')) ||
(('\u0e99' <= yyC) && (yyC <= '\u0e9f')) ||
(('\u0ea1' <= yyC) && (yyC <= '\u0ea3')) ||
('\u0ea5' == yyC) ||
('\u0ea7' == yyC) ||
(('\u0eaa' <= yyC) && (yyC <= '\u0eab')) ||
(('\u0ead' <= yyC) && (yyC <= '\u0eb0')) ||
(('\u0eb2' <= yyC) && (yyC <= '\u0eb3')) ||
('\u0ebd' == yyC) ||
(('\u0ec0' <= yyC) && (yyC <= '\u0ec4')) ||
(('\u0edc' <= yyC) && (yyC <= '\u0edd')) ||
('\u0f00' == yyC) ||
(('\u0f40' <= yyC) && (yyC <= '\u0f47')) ||
(('\u0f49' <= yyC) && (yyC <= '\u0f6c')) ||
(('\u0f88' <= yyC) && (yyC <= '\u0f8b')) ||
(('\u1000' <= yyC) && (yyC <= '\u102a')) ||
('\u103f' == yyC) ||
(('\u1050' <= yyC) && (yyC <= '\u1055')) ||
(('\u105a' <= yyC) && (yyC <= '\u105d')) ||
('\u1061' == yyC) ||
(('\u1065' <= yyC) && (yyC <= '\u1066')) ||
(('\u106e' <= yyC) && (yyC <= '\u1070')) ||
(('\u1075' <= yyC) && (yyC <= '\u1081')) ||
('\u108e' == yyC) ||
(('\u10d0' <= yyC) && (yyC <= '\u10fa')) ||
(('\u1100' <= yyC) && (yyC <= '\u1159')) ||
(('\u115f' <= yyC) && (yyC <= '\u11a2')) ||
(('\u11a8' <= yyC) && (yyC <= '\u11f9')) ||
(('\u1200' <= yyC) && (yyC <= '\u1248')) ||
(('\u124a' <= yyC) && (yyC <= '\u124d')) ||
(('\u1250' <= yyC) && (yyC <= '\u1258')) ||
(('\u125a' <= yyC) && (yyC <= '\u125d')) ||
(('\u1260' <= yyC) && (yyC <= '\u1288')) ||
(('\u128a' <= yyC) && (yyC <= '\u128d')) ||
(('\u1290' <= yyC) && (yyC <= '\u12b0')) ||
(('\u12b2' <= yyC) && (yyC <= '\u12b5')) ||
(('\u12b8' <= yyC) && (yyC <= '\u12be')) ||
('\u12c0' == yyC) ||
(('\u12c2' <= yyC) && (yyC <= '\u12c5')) ||
(('\u12c8' <= yyC) && (yyC <= '\u1310')) ||
(('\u1312' <= yyC) && (yyC <= '\u1315')) ||
(('\u1318' <= yyC) && (yyC <= '\u135a')) ||
(('\u1380' <= yyC) && (yyC <= '\u13f4')) ||
(('\u1401' <= yyC) && (yyC <= '\u1676')) ||
(('\u1681' <= yyC) && (yyC <= '\u169a')) ||
(('\u16a0' <= yyC) && (yyC <= '\u16ea')) ||
(('\u1700' <= yyC) && (yyC <= '\u1731')) ||
(('\u1740' <= yyC) && (yyC <= '\u1751')) ||
(('\u1760' <= yyC) && (yyC <= '\u1770')) ||
(('\u1780' <= yyC) && (yyC <= '\u17b3')) ||
('\u17dc' == yyC) ||
(('\u1820' <= yyC) && (yyC <= '\u1842')) ||
(('\u1844' <= yyC) && (yyC <= '\u1877')) ||
(('\u1880' <= yyC) && (yyC <= '\u18a8')) ||
(('\u18aa' <= yyC) && (yyC <= '\u191c')) ||
(('\u1950' <= yyC) && (yyC <= '\u196d')) ||
(('\u1970' <= yyC) && (yyC <= '\u1974')) ||
(('\u1980' <= yyC) && (yyC <= '\u19a9')) ||
(('\u19c1' <= yyC) && (yyC <= '\u19c7')) ||
(('\u1a00' <= yyC) && (yyC <= '\u1b4b')) ||
(('\u1b83' <= yyC) && (yyC <= '\u1ba0')) ||
(('\u1bae' <= yyC) && (yyC <= '\u1baf')) ||
(('\u1c00' <= yyC) && (yyC <= '\u1c23')) ||
(('\u1c4d' <= yyC) && (yyC <= '\u1c4f')) ||
(('\u1c5a' <= yyC) && (yyC <= '\u1c77')) ||
(('\u2135' <= yyC) && (yyC <= '\u2138')) ||
(('\u2d30' <= yyC) && (yyC <= '\u2d65')) ||
(('\u2d80' <= yyC) && (yyC <= '\u2d96')) ||
(('\u2da0' <= yyC) && (yyC <= '\u2dae')) ||
(('\u2db0' <= yyC) && (yyC <= '\u2db6')) ||
(('\u2db8' <= yyC) && (yyC <= '\u2dbe')) ||
(('\u2dc0' <= yyC) && (yyC <= '\u2dc6')) ||
(('\u2dc8' <= yyC) && (yyC <= '\u2dde')) ||
('\u3006' == yyC) ||
('\u303c' == yyC) ||
(('\u3041' <= yyC) && (yyC <= '\u3096')) ||
('\u309f' == yyC) ||
(('\u30a1' <= yyC) && (yyC <= '\u30fa')) ||
('\u30ff' == yyC) ||
(('\u3105' <= yyC) && (yyC <= '\u312d')) ||
(('\u3131' <= yyC) && (yyC <= '\u318e')) ||
(('\u31a0' <= yyC) && (yyC <= '\u31b7')) ||
(('\u31f0' <= yyC) && (yyC <= '\u31ff')) ||
('\u3400' == yyC) ||
('\u4db5' == yyC) ||
('\u4e00' == yyC) ||
('\u9fc3' == yyC) ||
(('\ua000' <= yyC) && (yyC <= '\ua60b')) ||
(('\ua610' <= yyC) && (yyC <= '\ua873')) ||
(('\ua882' <= yyC) && (yyC <= '\ua8b3')) ||
(('\ua90a' <= yyC) && (yyC <= '\ua925')) ||
(('\ua930' <= yyC) && (yyC <= '\ua946')) ||
(('\uaa00' <= yyC) && (yyC <= '\uaa4b')) ||
('\uac00' == yyC) ||
('\ud7a3' == yyC) ||
(('\uf900' <= yyC) && (yyC <= '\ufa2d')) ||
(('\ufa30' <= yyC) && (yyC <= '\ufa6a')) ||
(('\ufa70' <= yyC) && (yyC <= '\ufb28')) ||
(('\ufb2a' <= yyC) && (yyC <= '\ufb3e')) ||
(('\ufb40' <= yyC) && (yyC <= '\ufb41')) ||
(('\ufb43' <= yyC) && (yyC <= '\ufb44')) ||
(('\ufb46' <= yyC) && (yyC <= '\ufbb1')) ||
(('\ufbd3' <= yyC) && (yyC <= '\ufd3d')) ||
(('\ufd50' <= yyC) && (yyC <= '\ufd8f')) ||
(('\ufd92' <= yyC) && (yyC <= '\ufdc7')) ||
(('\ufdf0' <= yyC) && (yyC <= '\ufdfb')) ||
(('\ufe70' <= yyC) && (yyC <= '\ufe74')) ||
(('\ufe76' <= yyC) && (yyC <= '\ufefc')) ||
(('\uff66' <= yyC) && (yyC <= '\uff6f')) ||
(('\uff71' <= yyC) && (yyC <= '\uff9d')) ||
(('\uffa0' <= yyC) && (yyC <= '\uffbe')) ||
(('\uffc2' <= yyC) && (yyC <= '\uffc7')) ||
(('\uffca' <= yyC) && (yyC <= '\uffcf')) ||
(('\uffd2' <= yyC) && (yyC <= '\uffd7')) ||
(('\uffda' <= yyC) && (yyC <= '\uffdc'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 9.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\ud800':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc00' <= yyC) && (yyC <= '\udc3a')) ||
(('\udc3c' <= yyC) && (yyC <= '\udc3d')) ||
(('\udc3f' <= yyC) && (yyC <= '\udc4d')) ||
(('\udc50' <= yyC) && (yyC <= '\udc5d')) ||
(('\udc80' <= yyC) && (yyC <= '\udcfa')) ||
(('\ude80' <= yyC) && (yyC <= '\ude9c')) ||
(('\udea0' <= yyC) && (yyC <= '\uded0')) ||
(('\udf00' <= yyC) && (yyC <= '\udf1e')) ||
(('\udf30' <= yyC) && (yyC <= '\udf40')) ||
(('\udf42' <= yyC) && (yyC <= '\udf49')) ||
(('\udf80' <= yyC) && (yyC <= '\udf9d')) ||
(('\udfa0' <= yyC) && (yyC <= '\udfc3')) ||
(('\udfc8' <= yyC) && (yyC <= '\udfff'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud801':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc00' <= yyC) && (yyC <= '\udc9d')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud802':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc00' <= yyC) && (yyC <= '\udc05')) ||
('\udc08' == yyC) ||
(('\udc0a' <= yyC) && (yyC <= '\udc38')) ||
('\udc3c' == yyC) ||
('\udc3f' == yyC) ||
(('\udd00' <= yyC) && (yyC <= '\udd15')) ||
(('\udd20' <= yyC) && (yyC <= '\udd39')) ||
(('\ude00' <= yyC) && (yyC <= '\ude13')) ||
(('\ude15' <= yyC) && (yyC <= '\ude17')) ||
(('\ude19' <= yyC) && (yyC <= '\ude33'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud808':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc00' <= yyC) && (yyC <= '\udf6e')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud840':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('\udc00' == yyC) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud869':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('\uded6' == yyC) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud87e':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('D' == yyC) ||
(('\u2de1' <= yyC) && (yyC <= '\udc00'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
default:
/* No match. */
}
}
// Nested alternative 10.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ((('\u16ee' <= yyC) && (yyC <= '\u16f0')) ||
(('\u2160' <= yyC) && (yyC <= '\u2182')) ||
(('\u2185' <= yyC) && (yyC <= '\u2188')) ||
('\u3007' == yyC) ||
(('\u3021' <= yyC) && (yyC <= '\u3029')) ||
(('\u3038' <= yyC) && (yyC <= '\u303a'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
// Nested alternative 11.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '\ud800':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udd40' <= yyC) && (yyC <= '\udd74')) ||
('\udf41' == yyC) ||
('\udf4a' == yyC) ||
(('\udfd1' <= yyC) && (yyC <= '\udfd5'))) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '\ud809':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc00' <= yyC) && (yyC <= '\udc62')) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
}
}
break;
case '$':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '_':
{
yyPredMatched = false;
yyRepetition2 = yyIndex;
yyRepeated2 = false;
while (true) {
yyPredResult = popchar(yyRepetition2);
if (yyPredResult.hasValue()) {
yyRepetition2 = yyPredResult.index;
yyRepeated2 = true;
continue;
}
break;
}
if (yyRepeated2) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
} else {
yyError = yyError.select("idrest expected", yyStart);
}
}
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyOption1 = yyRepetition1;
yyC = character(yyOption1);
if ('_' == yyC) {
yyIndex = yyOption1 + 1;
yyResult = popIdentifier(yyIndex);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
}
yyValue = null;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyC = character(yyStart);
if ('_' == yyC) {
yyIndex = yyStart + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyResult = popchar(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
yyError = yyError.select("idrest expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Identifier.opchar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result popchar(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '!':
case '#':
case '%':
case '&':
case '*':
case '+':
case '-':
case '/':
case ':':
case '<':
case '=':
case '>':
case '?':
case '@':
case '\\':
case '^':
case '`':
case '|':
case '~':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Alternative 2.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if (('+' == yyC) ||
(('<' <= yyC) && (yyC <= '>')) ||
('|' == yyC) ||
('~' == yyC) ||
('\u00ac' == yyC) ||
('\u00b1' == yyC) ||
('\u00d7' == yyC) ||
('\u00f7' == yyC) ||
('\u03f6' == yyC) ||
(('\u0606' <= yyC) && (yyC <= '\u0608')) ||
('\u2044' == yyC) ||
('\u2052' == yyC) ||
(('\u207a' <= yyC) && (yyC <= '\u207c')) ||
(('\u208a' <= yyC) && (yyC <= '\u208c')) ||
(('\u2140' <= yyC) && (yyC <= '\u2144')) ||
('\u214b' == yyC) ||
(('\u2190' <= yyC) && (yyC <= '\u2194')) ||
(('\u219a' <= yyC) && (yyC <= '\u219b')) ||
('\u21a0' == yyC) ||
('\u21a3' == yyC) ||
('\u21a6' == yyC) ||
('\u21ae' == yyC) ||
(('\u21ce' <= yyC) && (yyC <= '\u21cf')) ||
('\u21d2' == yyC) ||
('\u21d4' == yyC) ||
(('\u21f4' <= yyC) && (yyC <= '\u22ff')) ||
(('\u2308' <= yyC) && (yyC <= '\u230b')) ||
(('\u2320' <= yyC) && (yyC <= '\u2321')) ||
('\u237c' == yyC) ||
(('\u239b' <= yyC) && (yyC <= '\u23b3')) ||
(('\u23dc' <= yyC) && (yyC <= '\u23e1')) ||
('\u25b7' == yyC) ||
('\u25c1' == yyC) ||
(('\u25f8' <= yyC) && (yyC <= '\u25ff')) ||
('\u266f' == yyC) ||
(('\u27c0' <= yyC) && (yyC <= '\u27ca')) ||
('\u27cc' == yyC) ||
(('\u27d0' <= yyC) && (yyC <= '\u27e5')) ||
(('\u27f0' <= yyC) && (yyC <= '\u27ff')) ||
(('\u2900' <= yyC) && (yyC <= '\u2982')) ||
('\u2999' == yyC) ||
(('\u29c6' <= yyC) && (yyC <= '\u29d7')) ||
(('\u29dc' <= yyC) && (yyC <= '\u29fb')) ||
(('\u29fe' <= yyC) && (yyC <= '\u2aff')) ||
(('\u2b30' <= yyC) && (yyC <= '\u2b44')) ||
(('\u2b47' <= yyC) && (yyC <= '\u2b4c')) ||
('\ufb29' == yyC) ||
('\ufe62' == yyC) ||
(('\ufe64' <= yyC) && (yyC <= '\ufe66')) ||
('\uff0b' == yyC) ||
(('\uff1c' <= yyC) && (yyC <= '\uff1e')) ||
('\uff5c' == yyC) ||
('\uff5e' == yyC) ||
('\uffe2' == yyC) ||
(('\uffe9' <= yyC) && (yyC <= '\uffec'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 3.
yyC = character(yyStart);
if ('\ud835' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '\udec1':
case '\udedb':
case '\udefb':
case '\udf15':
case '\udf35':
case '\udf4f':
case '\udf6f':
case '\udf89':
case '\udfa9':
case '\udfc3':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
// Alternative 4.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
if ((('\u00a6' <= yyC) && (yyC <= '\u00a7')) ||
('\u00a9' == yyC) ||
('\u00ae' == yyC) ||
('\u00b0' == yyC) ||
('\u00b6' == yyC) ||
('\u0482' == yyC) ||
(('\u060e' <= yyC) && (yyC <= '\u060f')) ||
('\u06e9' == yyC) ||
(('\u06fd' <= yyC) && (yyC <= '\u06fe')) ||
('\u07f6' == yyC) ||
('\u09fa' == yyC) ||
('\u0b70' == yyC) ||
(('\u0bf3' <= yyC) && (yyC <= '\u0bf8')) ||
('\u0bfa' == yyC) ||
('\u0c7f' == yyC) ||
(('\u0cf1' <= yyC) && (yyC <= '\u0cf2')) ||
('\u0d79' == yyC) ||
(('\u0f01' <= yyC) && (yyC <= '\u0f03')) ||
(('\u0f13' <= yyC) && (yyC <= '\u0f17')) ||
(('\u0f1a' <= yyC) && (yyC <= '\u0f1f')) ||
('\u0f34' == yyC) ||
('\u0f36' == yyC) ||
('\u0f38' == yyC) ||
(('\u0fbe' <= yyC) && (yyC <= '\u0fcf')) ||
(('\u109e' <= yyC) && (yyC <= '\u109f')) ||
('\u1360' == yyC) ||
(('\u1390' <= yyC) && (yyC <= '\u1399')) ||
('\u1940' == yyC) ||
(('\u19e0' <= yyC) && (yyC <= '\u19ff')) ||
(('\u1b61' <= yyC) && (yyC <= '\u1b6a')) ||
(('\u1b74' <= yyC) && (yyC <= '\u1b7c')) ||
(('\u2100' <= yyC) && (yyC <= '\u2106')) ||
(('\u2108' <= yyC) && (yyC <= '\u2109')) ||
('\u2114' == yyC) ||
(('\u2116' <= yyC) && (yyC <= '\u2118')) ||
(('\u211e' <= yyC) && (yyC <= '\u2123')) ||
('\u2125' == yyC) ||
('\u2127' == yyC) ||
('\u2129' == yyC) ||
('\u212e' == yyC) ||
(('\u213a' <= yyC) && (yyC <= '\u213b')) ||
('\u214a' == yyC) ||
(('\u214c' <= yyC) && (yyC <= '\u214d')) ||
('\u214f' == yyC) ||
(('\u2195' <= yyC) && (yyC <= '\u2199')) ||
(('\u219c' <= yyC) && (yyC <= '\u219f')) ||
(('\u21a1' <= yyC) && (yyC <= '\u21a2')) ||
(('\u21a4' <= yyC) && (yyC <= '\u21a5')) ||
(('\u21a7' <= yyC) && (yyC <= '\u21ad')) ||
(('\u21af' <= yyC) && (yyC <= '\u21cd')) ||
(('\u21d0' <= yyC) && (yyC <= '\u21d1')) ||
('\u21d3' == yyC) ||
(('\u21d5' <= yyC) && (yyC <= '\u21f3')) ||
(('\u2300' <= yyC) && (yyC <= '\u2307')) ||
(('\u230c' <= yyC) && (yyC <= '\u231f')) ||
(('\u2322' <= yyC) && (yyC <= '\u2328')) ||
(('\u232b' <= yyC) && (yyC <= '\u237b')) ||
(('\u237d' <= yyC) && (yyC <= '\u239a')) ||
(('\u23b4' <= yyC) && (yyC <= '\u23db')) ||
(('\u23e2' <= yyC) && (yyC <= '\u23e7')) ||
(('\u2400' <= yyC) && (yyC <= '\u2426')) ||
(('\u2440' <= yyC) && (yyC <= '\u244a')) ||
(('\u249c' <= yyC) && (yyC <= '\u24e9')) ||
(('\u2500' <= yyC) && (yyC <= '\u25b6')) ||
(('\u25b8' <= yyC) && (yyC <= '\u25c0')) ||
(('\u25c2' <= yyC) && (yyC <= '\u25f7')) ||
(('\u2600' <= yyC) && (yyC <= '\u26bc')) ||
(('\u26c0' <= yyC) && (yyC <= '\u26c3')) ||
(('\u2701' <= yyC) && (yyC <= '\u2704')) ||
(('\u2706' <= yyC) && (yyC <= '\u2709')) ||
(('\u270c' <= yyC) && (yyC <= '\u2727')) ||
(('\u2729' <= yyC) && (yyC <= '\u274b')) ||
('\u274d' == yyC) ||
(('\u274f' <= yyC) && (yyC <= '\u2752')) ||
('\u2756' == yyC) ||
(('\u2758' <= yyC) && (yyC <= '\u275e')) ||
(('\u2761' <= yyC) && (yyC <= '\u2767')) ||
('\u2794' == yyC) ||
(('\u2798' <= yyC) && (yyC <= '\u27af')) ||
(('\u27b1' <= yyC) && (yyC <= '\u27be')) ||
(('\u2800' <= yyC) && (yyC <= '\u2b2f')) ||
(('\u2b45' <= yyC) && (yyC <= '\u2b46')) ||
(('\u2b50' <= yyC) && (yyC <= '\u2b54')) ||
(('\u2ce5' <= yyC) && (yyC <= '\u2cea')) ||
(('\u2e80' <= yyC) && (yyC <= '\u2e99')) ||
(('\u2e9b' <= yyC) && (yyC <= '\u2ef3')) ||
(('\u2f00' <= yyC) && (yyC <= '\u2fd5')) ||
(('\u2ff0' <= yyC) && (yyC <= '\u2ffb')) ||
('\u3004' == yyC) ||
(('\u3012' <= yyC) && (yyC <= '\u3013')) ||
('\u3020' == yyC) ||
(('\u3036' <= yyC) && (yyC <= '\u3037')) ||
(('\u303e' <= yyC) && (yyC <= '\u303f')) ||
(('\u3190' <= yyC) && (yyC <= '\u3191')) ||
(('\u3196' <= yyC) && (yyC <= '\u31e3')) ||
(('\u3200' <= yyC) && (yyC <= '\u321e')) ||
(('\u322a' <= yyC) && (yyC <= '\u3243')) ||
('\u3250' == yyC) ||
(('\u3260' <= yyC) && (yyC <= '\u327f')) ||
(('\u328a' <= yyC) && (yyC <= '\u32b0')) ||
(('\u32c0' <= yyC) && (yyC <= '\u32fe')) ||
(('\u3300' <= yyC) && (yyC <= '\ua4c6')) ||
(('\ua828' <= yyC) && (yyC <= '\ua82b')) ||
('\ufdfd' == yyC) ||
('\uffe4' == yyC) ||
('\uffe8' == yyC) ||
(('\uffed' <= yyC) && (yyC <= '\uffee')) ||
(('\ufffc' <= yyC) && (yyC <= '\ufffd'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Alternative 5.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '\ud800':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udd02' == yyC) ||
(('\udd37' <= yyC) && (yyC <= '\udd3f')) ||
(('\udd79' <= yyC) && (yyC <= '\udd9b')) ||
(('\uddd0' <= yyC) && (yyC <= '\uddfc'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '\ud834':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ((('\udc00' <= yyC) && (yyC <= '\udcf5')) ||
(('\udd00' <= yyC) && (yyC <= '\udd6c')) ||
(('\udd83' <= yyC) && (yyC <= '\udd84')) ||
(('\udd8c' <= yyC) && (yyC <= '\udda9')) ||
(('\uddae' <= yyC) && (yyC <= '\ude41')) ||
('\ude45' == yyC) ||
(('\udf00' <= yyC) && (yyC <= '\udf56'))) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '\ud83c':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (('\udc00' <= yyC) && (yyC <= '\udc93')) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("opchar expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Keyword.ThisKey.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pThisKey(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fThisKey)
yyColumn.chunk6.fThisKey = pThisKey$1(yyStart);
return yyColumn.chunk6.fThisKey;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Keyword.ThisKey. */
private Result pThisKey$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("this")) {
String v$g$1 = "this";
yyValue = GNode.create("ThisKey", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("this key expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Keyword.SuperKey.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSuperKey(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("super")) {
String v$g$1 = "super";
yyValue = GNode.create("SuperKey", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("super key expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Keyword.WildKey.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pWildKey(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fWildKey)
yyColumn.chunk7.fWildKey = pWildKey$1(yyStart);
return yyColumn.chunk7.fWildKey;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Keyword.WildKey. */
private Result pWildKey$1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pkey(yyStart);
if (yyResult.hasValue("_")) {
String v$g$1 = "_";
yyValue = GNode.create("WildKey", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
yyError = yyError.select("wild key expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Keyword.key.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pkey(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fkey) yyColumn.chunk7.fkey = pkey$1(yyStart);
return yyColumn.chunk7.fkey;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Keyword.key. */
private Result pkey$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP_N(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("catch")) {
yyValue = "catch";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'catch' expected", yyBase);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("else")) {
yyValue = "else";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'else' expected", yyBase);
}
// Nested alternative 3.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("extends")) {
yyValue = "extends";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'extends' expected", yyBase);
}
// Nested alternative 4.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("finally")) {
yyValue = "finally";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'finally' expected", yyBase);
}
// Nested alternative 5.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("forSome")) {
yyValue = "forSome";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'forSome' expected", yyBase);
}
// Nested alternative 6.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("match")) {
yyValue = "match";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'match' expected", yyBase);
}
// Nested alternative 7.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("requires")) {
yyValue = "requires";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'requires' expected", yyBase);
}
// Nested alternative 8.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("with")) {
yyValue = "with";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'with' expected", yyBase);
}
// Nested alternative 9.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("yield")) {
yyValue = "yield";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'yield' expected", yyBase);
}
// Nested alternative 10.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("=>")) {
yyValue = "=>";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=>' expected", yyBase);
}
// Nested alternative 11.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("\u21d2")) {
yyValue = "\u21d2";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'\\u21d2' expected", yyBase);
}
// Nested alternative 12.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("<-")) {
yyValue = "<-";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'<-' expected", yyBase);
}
// Nested alternative 13.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("\u2190")) {
yyValue = "\u2190";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'\\u2190' expected", yyBase);
}
// Nested alternative 14.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("<:")) {
yyValue = "<:";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'<:' expected", yyBase);
}
// Nested alternative 15.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("<%")) {
yyValue = "<%";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'<%' expected", yyBase);
}
// Nested alternative 16.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue(">:")) {
yyValue = ">:";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'>:' expected", yyBase);
}
// Nested alternative 17.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("#")) {
yyValue = "#";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'#' expected", yyBase);
}
// Nested alternative 18.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("=")) {
yyValue = "=";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'=' expected", yyBase);
}
// Nested alternative 19.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue(":")) {
yyValue = ":";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("':' expected", yyBase);
}
}
// Alternative 2.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("this")) {
yyValue = "this";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'this' expected", yyBase);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("null")) {
yyValue = "null";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'null' expected", yyBase);
}
// Nested alternative 3.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("true")) {
yyValue = "true";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'true' expected", yyBase);
}
// Nested alternative 4.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("false")) {
yyValue = "false";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'false' expected", yyBase);
}
// Nested alternative 5.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("return")) {
yyValue = "return";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'return' expected", yyBase);
}
// Nested alternative 6.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("type")) {
yyValue = "type";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'type' expected", yyBase);
}
// Nested alternative 7.
yyBase = yyChoice1;
yyResult = pkeyword(yyBase);
if (yyResult.hasValue("_")) {
yyValue = "_";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'_' expected", yyBase);
}
// Nested alternative 8.
yyResult = pkeyword(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Keyword.keyword.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pkeyword(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fkeyword)
yyColumn.chunk7.fkeyword = pkeyword$1(yyStart);
return yyColumn.chunk7.fkeyword;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Keyword.keyword. */
private Result pkeyword$1(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyPredResult;
boolean yyPredMatched;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyC = character(yyStart);
if ('\'' == yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
final int yyChoice1 = yyStart;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case 'a':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('b' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "abstract";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
break;
case 'c':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'a':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 's':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "case";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
case 't':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('h' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "catch";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'l':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "class";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'd':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'e':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('f' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "def";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
case 'o':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "do";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'e':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'l':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "else";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
case 'x':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('n' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('d' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "extends";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'f':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'a':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "false";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
case 'i':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('n' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyPredMatched = false;
yyPredResult = pidrest(yyChoice2);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "final";
return new SemanticValue(yyValue, yyChoice2, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('y' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "finally";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
break;
case 'o':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyPredMatched = false;
yyPredResult = pidrest(yyChoice2);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "for";
return new SemanticValue(yyValue, yyChoice2, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
// Nested alternative 2.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('S' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('o' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('m' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "forSome";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'i':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'f':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "if";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case 'm':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('p' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'l':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "implicit";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case 'o':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "import";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'l':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('z' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('y' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "lazy";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
case 'm':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('h' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "match";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case 'n':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'e':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('w' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "new";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
case 'u':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "null";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'o':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'b':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('j' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "object";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case 'v':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('d' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "override";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'p':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'a':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('k' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('g' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "package";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
break;
case 'r':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'i':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('v' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "private";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case 'o':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('c' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('d' == yyC) {
yyPredMatched = false;
yyPredResult =
pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "protected";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'r':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'q':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('u' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "requires";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
}
}
break;
case 't':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('u' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('n' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "return";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
}
}
break;
case 's':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'e':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('d' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "sealed";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case 'u':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('p' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('r' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "super";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 't':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'h':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'i':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('s' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "this";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
case 'r':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('o' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('w' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "throw";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'r':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'a':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "trait";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
case 'y':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "try";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case 'u':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "true";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'y':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('p' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "type";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'v':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('a' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'l':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "val";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case 'r':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "var";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
default:
/* No match. */
}
}
}
}
}
break;
case 'w':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case 'h':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "while";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
break;
case 'i':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('t' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('h' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "with";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
break;
default:
/* No match. */
}
}
}
break;
case 'y':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('i' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('e' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('l' == yyC) {
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('d' == yyC) {
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "yield";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
}
}
}
}
}
}
break;
case '_':
{
yyPredMatched = false;
yyPredResult = pidrest(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "_";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '=':
{
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('>' == yyC) {
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "=>";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
// Nested alternative 2.
yyPredMatched = false;
yyPredResult = popchar(yyChoice2);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "=";
return new SemanticValue(yyValue, yyChoice2, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '\u21d2':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "\u21d2";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '<':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
switch (yyC) {
case '-':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "<-";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case ':':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "<:";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '%':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "<%";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
default:
/* No match. */
}
}
}
break;
case '\u2190':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "\u2190";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '>':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if (':' == yyC) {
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = ">:";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
}
}
break;
case ':':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = ":";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '#':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "#";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
case '@':
{
yyPredMatched = false;
yyPredResult = popchar(yyIndex);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = "@";
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("keyword expected", yyStart);
}
}
break;
default:
/* No match. */
}
}
} else {
yyError = yyError.select("keyword expected", yyStart);
}
// Done.
yyError = yyError.select("keyword expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.IntegerLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pIntegerLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pintegerLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("IntegerLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.integerLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pintegerLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = phexNumeral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'L':
case 'l':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = poctalNumeral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'L':
case 'l':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 3.
yyResult = pdecimalNumeral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'L':
case 'l':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
yyError = yyError.select("integer literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.FloatingPointLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pFloatingPointLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfloatingPointLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("FloatingPointLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.floatingPointLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pfloatingPointLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyC = character(yyRepetition1);
if ('.' == yyC) {
yyIndex = yyRepetition1 + 1;
yyRepetition1 = yyIndex;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
continue;
}
default:
/* No match. */
}
}
break;
}
yyOption1 = yyRepetition1;
yyResult = pexponent(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'D':
case 'F':
case 'd':
case 'f':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Alternative 2.
yyC = character(yyStart);
if ('.' == yyC) {
yyIndex = yyStart + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyOption1 = yyRepetition1;
yyResult = pexponent(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'D':
case 'F':
case 'd':
case 'f':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Alternative 3.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyResult = pexponent(yyChoice1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'D':
case 'F':
case 'd':
case 'f':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Nested alternative 2.
yyOption1 = yyChoice1;
yyResult = pexponent(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case 'D':
case 'F':
case 'd':
case 'f':
{
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
}
// Done.
yyError = yyError.select("floating point literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Literal.exponent.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pexponent(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
boolean yyRepeated1;
int yyOption1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case 'E':
case 'e':
{
yyOption1 = yyIndex;
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
switch (yyC) {
case '+':
case '-':
{
yyOption1 = yyIndex;
}
break;
default:
/* No match. */
}
}
yyRepetition1 = yyOption1;
yyRepeated1 = false;
while (true) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
switch (yyC) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
break;
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("exponent expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.CharacterLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCharacterLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pcharacterLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("CharacterLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.characterLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pcharacterLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('\'' == yyC) {
yyIndex = yyStart + 1;
yyOption1 = yyIndex;
yyResult = pcharacterChar(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyC = character(yyOption1);
if ('\'' == yyC) {
yyIndex = yyOption1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("character literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.StringLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pStringLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstringLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("StringLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.stringLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstringLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('\"' == yyC) {
yyIndex = yyStart + 1;
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice1);
if ('\"' == yyC) {
yyIndex = yyChoice1 + 1;
yyC = character(yyIndex);
if ('\"' == yyC) {
yyIndex = yyIndex + 1;
yyRepetition1 = yyIndex;
while (true) {
yyResult = pmultiLineChar(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyC = character(yyRepetition1);
if ('\"' == yyC) {
yyIndex = yyRepetition1 + 1;
yyC = character(yyIndex);
if ('\"' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('\"' == yyC) {
yyIndex = yyIndex + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
}
}
// Nested alternative 2.
yyRepetition1 = yyChoice1;
while (true) {
yyResult = pstringChar(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
continue;
}
break;
}
yyC = character(yyRepetition1);
if ('\"' == yyC) {
yyIndex = yyRepetition1 + 1;
yyValue = difference(yyStart, yyIndex);
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("string literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.multiLineChar.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmultiLineChar(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyOption1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyC = character(yyOption1);
if ('\"' == yyC) {
yyIndex = yyOption1 + 1;
yyOption1 = yyIndex;
}
yyC = character(yyOption1);
if ('\"' == yyC) {
yyIndex = yyOption1 + 1;
yyOption1 = yyIndex;
}
yyC = character(yyOption1);
if (-1 != yyC) {
yyIndex = yyOption1 + 1;
if ('\"' != yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("multi line char expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.SymbolLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSymbolLiteral(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psymbolLiteral(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("SymbolLiteral", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Literal.symbolLiteral.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psymbolLiteral(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
int yyOption1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('\'' == yyC) {
yyIndex = yyStart + 1;
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyRepetition1 = yyChoice1;
yyRepeated1 = false;
while (true) {
yyResult = popchar(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Nested alternative 2.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('a' <= yyC) && (yyC <= 'z')) {
yyOption1 = yyIndex;
yyResult = pidrest(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Nested alternative 3.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if (('A' <= yyC) && (yyC <= 'Z')) {
yyOption1 = yyIndex;
yyResult = pidrest(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Nested alternative 4.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '$':
case '_':
{
yyOption1 = yyIndex;
yyResult = pidrest(yyOption1);
yyError = yyResult.select(yyError, yyOption1);
if (yyResult.hasValue()) {
yyOption1 = yyResult.index;
}
yyValue = difference(yyStart, yyOption1);
return new SemanticValue(yyValue, yyOption1, yyError);
}
default:
/* No match. */
}
}
}
// Done.
yyError = yyError.select("symbol literal expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.DocComment.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDocComment(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pDocCommentStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pDocComment$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyResult = pDocCommentEnd(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("DocComment", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.DocComment$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDocComment$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pDocComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pBlockComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pCommentTag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pDocCommentData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pNl(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.DocCommentStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDocCommentStart(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('/' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('*' == yyC) {
yyIndex = yyIndex + 1;
yyC = character(yyIndex);
if ('*' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "/**";
yyValue = GNode.create("DocCommentStart", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
// Done.
yyError = yyError.select("doc comment start expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.DocCommentEnd.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDocCommentEnd(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('*' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('/' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "*/";
yyValue = GNode.create("DocCommentEnd", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("doc comment end expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.DocCommentData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pDocCommentData(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pblockedCommentData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("DocCommentData", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.BlockComment.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockComment(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair<Node> yyRepValue1;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBlockCommentStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.empty();
while (true) {
yyResult = pBlockComment$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError, yyRepetition1);
if (yyResult.hasValue()) {
Node v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair<Node>(v$el$1, yyRepValue1);
continue;
}
break;
}
{ // Start scope for v$g$2.
Pair<Node> v$g$2 = yyRepValue1.reverse();
yyResult = pBlockCommentEnd(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Node v$g$3 = yyResult.semanticValue();
yyValue = GNode.create("BlockComment", v$g$1, v$g$2, v$g$3);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
} // End scope for v$g$2.
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.BlockComment$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockComment$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pDocComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pBlockComment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pCommentTag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pBlockCommentData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pNl(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.BlockCommentStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockCommentStart(final int yyStart) throws IOException {
int yyC;
int yyIndex;
boolean yyPredMatched;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('/' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('*' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "/*";
yyPredMatched = false;
yyC = character(yyIndex);
if ('*' == yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = GNode.create("BlockCommentStart", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
} else {
yyError = yyError.select("block comment start expected", yyStart);
}
}
}
// Done.
yyError = yyError.select("block comment start expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.BlockCommentEnd.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockCommentEnd(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('*' == yyC) {
yyIndex = yyStart + 1;
yyC = character(yyIndex);
if ('/' == yyC) {
yyIndex = yyIndex + 1;
String v$g$1 = "*/";
yyValue = GNode.create("BlockCommentEnd", v$g$1);
yyValue.setLocation(location(yyStart));
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Done.
yyError = yyError.select("block comment end expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.BlockCommentData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pBlockCommentData(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pblockedCommentData(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("BlockCommentData", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.blockedCommentData.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pblockedCommentData(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyPredResult;
boolean yyPredMatched;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
yyPredMatched = false;
yyPredResult = pblockedCommentData$$Choice1(yyRepetition1);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyC = character(yyRepetition1);
if (-1 != yyC) {
yyIndex = yyRepetition1 + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
} else {
yyError = yyError.select("blocked comment data expected", yyStart);
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
yyError = yyError.select("blocked comment data expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal
* org.netbeans.modules.scala.core.rats.ParserScala.blockedCommentData$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pblockedCommentData$$Choice1(final int yyStart)
throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '@':
{
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyResult = pletter(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
break;
case '*':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('/' == yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '/':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('*' == yyC) {
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
}
break;
case '\n':
case '\r':
{
yyValue = null;
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("blocked comment data expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.CommentTag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pCommentTag(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pcommentTag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("CommentTag", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.commentTag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pcommentTag(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if ('@' == yyC) {
yyIndex = yyStart + 1;
yyRepetition1 = yyIndex;
yyRepeated1 = false;
while (true) {
yyResult = pletter(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
continue;
}
break;
}
if (yyRepeated1) {
yyValue = difference(yyStart, yyRepetition1);
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
yyError = yyError.select("comment tag expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.N.
*
* @param yyStart The index.
* @return The result.
* @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;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.Spacing.SKIP_TILL_N.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSKIP_TILL_N(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
int yyBase;
int yyRepetition1;
int yyRepetition2;
boolean yyRepeated2;
int yyRepetition3;
boolean yyRepeated3;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
while (true) {
yyRepetition2 = yyRepetition1;
while (true) {
final int yyChoice1 = yyRepetition2;
// Nested alternative 1.
yyRepetition3 = yyChoice1;
yyRepeated3 = false;
while (true) {
final int yyChoice2 = yyRepetition3;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
switch (yyC) {
case ' ':
{
yyRepetition3 = yyIndex;
yyRepeated3 = true;
continue;
}
case '\f':
{
yyRepetition3 = yyIndex;
yyRepeated3 = true;
continue;
}
case '\t':
{
yyRepetition3 = yyIndex;
yyRepeated3 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated3) {
yyRepetition2 = yyRepetition3;
continue;
}
// Nested alternative 2.
yyResult = pDocComment(yyChoice1);
yyError = yyResult.select(yyError, yyRepetition2);
if (yyResult.hasValue()) {
yyRepetition2 = yyResult.index;
continue;
}
// Nested alternative 3.
yyResult = pBlockComment(yyChoice1);
yyError = yyResult.select(yyError, yyRepetition2);
if (yyResult.hasValue()) {
yyRepetition2 = yyResult.index;
continue;
}
// Nested alternative 4.
yyBase = yyChoice1;
yyC = character(yyBase);
if ('/' == yyC) {
yyIndex = yyChoice1 + 1;
yyC = character(yyIndex);
if ('/' == yyC) {
yyIndex = yyIndex + 1;
yyRepetition3 = yyIndex;
while (true) {
yyC = character(yyRepetition3);
if (-1 != yyC) {
yyIndex = yyRepetition3 + 1;
switch (yyC) {
case '\n':
case '\r':
/* No match. */
break;
default:
{
yyRepetition3 = yyIndex;
continue;
}
}
}
break;
}
yyRepetition2 = yyRepetition3;
continue;
} else {
yyError = yyError.select("'//' expected", yyBase);
}
} else {
yyError = yyError.select("'//' expected", yyBase);
}
break;
}
yyRepeated2 = false;
while (true) {
yyResult = pn(yyRepetition2);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyRepetition2 = yyResult.index;
yyRepeated2 = true;
continue;
}
break;
}
if (yyRepeated2) {
yyRepetition1 = yyRepetition2;
continue;
}
break;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.SKIP_N.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSKIP_N(final int yyStart) throws IOException {
int yyC;
int yyIndex;
Result yyResult;
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.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '/':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('/' == yyC) {
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;
}
}
}
break;
case '\r':
{
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('\n' == yyC) {
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyRepetition1 = yyChoice2;
continue;
}
case '\n':
{
yyRepetition1 = yyIndex;
continue;
}
default:
/* No match. */
}
}
break;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.SKIP.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pSKIP(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.
if (yyState.newlineEnable()) {
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;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Alternative 2.
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.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case '/':
{
yyC = character(yyIndex);
if (-1 != yyC) {
yyIndex = yyIndex + 1;
if ('/' == yyC) {
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;
}
}
}
break;
case '\r':
{
final int yyChoice2 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice2);
if (-1 != yyC) {
yyIndex = yyChoice2 + 1;
if ('\n' == yyC) {
yyRepetition1 = yyIndex;
continue;
}
}
// Nested alternative 2.
yyRepetition1 = yyChoice2;
continue;
}
case '\n':
{
yyRepetition1 = yyIndex;
continue;
}
default:
/* No match. */
}
}
break;
}
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.Nl.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pNl(final int yyStart) throws IOException {
Result yyResult;
Node yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pn(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$g$1 = yyResult.semanticValue();
yyValue = GNode.create("Nl", v$g$1);
yyValue.setLocation(location(yyStart));
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.n.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pn(final int yyStart) throws IOException {
int yyC;
int yyIndex;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '\r':
{
final int yyChoice1 = yyIndex;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
if ('\n' == yyC) {
yyValue = "\r\n";
return new SemanticValue(yyValue, yyIndex, yyError);
}
}
// Nested alternative 2.
yyValue = "\r";
return new SemanticValue(yyValue, yyChoice1, yyError);
}
case '\n':
{
yyValue = "\n";
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("n expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.w.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pw(final int yyStart) throws IOException {
int yyC;
int yyIndex;
int yyRepetition1;
boolean yyRepeated1;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
while (true) {
final int yyChoice1 = yyRepetition1;
// Nested alternative 1.
yyC = character(yyChoice1);
if (-1 != yyC) {
yyIndex = yyChoice1 + 1;
switch (yyC) {
case ' ':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '\f':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
case '\t':
{
yyRepetition1 = yyIndex;
yyRepeated1 = true;
continue;
}
default:
/* No match. */
}
}
break;
}
if (yyRepeated1) {
yyValue = null;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
yyError = yyError.select("w expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Spacing.EOF.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEOF(final int yyStart) throws IOException {
int yyC;
boolean yyPredMatched;
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyC = character(yyStart);
if (-1 != yyC) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
} else {
yyError = yyError.select("EOF expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Symbol.sep.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psep(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fsep) yyColumn.chunk7.fsep = psep$1(yyStart);
return yyColumn.chunk7.fsep;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Symbol.sep. */
private Result psep$1(final int yyStart) throws IOException {
Result yyResult;
int yyBase;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSKIP_N(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
final int yyChoice1 = yyResult.index;
// Nested alternative 1.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue(",")) {
yyValue = ",";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("',' expected", yyBase);
}
// Nested alternative 2.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue(".")) {
yyValue = ".";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'.' expected", yyBase);
}
// Nested alternative 3.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue(";")) {
yyValue = ";";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("';' expected", yyBase);
}
// Nested alternative 4.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue("[")) {
yyValue = "[";
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("'[' expected", yyBase);
}
// Nested alternative 5.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue(")")) {
yyValue = ")";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("')' expected", yyBase);
}
// Nested alternative 6.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue("]")) {
yyValue = "]";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("']' expected", yyBase);
}
// Nested alternative 7.
yyBase = yyChoice1;
yyResult = pseparator(yyBase);
if (yyResult.hasValue("}")) {
yyValue = "}";
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("'}' expected", yyBase);
}
}
// Alternative 2.
yyResult = pSKIP(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyResult = pseparator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
yyValue = yyResult.semanticValue();
yyResult = pSKIP_TILL_N(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal org.netbeans.modules.scala.core.rats.Symbol.separator.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pseparator(final int yyStart) throws IOException {
ParserScalaColumn yyColumn = (ParserScalaColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fseparator)
yyColumn.chunk7.fseparator = pseparator$1(yyStart);
return yyColumn.chunk7.fseparator;
}
/** Actually parse org.netbeans.modules.scala.core.rats.Symbol.separator. */
private Result pseparator$1(final int yyStart) throws IOException {
int yyC;
int yyIndex;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyC = character(yyStart);
if (-1 != yyC) {
yyIndex = yyStart + 1;
switch (yyC) {
case '(':
{
yyValue = "(";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case ')':
{
yyValue = ")";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '[':
{
yyValue = "[";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case ']':
{
yyValue = "]";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '{':
{
yyValue = "{";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '}':
{
yyValue = "}";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case ',':
{
yyValue = ",";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case ';':
{
yyValue = ";";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '.':
{
yyValue = ".";
return new SemanticValue(yyValue, yyIndex, yyError);
}
case '|':
{
yyValue = "|";
return new SemanticValue(yyValue, yyIndex, yyError);
}
default:
/* No match. */
}
}
// Done.
yyError = yyError.select("separator expected", yyStart);
return yyError;
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.State.ENTER_NL_ENABLE.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pENTER_NL_ENABLE(final int yyStart) throws IOException {
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyState.enterNewlineEnable();
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.State.EXIT_NL_ENABLE.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEXIT_NL_ENABLE(final int yyStart) throws IOException {
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyState.exitNewlineEnable();
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.State.ENTER_NL_DISABLE.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pENTER_NL_DISABLE(final int yyStart) throws IOException {
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyState.enterNewlineDisable();
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal
* org.netbeans.modules.scala.core.rats.State.EXIT_NL_DISABLE.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pEXIT_NL_DISABLE(final int yyStart) throws IOException {
Void yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyState.exitNewlineDisable();
yyValue = null;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
static {
add(SCALA_KEYWORDS, new String[] {
"abstract",
"case",
"catch",
"class",
"def",
"do",
"else",
"extends",
"false",
"final",
"finally",
"for",
"forSome",
"if",
"implicit",
"import",
"lazy",
"match",
"new",
"null",
"object",
"override",
"package",
"private",
"protected",
"requires",
"return",
"sealed",
"super",
"this",
"throw",
"trait",
"try",
"true",
"type",
"val",
"var",
"while",
"with",
"yield",
"_",
":",
"=",
"=>",
"\u21D2",
"<-",
"\u2190",
"<:",
"<%",
">:",
"#",
"@"
});
}
// =========================================================================
/**
* Get the specified text.
*
* @param s The text.
* @return The text.
*/
protected static final String toText(String s) {
return s;
}
// =========================================================================
/**
* Add the specified values to the specified set.
*
* @param set The set.
* @param values The new values.
*/
protected static final <T> void add(Set<T> set, T[] values) {
for (T v : values) set.add(v);
}
/**
* Check whether the specified set contains the specified value.
*
* @param set The set.
* @param value The value.
* @return <code>true</code> if the set contains the value.
*/
protected static final <T> boolean contains(Set<T> set, T value) {
return set.contains(value);
}
}