// ===========================================================================
// This file has been generated by
// Rats! Parser Generator, Version 1.7.1, (C) 2004-2005 Robert Grimm
// on Monday, August 21, 2006 at 3:15:37 PM.
// Edit at your own risk.
// ===========================================================================
package xtc.lang;
import java.io.Reader;
import java.io.IOException;
import xtc.util.Pair;
import xtc.parser.PackratParser;
import xtc.parser.Column;
import xtc.parser.Result;
import xtc.parser.SemanticValue;
import xtc.parser.ParseError;
import java.io.Reader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringReader;
import java.io.InputStreamReader;
import xtc.util.Pair;
import xtc.tree.GNode;
import xtc.tree.Printer;
import xtc.util.Utilities;
import xtc.tree.Attribute;
import xtc.tree.Printer;
import gnu.getopt.Getopt;
// Numerical data loading.
import java.util.HashMap;
import java.io.StreamTokenizer;
import java.util.Vector;
// These are from VFormat.java
import java.util.ArrayList;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
/**
* Packrat parser for grammar xtc.lang.lojban.
*
*
This class has been generated by the Rats! parser
* generator, version 1.7.1, (C) 2004-2005 Robert Grimm.
*/
public final class lojban extends PackratParser {
// =========================================================================
/** Chunk 1 of memoized results. */
static final class Chunk1 {
Result ftext;
Result ftext$$Star1;
Result ftext1;
Result f$$Shared5;
Result f$$Shared6;
Result ftext1$$Plus1;
Result f$$Shared7;
Result ftext1$$Star3;
Result fparagraphs;
Result fparagraphs$$Plus1;
}
/** Chunk 2 of memoized results. */
static final class Chunk2 {
Result fparagraphs$$Star2;
Result fstatement;
Result fstatement2;
Result f$$Shared9;
Result f$$Shared10;
Result fstatement3;
Result f$$Shared11;
Result f$$Shared12;
Result f$$Shared13;
Result fprenex;
}
/** Chunk 3 of memoized results. */
static final class Chunk3 {
Result f$$Shared14;
Result fsentence;
Result fsentence$$Star1;
Result fsentence$$Star3;
Result fsentenceSa$$Star1;
Result fsentenceStart;
Result fsubsentence;
Result fbridiTail;
Result fbridiTailSa;
Result fbridiTailSa$$Star1;
}
/** Chunk 4 of memoized results. */
static final class Chunk4 {
Result fbridiTailStart;
Result fbridiTail2;
Result fgekSentence;
Result f$$Shared15;
Result ftailTerms;
Result fterms;
Result fterms$$Plus1;
Result fterms1;
Result fterms1$$Star1;
Result fterms1$$Star3;
}
/** Chunk 5 of memoized results. */
static final class Chunk5 {
Result fterms2;
Result fterms2$$Star1;
Result fterms2$$Star3;
Result fterm;
Result fterm$$Star1;
Result fterm1;
Result ftermStart;
Result ftermsGikTerms;
Result fsumti;
Result fsumti3;
}
/** Chunk 6 of memoized results. */
static final class Chunk6 {
Result fsumti4;
Result fsumti6;
Result f$$Shared16;
Result f$$Shared17;
Result f$$Shared18;
Result f$$Shared19;
Result f$$Shared20;
Result f$$Shared21;
Result fsumti6$$Plus1;
Result fsumti6$$Star11;
}
/** Chunk 7 of memoized results. */
static final class Chunk7 {
Result f$$Shared22;
Result f$$Shared23;
Result fsumtiTail1;
Result frelativeClauses;
Result frelativeClauses$$Star2;
Result frelativeClause;
Result frelativeClause$$Star1;
Result frelativeClause1;
Result f$$Shared24;
Result frelativeClauseStart;
}
/** Chunk 8 of memoized results. */
static final class Chunk8 {
Result fselbri;
Result fselbri2;
Result fselbri3;
Result fselbri3$$Plus1;
Result fselbri4;
Result fselbri4$$Star3;
Result fselbri5;
Result fselbri6;
Result ftanruUnit1;
Result ftanruUnit2;
}
/** Chunk 9 of memoized results. */
static final class Chunk9 {
Result f$$Shared25;
Result ftanruUnit2$$Star7;
Result f$$Shared26;
Result ftanruUnit2$$Star11;
Result ftanruUnit2$$Star12;
Result ftanruUnit2$$Star15;
Result ftanruUnit2$$Star16;
Result flinkargs;
Result flinkargs$$Star1;
Result flinkargs1;
}
/** Chunk 10 of memoized results. */
static final class Chunk10 {
Result flinkargsStart;
Result flinks;
Result flinks$$Star1;
Result flinks1;
Result flinksStart;
Result fquantifier;
Result fmex;
Result fmex$$Star1;
Result fmex0;
Result fmex0$$Star1;
}
/** Chunk 11 of memoized results. */
static final class Chunk11 {
Result fmexStart;
Result fmex1;
Result fmex2;
Result frpExpression;
Result frpExpressionTail;
Result foperator;
Result foperator$$Star1;
Result foperator0;
Result foperator0$$Star3;
Result foperatorStart;
}
/** Chunk 12 of memoized results. */
static final class Chunk12 {
Result foperator1;
Result foperator2;
Result fmexOperator;
Result foperand;
Result foperand$$Star1;
Result foperand0;
Result foperandStart;
Result foperand2;
Result foperand3;
Result foperand3$$Star5;
}
/** Chunk 13 of memoized results. */
static final class Chunk13 {
Result foperand3$$Plus1;
Result foperand3$$Star7;
Result foperand3$$Star8;
Result foperand3$$Star9;
Result foperand3$$Star10;
Result fnumber;
Result f$$Shared37;
Result flerfuString;
Result flerfuWord;
Result fek;
}
/** Chunk 14 of memoized results. */
static final class Chunk14 {
Result fgihek;
Result fgihek$$Star1;
Result fgihek1;
Result fjek;
Result fjoik;
Result finterval;
Result fjoikEk;
Result fjoikEk$$Star1;
Result fjoikEk1;
Result fjoikJek;
}
/** Chunk 15 of memoized results. */
static final class Chunk15 {
Result fgek;
Result fguhek;
Result fgik;
Result ftag;
Result f$$Shared28;
Result ftag$$Star1;
Result fstag;
Result fstag$$Star1;
Result fstag$$Star2;
Result ftenseModal;
}
/** Chunk 16 of memoized results. */
static final class Chunk16 {
Result fsimpleTenseModal;
Result f$$Shared29;
Result ftime;
Result ftime$$Star1;
Result f$$Shared30;
Result f$$Shared38;
Result ftime$$Star2;
Result ftime$$Plus1;
Result ftime$$Star3;
Result ftime$$Star4;
}
/** Chunk 17 of memoized results. */
static final class Chunk17 {
Result ftime$$Star5;
Result ftime$$Star6;
Result ftime$$Plus2;
Result ftimeOffset;
Result fspace;
Result fspace$$Star1;
Result f$$Shared31;
Result fspace$$Plus1;
Result fspace$$Star2;
Result fspace$$Star3;
}
/** Chunk 18 of memoized results. */
static final class Chunk18 {
Result fspaceOffset;
Result fspaceInterval;
Result f$$Shared32;
Result f$$Shared33;
Result fspaceIntProps;
Result fspaceIntProps$$Choice1;
Result fspaceIntProps$$Plus1;
Result fintervalProperty;
Result ffree;
Result ffree$$Plus1;
}
/** Chunk 19 of memoized results. */
static final class Chunk19 {
Result fvocative;
Result f$$Shared34;
Result fvocative$$Plus1;
Result fvocative$$Star1;
Result findicators;
Result findicators$$Plus1;
Result findicator;
Result fzeiClauseNoPre;
Result fzeiClauseNoPre$$Star1;
Result fbuClauseNoPre;
}
/** Chunk 20 of memoized results. */
static final class Chunk20 {
Result fbuClauseNoPre$$Star1;
Result fzeiTail;
Result fzeiTail$$Choice1;
Result fzeiTail$$Plus1;
Result fbuTail;
Result fbuTail$$Plus1;
Result fpreZeiBu;
Result fpostClause;
Result fpostClause$$Star1;
Result fpreClause;
}
/** Chunk 21 of memoized results. */
static final class Chunk21 {
Result fanyWordSAHandling;
Result fsuClause;
Result fsuClause$$Star1;
Result fsiClause;
Result fsiClause$$Choice1;
Result fsiClause$$Plus1;
Result ferasableClause;
Result f$$Shared1;
Result fBRIVLAPre;
Result f$$Shared2;
}
/** Chunk 22 of memoized results. */
static final class Chunk22 {
Result fCMENEClause;
Result fCMENEPre;
Result fAPre;
Result fBAIPre;
Result fBAhEPre;
Result fBEClause;
Result fBEPre;
Result fBEIClause;
Result fBEIPre;
Result fBEhOPre;
}
/** Chunk 23 of memoized results. */
static final class Chunk23 {
Result fBIhEPre;
Result fBIhIPre;
Result fBOClause;
Result fBOPre;
Result fBOIClause;
Result fBOIPre;
Result fBUClause;
Result fBUPre;
Result f$$Shared3;
Result fBYPre;
}
/** Chunk 24 of memoized results. */
static final class Chunk24 {
Result fCAhAClause;
Result fCAhAPre;
Result fCAIPre;
Result fCEIPre;
Result fCEhEClause;
Result fCEhEPre;
Result fCOPre;
Result fCOIPre;
Result fCUClause;
Result fCUPre;
}
/** Chunk 25 of memoized results. */
static final class Chunk25 {
Result fCUhEPre;
Result fDAhOPre;
Result fDOIClause;
Result fDOIPre;
Result fDOhUClause;
Result fDOhUPre;
Result fFAClause;
Result fFAPre;
Result fFAhAClause;
Result fFAhAPre;
}
/** Chunk 26 of memoized results. */
static final class Chunk26 {
Result fFAhOClause;
Result fFEhEPre;
Result fFEhUPre;
Result fFIhOPre;
Result fFOIPre;
Result fFUhAClause;
Result fFUhAPre;
Result fFUhEPre;
Result fFUhOPre;
Result fGAPre;
}
/** Chunk 27 of memoized results. */
static final class Chunk27 {
Result fGAhOClause;
Result fGAhOPre;
Result fGEhUPre;
Result fGIClause;
Result fGIPre;
Result fGIhAPre;
Result fGOIClause;
Result fGOIPre;
Result fGOhAPre;
Result fGUhAPre;
}
/** Chunk 28 of memoized results. */
static final class Chunk28 {
Result fIClause;
Result f$$Shared35;
Result fIPre;
Result fJAClause;
Result fJAPre;
Result fJAIPre;
Result fJOhIClause;
Result fJOhIPre;
Result fJOIPre;
Result fKEClause;
}
/** Chunk 29 of memoized results. */
static final class Chunk29 {
Result fKEPre;
Result fKEhEClause;
Result fKEhEPre;
Result fKEIPre;
Result fKIClause;
Result fKIPre;
Result fKOhAPre;
Result fKUClause;
Result fKUPre;
Result fKUhEPre;
}
/** Chunk 30 of memoized results. */
static final class Chunk30 {
Result fKUhOPre;
Result fLAClause;
Result fLAPre;
Result fLAUPre;
Result fLAhEClause;
Result fLAhEPre;
Result fLEClause;
Result fLEPre;
Result fLEhUPre;
Result fLIClause;
}
/** Chunk 31 of memoized results. */
static final class Chunk31 {
Result fLIPre;
Result fLIhUPre;
Result fLOhOPre;
Result fLOhUPre;
Result fLOhUPre$$Star1;
Result fLUClause;
Result fLUPre;
Result fLUhUClause;
Result fLUhUPre;
Result fMAhOClause;
}
/** Chunk 32 of memoized results. */
static final class Chunk32 {
Result fMAhOPre;
Result fMAIPre;
Result fMEClause;
Result fMEPre;
Result fMEhUPre;
Result fMOhEClause;
Result fMOhEPre;
Result fMOhIClause;
Result fMOhIPre;
Result fMOIClause;
}
/** Chunk 33 of memoized results. */
static final class Chunk33 {
Result fMOIPre;
Result fNAClause;
Result fNAPre;
Result fNAIClause;
Result fNAIPre;
Result fNAhEClause;
Result fNAhEPre;
Result fNAhUPre;
Result fNIhEClause;
Result fNIhEPre;
}
/** Chunk 34 of memoized results. */
static final class Chunk34 {
Result fNIhOClause;
Result fNIhOPre;
Result f$$Shared4;
Result f$$Shared4$$Star1;
Result fNOIClause;
Result fNOIPre;
Result fNUClause;
Result fNUPre;
Result fNUhAClause;
Result fNUhAPre;
}
/** Chunk 35 of memoized results. */
static final class Chunk35 {
Result fNUhIClause;
Result fNUhIPre;
Result fNUhUClause;
Result fNUhUPre;
Result fPAClause;
Result fPAPre;
Result fPEhEClause;
Result fPEhEPre;
Result fPEhOClause;
Result fPEhOPre;
}
/** Chunk 36 of memoized results. */
static final class Chunk36 {
Result fPUClause;
Result fPUPre;
Result fRAhOPre;
Result fROIPre;
Result fSAClause;
Result fSAPre;
Result fSEClause;
Result fSEPre;
Result fSEIPre;
Result fSEhUClause;
}
/** Chunk 37 of memoized results. */
static final class Chunk37 {
Result fSEhUPre;
Result fSIClause;
Result fSOIPre;
Result fSUClause;
Result fSUPre;
Result fTAhEPre;
Result fTEhUClause;
Result fTEhUPre;
Result fTEIPre;
Result fTOClause;
}
/** Chunk 38 of memoized results. */
static final class Chunk38 {
Result fTOPre;
Result fTOIPre;
Result fTUhEClause;
Result fTUhEPre;
Result fTUhUPre;
Result fUIPre;
Result fVAClause;
Result fVAPre;
Result fVAUClause;
Result fVAUPre;
}
/** Chunk 39 of memoized results. */
static final class Chunk39 {
Result fVEIClause;
Result fVEIPre;
Result fVEhOClause;
Result fVEhOPre;
Result fVUhUClause;
Result fVUhUPre;
Result fVEhAClause;
Result fVEhAPre;
Result fVIhAClause;
Result fVIhAPre;
}
/** Chunk 40 of memoized results. */
static final class Chunk40 {
Result fVUhOPre;
Result fXIClause;
Result fXIPre;
Result fZAhOPre;
Result fZEhAClause;
Result fZEhAPre;
Result fZEIClause;
Result fZEIPre;
Result fZIClause;
Result fZIPre;
}
/** Chunk 41 of memoized results. */
static final class Chunk41 {
Result fZIhEPre;
Result fZOPre;
Result fZOIPre;
Result fZOIPre$$Star1;
Result fZOhUPre;
Result fanyWord;
Result fspaces;
Result fspaces$$Star1;
Result fanyWordPre;
Result flojbanWordMorph;
}
/** Chunk 42 of memoized results. */
static final class Chunk42 {
Result fcmeneMorph;
Result fcmeneMorph$$Star1;
Result fcmavoMorph;
Result fbrivlaMorph;
Result fbrivlaMorph$$Star1;
Result fbrivlaCoreMorph;
Result finitialRafsiMorph;
Result fanyExtendedRafsiMorph;
Result ffuhivlaMorph;
Result ffuhivlaMorph$$Star1;
}
/** Chunk 43 of memoized results. */
static final class Chunk43 {
Result fstressedExtendedRafsiMorph;
Result fextendedRafsiMorph;
Result ffuhivlaHeadMorph;
Result fbrivlaHeadMorph;
Result fbrivlaHeadMorph$$Star1;
Result frafsiStringMorph;
Result frafsiStringMorph$$Star1;
Result fgismuMorph;
Result fCVVFinalRafsiMorph;
Result fshortFinalRafsiMorph;
}
/** Chunk 44 of memoized results. */
static final class Chunk44 {
Result fstressedYRafsiMorph;
Result fstressedYLessRafsiMorph;
Result fstressedLongRafsiMorph;
Result fstressedCVCRafsiMorph;
Result fstressedCCVRafsiMorph;
Result fyRafsiMorph;
Result fyLessRafsiMorph;
Result fCVCRafsiMorph;
Result fCCVRafsiMorph;
Result frHyphenMorph;
}
/** Chunk 45 of memoized results. */
static final class Chunk45 {
Result ffinalSyllableMorph;
Result fstressedSyllableMorph;
Result fstressedVowelMorph;
Result funstressedSyllableMorph;
Result funstressedVowelMorph;
Result fstressMorph;
Result fstressMorph$$Star1;
Result fstressedMorph;
Result f$$Shared36;
Result fanySyllableMorph;
}
/** Chunk 46 of memoized results. */
static final class Chunk46 {
Result fsyllableMorph;
Result fconsonantalSyllableMorph;
Result fcodaMorph;
Result fonsetMorph;
Result fnucleusMorph;
Result fglideMorph;
Result fdiphthongMorph;
Result fvowelMorph;
Result faMorph;
Result feMorph;
}
/** Chunk 47 of memoized results. */
static final class Chunk47 {
Result fiMorph;
Result foMorph;
Result fuMorph;
Result fyMorph;
Result fclusterMorph;
Result fclusterMorph$$Plus1;
Result finitialPairMorph;
Result finitialMorph;
Result faffricateMorph;
Result fliquidMorph;
}
/** Chunk 48 of memoized results. */
static final class Chunk48 {
Result fconsonantMorph;
Result fsyllabicMorph;
Result fvoicedMorph;
Result funvoicedMorph;
Result flMorph;
Result fmMorph;
Result fnMorph;
Result frMorph;
Result fbMorph;
Result fdMorph;
}
/** Chunk 49 of memoized results. */
static final class Chunk49 {
Result fgMorph;
Result fvMorph;
Result fjMorph;
Result fzMorph;
Result fsMorph;
Result fcMorph;
Result fxMorph;
Result fkMorph;
Result ffMorph;
Result fpMorph;
}
/** Chunk 50 of memoized results. */
static final class Chunk50 {
Result ftMorph;
Result fhMorph;
Result fdigitMorph;
Result fpostWordMorph;
Result fpauseMorph;
Result fEOFMorph;
Result fspacesMorph;
Result finitialSpacesMorph;
Result finitialSpacesMorph$$Choice1;
Result finitialSpacesMorph$$Plus1;
}
/** Chunk 51 of memoized results. */
static final class Chunk51 {
Result fybuMorph;
Result fybuMorph$$Star1;
Result fBUMorph;
Result fYMorph;
Result fYMorph$$Plus1;
}
// =========================================================================
/** Memoization table column. */
static final class lojbanColumn extends Column {
Chunk1 chunk1;
Chunk2 chunk2;
Chunk3 chunk3;
Chunk4 chunk4;
Chunk5 chunk5;
Chunk6 chunk6;
Chunk7 chunk7;
Chunk8 chunk8;
Chunk9 chunk9;
Chunk10 chunk10;
Chunk11 chunk11;
Chunk12 chunk12;
Chunk13 chunk13;
Chunk14 chunk14;
Chunk15 chunk15;
Chunk16 chunk16;
Chunk17 chunk17;
Chunk18 chunk18;
Chunk19 chunk19;
Chunk20 chunk20;
Chunk21 chunk21;
Chunk22 chunk22;
Chunk23 chunk23;
Chunk24 chunk24;
Chunk25 chunk25;
Chunk26 chunk26;
Chunk27 chunk27;
Chunk28 chunk28;
Chunk29 chunk29;
Chunk30 chunk30;
Chunk31 chunk31;
Chunk32 chunk32;
Chunk33 chunk33;
Chunk34 chunk34;
Chunk35 chunk35;
Chunk36 chunk36;
Chunk37 chunk37;
Chunk38 chunk38;
Chunk39 chunk39;
Chunk40 chunk40;
Chunk41 chunk41;
Chunk42 chunk42;
Chunk43 chunk43;
Chunk44 chunk44;
Chunk45 chunk45;
Chunk46 chunk46;
Chunk47 chunk47;
Chunk48 chunk48;
Chunk49 chunk49;
Chunk50 chunk50;
Chunk51 chunk51;
}
// =========================================================================
/**
* Create a new packrat parser.
*
* @param reader The reader.
* @param file The file name.
*/
public lojban(final Reader reader, final String file) {
super(reader, file);
}
/**
* Create a new packrat parser.
*
* @param reader The file reader.
* @param file The file name.
* @param size The file size.
*/
public lojban(final Reader reader, final String file, final int size) {
super(reader, file, size);
}
// =========================================================================
protected Column newColumn() {
return new lojbanColumn();
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.text.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
public Result ptext(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.ftext)
yyColumn.chunk1.ftext = ptext$1(yyStart);
return yyColumn.chunk1.ftext;
}
/** Actually parse xtc.lang.lojban.text. */
private Result ptext$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pintroNull(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String introNullSEP1 = (String)yyResult.semanticValue();
yyResult = ptext$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair NAIClauseSEP2 = (Pair)yyResult.semanticValue();
yyResult = ptextPart2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String textPart2SEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = ptext$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen4 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = ptext1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object text1SEP5 = yyOpValue1;
yyResult = pfahoClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String fahoClauseSEP6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pEOF(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
Object EOFSEP7 = yyOpValue1;
yyValue = makeString( "introNull", introNullSEP1, "public", false ) + makeString( "NAIClause", NAIClauseSEP2, "public", false ) + makeString( "textPart2", textPart2SEP3, "public", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) + makeString( "text1", text1SEP5, "public", false ) + makeString( "fahoClause", fahoClauseSEP6, "public", false ) + makeString( "EOF", EOFSEP7, "public", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.text$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
public Result ptext$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.ftext$$Star1)
yyColumn.chunk1.ftext$$Star1 = ptext$$Star1$1(yyStart);
return yyColumn.chunk1.ftext$$Star1;
}
/** Actually parse xtc.lang.lojban.text$$Star1. */
private Result ptext$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pNAIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = ptext$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.text$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
public Result ptext$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = ptext1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pjoikJek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "joikJek", joikJekSEP1, "public", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("text expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.introNull.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pintroNull(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pspaces(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String spacesSEP1 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = psuClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair suClauseSEP2 = yyRepValue1.reverse();
yyResult = pintroSiClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String introSiClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "suClause", suClauseSEP2, "normal", false ) + makeString( "introSiClause", introSiClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.textPart2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptextPart2(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptextPart2$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$3, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.textPart2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptextPart2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pCMENEClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
if (yyRepeated1) {
Pair CMENEClauseSEP1 = yyRepValue1.reverse();
yyValue = makeString( "CMENEClause", CMENEClauseSEP1, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pindicators(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String indicatorsSEP2 = yyOpValue1;
yyValue = makeString( "indicators", indicatorsSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.introSiClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pintroSiClause(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = psiClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String siClauseSEP1 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pSIClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair SIClauseSEP2 = yyRepValue1.reverse();
yyValue = makeString( "siClause", siClauseSEP1, "whitespace", false ) + makeString( "SIClause", SIClauseSEP2, "whitespace", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.fahoClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pfahoClause(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pfahoClause$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
Object PARSERparen1 = yyOpValue1;
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.fahoClause$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pfahoClause$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFAhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FAhOClauseSEP1 = (String)yyResult.semanticValue();
yyResult = pdotStar(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String dotStarSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "FAhOClause", FAhOClauseSEP1, "whitespace", false ) + makeString( "dotStar", dotStarSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.text1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptext1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.ftext1)
yyColumn.chunk1.ftext1 = ptext1$1(yyStart);
return yyColumn.chunk1.ftext1;
}
/** Actually parse xtc.lang.lojban.text1. */
private Result ptext1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IClauseSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = p$$Shared5(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
Object PARSERparen2 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = ptext1$$Choice2(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen3 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = ptext1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
Object text1SEP5 = yyOpValue1;
yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "text1", text1SEP5, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Alternative 2.
yyResult = ptext1$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair NIhOClauseSEP6 = (Pair)yyResult.semanticValue();
yyResult = p$$Shared7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyResult = ptext1$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair suClauseSEP8 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pparagraphs(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$14 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$14;
}
Object paragraphsSEP9 = yyOpValue1;
yyValue = makeString( "NIhOClause", NIhOClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "suClause", suClauseSEP8, "normal", false ) + makeString( "paragraphs", paragraphsSEP9, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
}
// Alternative 3.
yyResult = pparagraphs(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String paragraphsSEP10 = (String)yyResult.semanticValue();
yyValue = makeString( "paragraphs", paragraphsSEP10, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared5.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.text1$$Choice1, xtc.lang.lojban.statement2$$Choice2,
* xtc.lang.lojban.statement2$$Choice4, xtc.lang.lojban.selbri5$$Choice2,
* xtc.lang.lojban.operator1$$Choice1, and xtc.lang.lojban.stag$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared5(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.f$$Shared5)
yyColumn.chunk1.f$$Shared5 = p$$Shared5$1(yyStart);
return yyColumn.chunk1.f$$Shared5;
}
/** Actually parse xtc.lang.lojban.$$Shared5. */
private Result p$$Shared5$1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String jekSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "jek", jekSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.text1$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptext1$$Choice2(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String stagSEP1 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "stag", stagSEP1, "normal", false ) + makeString( "BOClause", BOClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared6.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.text1$$Star1, xtc.lang.lojban.paragraphs$$Star1,
* xtc.lang.lojban.fragment$$Star2, xtc.lang.lojban.sentence$$Star2,
* xtc.lang.lojban.term1$$Star2, xtc.lang.lojban.relativeClause1$$Star2,
* xtc.lang.lojban.tanruUnit2$$Star2, xtc.lang.lojban.quantifier$$Star2,
* xtc.lang.lojban.operator2$$Star2, xtc.lang.lojban.operand3$$Star2,
* and xtc.lang.lojban.free$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared6(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.f$$Shared6)
yyColumn.chunk1.f$$Shared6 = p$$Shared6$1(yyStart);
return yyColumn.chunk1.f$$Shared6;
}
/** Actually parse xtc.lang.lojban.$$Shared6. */
private Result p$$Shared6$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$4 = (String)yyResult.semanticValue();
yyResult = p$$Shared6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$5 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$4, v$5);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.text1$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptext1$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.ftext1$$Plus1)
yyColumn.chunk1.ftext1$$Plus1 = ptext1$$Plus1$1(yyStart);
return yyColumn.chunk1.ftext1$$Plus1;
}
/** Actually parse xtc.lang.lojban.text1$$Plus1. */
private Result ptext1$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pNIhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$7 = (String)yyResult.semanticValue();
yyResult = ptext1$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$8 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$7, v$8);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pNIhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$9 = (String)yyResult.semanticValue();
yyValue = new Pair(v$9);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared7.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.text1$$Star2 and xtc.lang.lojban.mexOperator$$Star5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared7(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.f$$Shared7)
yyColumn.chunk1.f$$Shared7 = p$$Shared7$1(yyStart);
return yyColumn.chunk1.f$$Shared7;
}
/** Actually parse xtc.lang.lojban.$$Shared7. */
private Result p$$Shared7$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$10 = (String)yyResult.semanticValue();
yyResult = p$$Shared7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$11 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$10, v$11);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.text1$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptext1$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.ftext1$$Star3)
yyColumn.chunk1.ftext1$$Star3 = ptext1$$Star3$1(yyStart);
return yyColumn.chunk1.ftext1$$Star3;
}
/** Actually parse xtc.lang.lojban.text1$$Star3. */
private Result ptext1$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psuClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$12 = (String)yyResult.semanticValue();
yyResult = ptext1$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$13 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$12, v$13);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.paragraphs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraphs(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fparagraphs)
yyColumn.chunk1.fparagraphs = pparagraphs$1(yyStart);
return yyColumn.chunk1.fparagraphs;
}
/** Actually parse xtc.lang.lojban.paragraphs. */
private Result pparagraphs$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pparagraph(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String paragraphSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pparagraphs$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$8 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$8;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "paragraph", paragraphSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.paragraphs$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraphs$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk1) yyColumn.chunk1 = new Chunk1();
if (null == yyColumn.chunk1.fparagraphs$$Plus1)
yyColumn.chunk1.fparagraphs$$Plus1 = pparagraphs$$Plus1$1(yyStart);
return yyColumn.chunk1.fparagraphs$$Plus1;
}
/** Actually parse xtc.lang.lojban.paragraphs$$Plus1. */
private Result pparagraphs$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pNIhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pparagraphs$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pNIhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$3 = (String)yyResult.semanticValue();
yyValue = new Pair(v$3);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.paragraphs$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraphs$$Star2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fparagraphs$$Star2)
yyColumn.chunk2.fparagraphs$$Star2 = pparagraphs$$Star2$1(yyStart);
return yyColumn.chunk2.fparagraphs$$Star2;
}
/** Actually parse xtc.lang.lojban.paragraphs$$Star2. */
private Result pparagraphs$$Star2$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psuClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$6 = (String)yyResult.semanticValue();
yyResult = pparagraphs$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$7 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$6, v$7);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.paragraphs$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraphs$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pparagraphs$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair NIhOClauseSEP1 = (Pair)yyResult.semanticValue();
yyResult = p$$Shared6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pparagraphs$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair suClauseSEP3 = (Pair)yyResult.semanticValue();
yyResult = pparagraphs(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String paragraphsSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "NIhOClause", NIhOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "suClause", suClauseSEP3, "normal", false ) + makeString( "paragraphs", paragraphsSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.paragraph.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraph(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared8(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pparagraph$$Choice2(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$3, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared8.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.paragraph$$Choice1
* and xtc.lang.lojban.paragraph$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared8(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstatement(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statementSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "statement", statementSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pfragment(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String fragmentSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "fragment", fragmentSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.paragraph$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pparagraph$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
Object yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IClauseSEP1 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pjek(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyPredMatched = false;
yyPredResult = pjoik(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyPredMatched = false;
yyPredResult = pjoikJek(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = p$$Shared8(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
Object PARSERparen3 = yyOpValue1;
yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
} else {
yyError = yyError.select("paragraph expected", yyStart);
}
} else {
yyError = yyError.select("paragraph expected", yyStart);
}
} else {
yyError = yyError.select("paragraph expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.statement.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fstatement)
yyColumn.chunk2.fstatement = pstatement$1(yyStart);
return yyColumn.chunk2.fstatement;
}
/** Actually parse xtc.lang.lojban.statement. */
private Result pstatement$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstatement1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statement1SEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "statement1", statement1SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pprenex(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String prenexSEP2 = (String)yyResult.semanticValue();
yyResult = pstatement(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statementSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "prenex", prenexSEP2, "normal", false ) + makeString( "statement", statementSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.statement1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstatement2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statement2SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pstatement1$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "statement2", statement2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.statement1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IClauseSEP1 = (String)yyResult.semanticValue();
yyResult = pjoikJek(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstatement2(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String statement2SEP3 = yyOpValue1;
yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "joikJek", joikJekSEP2, "normal", false ) + makeString( "statement2", statement2SEP3, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.statement2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fstatement2)
yyColumn.chunk2.fstatement2 = pstatement2$1(yyStart);
return yyColumn.chunk2.fstatement2;
}
/** Actually parse xtc.lang.lojban.statement2. */
private Result pstatement2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstatement3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statement3SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstatement2$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "statement3", statement3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = pstatement3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statement3SEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstatement2$$Choice3(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$10 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$10;
}
Object PARSERparen4 = yyOpValue1;
yyValue = makeString( "statement3", statement3SEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared9.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.statement2$$Star1, xtc.lang.lojban.tailTerms$$Star1,
* xtc.lang.lojban.terms1$$Star2, xtc.lang.lojban.terms2$$Star2,
* xtc.lang.lojban.sumti6$$Star2, xtc.lang.lojban.mexOperator$$Star2,
* xtc.lang.lojban.joikEk1$$Star2, xtc.lang.lojban.joikJek$$Star2,
* xtc.lang.lojban.gek$$Star1, xtc.lang.lojban.guhek$$Star1,
* and xtc.lang.lojban.tenseModal$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared9(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared9)
yyColumn.chunk2.f$$Shared9 = p$$Shared9$1(yyStart);
return yyColumn.chunk2.f$$Shared9;
}
/** Actually parse xtc.lang.lojban.$$Shared9. */
private Result p$$Shared9$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$3 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$4 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$3, v$4);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.statement2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IClauseSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = p$$Shared5(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
Object PARSERparen2 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
Object stagSEP3 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP4 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyResult = pstatement2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String statement2SEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "stag", stagSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) + makeString( "statement2", statement2SEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared10.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.statement2$$Star2, xtc.lang.lojban.fragment$$Star4,
* xtc.lang.lojban.sumti6$$Star4, xtc.lang.lojban.mexOperator$$Star4,
* and xtc.lang.lojban.free$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared10(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared10)
yyColumn.chunk2.f$$Shared10 = p$$Shared10$1(yyStart);
return yyColumn.chunk2.f$$Shared10;
}
/** Actually parse xtc.lang.lojban.$$Shared10. */
private Result p$$Shared10$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$8 = (String)yyResult.semanticValue();
yyResult = p$$Shared10(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$9 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$8, v$9);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.statement2$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement2$$Choice3(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IClauseSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = p$$Shared5(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$6 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
Object PARSERparen2 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
Object stagSEP3 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP4 = (String)yyResult.semanticValue();
yyResult = p$$Shared10(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "stag", stagSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.statement3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstatement3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fstatement3)
yyColumn.chunk2.fstatement3 = pstatement3$1(yyStart);
return yyColumn.chunk2.fstatement3;
}
/** Actually parse xtc.lang.lojban.statement3. */
private Result pstatement3$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psentence(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sentenceSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sentence", sentenceSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = ptag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String tagSEP2 = yyOpValue1;
yyResult = pTUhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String TUhEClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = ptext1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String text1SEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String TUhUClauseSEP6 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP2, "normal", false ) + makeString( "TUhEClause", TUhEClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "text1", text1SEP5, "normal", false ) + makeString( "TUhUClause", TUhUClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared11.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.statement3$$Star1, xtc.lang.lojban.fragment$$Star1,
* xtc.lang.lojban.bridiTail$$Star1, xtc.lang.lojban.bridiTail2$$Star1,
* xtc.lang.lojban.gekSentence$$Star1, xtc.lang.lojban.sumti3$$Star1,
* xtc.lang.lojban.selbri4$$Star1, xtc.lang.lojban.selbri5$$Star1,
* xtc.lang.lojban.quantifier$$Star1, xtc.lang.lojban.operator0$$Star1,
* xtc.lang.lojban.operator1$$Star1, xtc.lang.lojban.operand0$$Star1,
* xtc.lang.lojban.operand2$$Star1, xtc.lang.lojban.operand3$$Star1,
* and xtc.lang.lojban.gik$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared11(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared11)
yyColumn.chunk2.f$$Shared11 = p$$Shared11$1(yyStart);
return yyColumn.chunk2.f$$Shared11;
}
/** Actually parse xtc.lang.lojban.$$Shared11. */
private Result p$$Shared11$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$2 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$3 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$2, v$3);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared12.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.statement3$$Star2, xtc.lang.lojban.bridiTail$$Star2,
* xtc.lang.lojban.gekSentence$$Star2, xtc.lang.lojban.sumti6$$Star3,
* xtc.lang.lojban.selbri4$$Star2, xtc.lang.lojban.selbri6$$Star2,
* xtc.lang.lojban.linkargs1$$Star2, xtc.lang.lojban.operator0$$Star2,
* xtc.lang.lojban.mexOperator$$Star3, xtc.lang.lojban.operand0$$Star2,
* and xtc.lang.lojban.gek$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared12(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared12)
yyColumn.chunk2.f$$Shared12 = p$$Shared12$1(yyStart);
return yyColumn.chunk2.f$$Shared12;
}
/** Actually parse xtc.lang.lojban.$$Shared12. */
private Result p$$Shared12$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$5 = (String)yyResult.semanticValue();
yyResult = p$$Shared12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$6 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$5, v$6);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.fragment.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pfragment(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pprenex(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String prenexSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "prenex", prenexSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pterms(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pVAUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String VAUClauseSEP3 = yyOpValue1;
yyResult = p$$Shared11(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms", termsSEP2, "normal", false ) + makeString( "VAUClause", VAUClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ekSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyValue = makeString( "ek", ekSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 4.
yyResult = pgihek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihekSEP7 = (String)yyResult.semanticValue();
yyResult = p$$Shared13(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP8 = (Pair)yyResult.semanticValue();
yyValue = makeString( "gihek", gihekSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 5.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP9 = (String)yyResult.semanticValue();
yyValue = makeString( "quantifier", quantifierSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 6.
yyResult = pNAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAClauseSEP10 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pJAClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = p$$Shared10(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP11 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NAClause", NAClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("fragment expected", yyStart);
}
}
// Alternative 7.
yyResult = prelativeClauses(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClausesSEP12 = (String)yyResult.semanticValue();
yyValue = makeString( "relativeClauses", relativeClausesSEP12, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 8.
yyResult = plinks(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String linksSEP13 = (String)yyResult.semanticValue();
yyValue = makeString( "links", linksSEP13, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 9.
yyResult = plinkargs(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String linkargsSEP14 = (String)yyResult.semanticValue();
yyValue = makeString( "linkargs", linkargsSEP14, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared13.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.fragment$$Star3, xtc.lang.lojban.term1$$Star3,
* xtc.lang.lojban.relativeClause1$$Star3,
* xtc.lang.lojban.tanruUnit2$$Star3, and xtc.lang.lojban.tenseModal$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared13(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.f$$Shared13)
yyColumn.chunk2.f$$Shared13 = p$$Shared13$1(yyStart);
return yyColumn.chunk2.f$$Shared13;
}
/** Actually parse xtc.lang.lojban.$$Shared13. */
private Result p$$Shared13$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$6 = (String)yyResult.semanticValue();
yyResult = p$$Shared13(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$7 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$6, v$7);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.prenex.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pprenex(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk2) yyColumn.chunk2 = new Chunk2();
if (null == yyColumn.chunk2.fprenex)
yyColumn.chunk2.fprenex = pprenex$1(yyStart);
return yyColumn.chunk2.fprenex;
}
/** Actually parse xtc.lang.lojban.prenex. */
private Result pprenex$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP1 = (String)yyResult.semanticValue();
yyResult = pZOhUClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ZOhUClauseSEP2 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "ZOhUClause", ZOhUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared14.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.prenex$$Star1, xtc.lang.lojban.term1$$Star1,
* xtc.lang.lojban.sumti$$Star1, xtc.lang.lojban.sumti6$$Star1,
* xtc.lang.lojban.relativeClauses$$Star1,
* xtc.lang.lojban.relativeClause1$$Star1, xtc.lang.lojban.selbri2$$Star1,
* xtc.lang.lojban.selbri6$$Star1, xtc.lang.lojban.tanruUnit2$$Star1,
* xtc.lang.lojban.linkargs1$$Star1, xtc.lang.lojban.links1$$Star1,
* xtc.lang.lojban.mex1$$Star1, xtc.lang.lojban.operator2$$Star1,
* xtc.lang.lojban.mexOperator$$Star1, xtc.lang.lojban.joikEk1$$Star1,
* xtc.lang.lojban.joikJek$$Star1, xtc.lang.lojban.tenseModal$$Star1,
* and xtc.lang.lojban.free$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared14(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.f$$Shared14)
yyColumn.chunk3.f$$Shared14 = p$$Shared14$1(yyStart);
return yyColumn.chunk3.f$$Shared14;
}
/** Actually parse xtc.lang.lojban.$$Shared14. */
private Result p$$Shared14$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sentence.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentence(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsentence)
yyColumn.chunk3.fsentence = psentence$1(yyStart);
return yyColumn.chunk3.fsentence;
}
/** Actually parse xtc.lang.lojban.sentence. */
private Result psentence$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = psentence$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$6 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
Object PARSERparen1 = yyOpValue1;
yyResult = psentence$$Star3(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair bridiTailSaSEP2 = (Pair)yyResult.semanticValue();
yyResult = pbridiTail(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "bridiTailSa", bridiTailSaSEP2, "normal", false ) + makeString( "bridiTail", bridiTailSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentence$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentence$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsentence$$Star1)
yyColumn.chunk3.fsentence$$Star1 = psentence$$Star1$1(yyStart);
return yyColumn.chunk3.fsentence$$Star1;
}
/** Actually parse xtc.lang.lojban.sentence$$Star1. */
private Result psentence$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTailSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = psentence$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentence$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentence$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP1 = (String)yyResult.semanticValue();
yyResult = psentence$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair bridiTailSaSEP2 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pCUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String CUClauseSEP3 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "bridiTailSa", bridiTailSaSEP2, "normal", false ) + makeString( "CUClause", CUClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentence$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentence$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsentence$$Star3)
yyColumn.chunk3.fsentence$$Star3 = psentence$$Star3$1(yyStart);
return yyColumn.chunk3.fsentence$$Star3;
}
/** Actually parse xtc.lang.lojban.sentence$$Star3. */
private Result psentence$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTailSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$7 = (String)yyResult.semanticValue();
yyResult = psentence$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$8 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$7, v$8);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sentenceSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentenceSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psentenceStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sentenceStartSEP1 = (String)yyResult.semanticValue();
yyResult = psentenceSa$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyResult = pSAClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = ptext1(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "sentenceStart", sentenceStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentenceSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentenceSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = psentenceStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("sentence sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentenceSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentenceSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = psentenceStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = psentenceSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("sentence sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sentenceSa$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentenceSa$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsentenceSa$$Star1)
yyColumn.chunk3.fsentenceSa$$Star1 = psentenceSa$$Star1$1(yyStart);
return yyColumn.chunk3.fsentenceSa$$Star1;
}
/** Actually parse xtc.lang.lojban.sentenceSa$$Star1. */
private Result psentenceSa$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psentenceSa$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = psentenceSa$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sentenceStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psentenceStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsentenceStart)
yyColumn.chunk3.fsentenceStart = psentenceStart$1(yyStart);
return yyColumn.chunk3.fsentenceStart;
}
/** Actually parse xtc.lang.lojban.sentenceStart. */
private Result psentenceStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pIPre(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String IPreSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "IPre", IPreSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNIhOPre(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NIhOPreSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "NIhOPre", NIhOPreSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.subsentence.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psubsentence(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fsubsentence)
yyColumn.chunk3.fsubsentence = psubsentence$1(yyStart);
return yyColumn.chunk3.fsubsentence;
}
/** Actually parse xtc.lang.lojban.subsentence. */
private Result psubsentence$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psentence(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sentenceSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sentence", sentenceSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pprenex(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String prenexSEP2 = (String)yyResult.semanticValue();
yyResult = psubsentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String subsentenceSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "prenex", prenexSEP2, "normal", false ) + makeString( "subsentence", subsentenceSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTail.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fbridiTail)
yyColumn.chunk3.fbridiTail = pbridiTail$1(yyStart);
return yyColumn.chunk3.fbridiTail;
}
/** Actually parse xtc.lang.lojban.bridiTail. */
private Result pbridiTail$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTail1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTail1SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pbridiTail$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "bridiTail1", bridiTail1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTail$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihekSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = pbridiTail(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KEhEClauseSEP6 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyResult = ptailTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tailTermsSEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "gihek", gihekSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "KEClause", KEClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "bridiTail", bridiTailSEP5, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "tailTerms", tailTermsSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTailSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTailSa(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fbridiTailSa)
yyColumn.chunk3.fbridiTailSa = pbridiTailSa$1(yyStart);
return yyColumn.chunk3.fbridiTailSa;
}
/** Actually parse xtc.lang.lojban.bridiTailSa. */
private Result pbridiTailSa$1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTailStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailStartSEP1 = (String)yyResult.semanticValue();
yyResult = pbridiTailSa$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyResult = pSAClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = pbridiTail(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "bridiTailStart", bridiTailStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTailSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTailSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pbridiTailStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("bridi tail sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTailSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTailSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterm(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "term", termSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyPredMatched = false;
yyPredResult = pbridiTailStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pbridiTailSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen2 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("bridi tail sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTailSa$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTailSa$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk3) yyColumn.chunk3 = new Chunk3();
if (null == yyColumn.chunk3.fbridiTailSa$$Star1)
yyColumn.chunk3.fbridiTailSa$$Star1 = pbridiTailSa$$Star1$1(yyStart);
return yyColumn.chunk3.fbridiTailSa$$Star1;
}
/** Actually parse xtc.lang.lojban.bridiTailSa$$Star1. */
private Result pbridiTailSa$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTailSa$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = pbridiTailSa$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTailStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTailStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fbridiTailStart)
yyColumn.chunk4.fbridiTailStart = pbridiTailStart$1(yyStart);
return yyColumn.chunk4.fbridiTailStart;
}
/** Actually parse xtc.lang.lojban.bridiTailStart. */
private Result pbridiTailStart$1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pMEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MEClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "MEClause", MEClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNUhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUhAClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "NUhAClause", NUhAClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pNUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "NUClause", NUClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pNAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAClauseSEP4 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pKUClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "NAClause", NAClauseSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("bridi tail start expected", yyStart);
}
}
// Alternative 5.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP5 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pBOClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "NAhEClause", NAhEClauseSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("bridi tail start expected", yyStart);
}
}
// Alternative 6.
yyResult = pselbri(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "selbri", selbriSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 7.
yyResult = ptag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tagSEP7 = (String)yyResult.semanticValue();
yyResult = pbridiTailStart(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailStartSEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP7, "normal", false ) + makeString( "bridiTailStart", bridiTailStartSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 8.
yyResult = pKEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP9 = (String)yyResult.semanticValue();
yyResult = pbridiTailStart(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailStartSEP10 = (String)yyResult.semanticValue();
yyValue = makeString( "KEClause", KEClauseSEP9, "normal", false ) + makeString( "bridiTailStart", bridiTailStartSEP10, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 9.
yyResult = pbridiTail(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTailSEP11 = (String)yyResult.semanticValue();
yyValue = makeString( "bridiTail", bridiTailSEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTail1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTail2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTail2SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pbridiTail1$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "bridiTail2", bridiTail2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTail1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihekSEP1 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyOption1 = yyResult.index;
yyPredResult = pstag(yyOption1);
if (yyPredResult.hasValue()) {
yyOption1 = yyPredResult.index;
}
yyPredResult = pBOClause(yyOption1);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyPredMatched = false;
yyOption1 = yyResult.index;
yyPredResult = pstag(yyOption1);
if (yyPredResult.hasValue()) {
yyOption1 = yyPredResult.index;
}
yyPredResult = pKEClause(yyOption1);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyResult = pbridiTail2(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTail2SEP3 = (String)yyResult.semanticValue();
yyResult = ptailTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tailTermsSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "gihek", gihekSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "bridiTail2", bridiTail2SEP3, "normal", false ) + makeString( "tailTerms", tailTermsSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
} else {
yyError = yyError.select("bridi tail1 expected", yyStart);
}
} else {
yyError = yyError.select("bridi tail1 expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTail2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fbridiTail2)
yyColumn.chunk4.fbridiTail2 = pbridiTail2$1(yyStart);
return yyColumn.chunk4.fbridiTail2;
}
/** Actually parse xtc.lang.lojban.bridiTail2. */
private Result pbridiTail2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pbridiTail3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTail3SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pbridiTail2$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "bridiTail3", bridiTail3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.bridiTail2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihekSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = pbridiTail2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String bridiTail2SEP5 = (String)yyResult.semanticValue();
yyResult = ptailTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tailTermsSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "gihek", gihekSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "BOClause", BOClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "bridiTail2", bridiTail2SEP5, "normal", false ) + makeString( "tailTerms", tailTermsSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.bridiTail3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pbridiTail3(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP1 = (String)yyResult.semanticValue();
yyResult = ptailTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tailTermsSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "selbri", selbriSEP1, "normal", false ) + makeString( "tailTerms", tailTermsSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pgekSentence(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSentenceSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "gekSentence", gekSentenceSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gekSentence.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgekSentence(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fgekSentence)
yyColumn.chunk4.fgekSentence = pgekSentence$1(yyStart);
return yyColumn.chunk4.fgekSentence;
}
/** Actually parse xtc.lang.lojban.gekSentence. */
private Result pgekSentence$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP1 = (String)yyResult.semanticValue();
yyResult = psubsentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String subsentenceSEP2 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP3 = (String)yyResult.semanticValue();
yyResult = psubsentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String subsentenceSEP4 = (String)yyResult.semanticValue();
yyResult = ptailTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tailTermsSEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP1, "normal", false ) + makeString( "subsentence", subsentenceSEP2, "normal", false ) + makeString( "gik", gikSEP3, "normal", false ) + makeString( "subsentence", subsentenceSEP4, "normal", false ) + makeString( "tailTerms", tailTermsSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = ptag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String tagSEP6 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP7 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP8 = (Pair)yyResult.semanticValue();
yyResult = pgekSentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSentenceSEP9 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KEhEClauseSEP10 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP11 = (Pair)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP6, "normal", false ) + makeString( "KEClause", KEClauseSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) + makeString( "gekSentence", gekSentenceSEP9, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 3.
yyResult = pNAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAClauseSEP12 = (String)yyResult.semanticValue();
yyResult = p$$Shared15(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP13 = (Pair)yyResult.semanticValue();
yyResult = pgekSentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSentenceSEP14 = (String)yyResult.semanticValue();
yyValue = makeString( "NAClause", NAClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) + makeString( "gekSentence", gekSentenceSEP14, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared15.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.gekSentence$$Star3, xtc.lang.lojban.quantifier$$Star3,
* and xtc.lang.lojban.operand3$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared15(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.f$$Shared15)
yyColumn.chunk4.f$$Shared15 = p$$Shared15$1(yyStart);
return yyColumn.chunk4.f$$Shared15;
}
/** Actually parse xtc.lang.lojban.$$Shared15. */
private Result p$$Shared15$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$7 = (String)yyResult.semanticValue();
yyResult = p$$Shared15(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$8 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$7, v$8);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tailTerms.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptailTerms(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.ftailTerms)
yyColumn.chunk4.ftailTerms = ptailTerms$1(yyStart);
return yyColumn.chunk4.ftailTerms;
}
/** Actually parse xtc.lang.lojban.tailTerms. */
private Result ptailTerms$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pterms(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String termsSEP1 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pVAUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String VAUClauseSEP2 = yyOpValue1;
yyResult = p$$Shared9(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "VAUClause", VAUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.terms.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fterms)
yyColumn.chunk4.fterms = pterms$1(yyStart);
return yyColumn.chunk4.fterms;
}
/** Actually parse xtc.lang.lojban.terms. */
private Result pterms$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair terms1SEP1 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms1", terms1SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fterms$$Plus1)
yyColumn.chunk4.fterms$$Plus1 = pterms$$Plus1$1(yyStart);
return yyColumn.chunk4.fterms$$Plus1;
}
/** Actually parse xtc.lang.lojban.terms$$Plus1. */
private Result pterms$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pterms$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pterms1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$3 = (String)yyResult.semanticValue();
yyValue = new Pair(v$3);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.terms1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fterms1)
yyColumn.chunk4.fterms1 = pterms1$1(yyStart);
return yyColumn.chunk4.fterms1;
}
/** Actually parse xtc.lang.lojban.terms1. */
private Result pterms1$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String terms2SEP1 = (String)yyResult.semanticValue();
yyResult = pterms1$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "terms2", terms2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms1$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms1$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fterms1$$Star1)
yyColumn.chunk4.fterms1$$Star1 = pterms1$$Star1$1(yyStart);
return yyColumn.chunk4.fterms1$$Star1;
}
/** Actually parse xtc.lang.lojban.terms1$$Star1. */
private Result pterms1$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ppeheSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pterms1$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms1$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair peheSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pPEhEClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String PEhEClauseSEP2 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyResult = pjoikJek(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP4 = (String)yyResult.semanticValue();
yyResult = pterms2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String terms2SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "peheSa", peheSaSEP1, "normal", false ) + makeString( "PEhEClause", PEhEClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "joikJek", joikJekSEP4, "normal", false ) + makeString( "terms2", terms2SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms1$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms1$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk4) yyColumn.chunk4 = new Chunk4();
if (null == yyColumn.chunk4.fterms1$$Star3)
yyColumn.chunk4.fterms1$$Star3 = pterms1$$Star3$1(yyStart);
return yyColumn.chunk4.fterms1$$Star3;
}
/** Actually parse xtc.lang.lojban.terms1$$Star3. */
private Result pterms1$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms1$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$5 = yyResult.semanticValue();
yyResult = pterms1$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$6 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$5, v$6);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.terms2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterms2)
yyColumn.chunk5.fterms2 = pterms2$1(yyStart);
return yyColumn.chunk5.fterms2;
}
/** Actually parse xtc.lang.lojban.terms2. */
private Result pterms2$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterm(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP1 = (String)yyResult.semanticValue();
yyResult = pterms2$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "term", termSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms2$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms2$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterms2$$Star1)
yyColumn.chunk5.fterms2$$Star1 = pterms2$$Star1$1(yyStart);
return yyColumn.chunk5.fterms2$$Star1;
}
/** Actually parse xtc.lang.lojban.terms2$$Star1. */
private Result pterms2$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pceheSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pterms2$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms2$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair ceheSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pCEhEClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String CEhEClauseSEP2 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyResult = pterm(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "ceheSa", ceheSaSEP1, "normal", false ) + makeString( "CEhEClause", CEhEClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "term", termSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.terms2$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterms2$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterms2$$Star3)
yyColumn.chunk5.fterms2$$Star3 = pterms2$$Star3$1(yyStart);
return yyColumn.chunk5.fterms2$$Star3;
}
/** Actually parse xtc.lang.lojban.terms2$$Star3. */
private Result pterms2$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterms2$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$5 = yyResult.semanticValue();
yyResult = pterms2$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$6 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$5, v$6);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.peheSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ppeheSa(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPEhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String PEhEClauseSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = ppeheSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "PEhEClause", PEhEClauseSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.peheSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ppeheSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pPEhEClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("pehe sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.peheSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ppeheSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pPEhEClause(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = ppeheSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("pehe sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.ceheSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pceheSa(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCEhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String CEhEClauseSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pceheSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "CEhEClause", CEhEClauseSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.ceheSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pceheSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pCEhEClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("cehe sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.ceheSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pceheSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pCEhEClause(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pceheSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("cehe sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.term.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterm)
yyColumn.chunk5.fterm = pterm$1(yyStart);
return yyColumn.chunk5.fterm;
}
/** Actually parse xtc.lang.lojban.term. */
private Result pterm$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterm$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair termSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pterm1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String term1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "termSa", termSaSEP1, "normal", false ) + makeString( "term1", term1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.term$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterm$$Star1)
yyColumn.chunk5.fterm$$Star1 = pterm$$Star1$1(yyStart);
return yyColumn.chunk5.fterm$$Star1;
}
/** Actually parse xtc.lang.lojban.term$$Star1. */
private Result pterm$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptermSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pterm$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.term1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fterm1)
yyColumn.chunk5.fterm1 = pterm1$1(yyStart);
return yyColumn.chunk5.fterm1;
}
/** Actually parse xtc.lang.lojban.term1. */
private Result pterm1$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pterm1$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen2 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = ptermset(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsetSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "termset", termsetSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pNAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAClauseSEP4 = (String)yyResult.semanticValue();
yyResult = pKUClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KUClauseSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared13(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NAClause", NAClauseSEP4, "normal", false ) + makeString( "KUClause", KUClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.term1$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm1$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tagSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pFAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FAClauseSEP2 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "FAClause", FAClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.term1$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm1$$Choice3(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pKUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String KUClauseSEP2 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "KUClause", KUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.term1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pterm1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pgek(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pterm1$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyResult = pterm1$$Choice3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen2 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
} else {
yyError = yyError.select("term1 expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.termSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptermStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = ptermSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = pterm1(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "termStart", termStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.termSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = ptermStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("term sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.termSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = ptermStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = ptermSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("term sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.termStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.ftermStart)
yyColumn.chunk5.ftermStart = ptermStart$1(yyStart);
return yyColumn.chunk5.ftermStart;
}
/** Actually parse xtc.lang.lojban.termStart. */
private Result ptermStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterm1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String term1SEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "term1", term1SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pLAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "LAClause", LAClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pLEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LEClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "LEClause", LEClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pLIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LIClauseSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "LIClause", LIClauseSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pLUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LUClauseSEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "LUClause", LUClauseSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 6.
yyResult = pLAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAhEClauseSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "LAhEClause", LAhEClauseSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 7.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP7 = (String)yyResult.semanticValue();
yyResult = ptermStart(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termStartSEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "quantifier", quantifierSEP7, "normal", false ) + makeString( "termStart", termStartSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 8.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP9 = (String)yyResult.semanticValue();
yyResult = psumti(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP10 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP11 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP9, "normal", false ) + makeString( "sumti", sumtiSEP10, "normal", false ) + makeString( "gik", gikSEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 9.
yyResult = pFAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FAClauseSEP12 = (String)yyResult.semanticValue();
yyValue = makeString( "FAClause", FAClauseSEP12, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 10.
yyResult = ptag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tagSEP13 = (String)yyResult.semanticValue();
yyResult = ptermStart(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termStartSEP14 = (String)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP13, "normal", false ) + makeString( "termStart", termStartSEP14, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.termset.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermset(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgekTermset(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekTermsetSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "gekTermset", gekTermsetSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNUhIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUhIClauseSEP2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP3 = yyRepValue1.reverse();
yyResult = pgek(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP4 = (String)yyResult.semanticValue();
yyResult = pterms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String NUhUClauseSEP6 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$3, yyRepValue1);
continue;
}
break;
}
Pair freeSEP7 = yyRepValue1.reverse();
yyResult = pgik(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP8 = (String)yyResult.semanticValue();
yyResult = pterms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP9 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String NUhUClauseSEP10 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$5 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$5, yyRepValue1);
continue;
}
break;
}
Pair freeSEP11 = yyRepValue1.reverse();
yyValue = makeString( "NUhIClause", NUhIClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "gek", gekSEP4, "normal", false ) + makeString( "terms", termsSEP5, "normal", false ) + makeString( "NUhUClause", NUhUClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "gik", gikSEP8, "normal", false ) + makeString( "terms", termsSEP9, "normal", false ) + makeString( "NUhUClause", NUhUClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
}
}
}
// Alternative 3.
yyResult = pNUhIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUhIClauseSEP12 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$6 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$6, yyRepValue1);
continue;
}
break;
}
Pair freeSEP13 = yyRepValue1.reverse();
yyResult = pterms(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsSEP14 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
String NUhUClauseSEP15 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$8 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$8, yyRepValue1);
continue;
}
break;
}
Pair freeSEP16 = yyRepValue1.reverse();
yyValue = makeString( "NUhIClause", NUhIClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) + makeString( "terms", termsSEP14, "normal", false ) + makeString( "NUhUClause", NUhUClauseSEP15, "normal", false ) + makeString( "free", freeSEP16, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gekTermset.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgekTermset(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP1 = (String)yyResult.semanticValue();
yyResult = ptermsGikTerms(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsGikTermsSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP1, "normal", false ) + makeString( "termsGikTerms", termsGikTermsSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.termsGikTerms.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermsGikTerms(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.ftermsGikTerms)
yyColumn.chunk5.ftermsGikTerms = ptermsGikTerms$1(yyStart);
return yyColumn.chunk5.ftermsGikTerms;
}
/** Actually parse xtc.lang.lojban.termsGikTerms. */
private Result ptermsGikTerms$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pterm(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP1 = (String)yyResult.semanticValue();
yyResult = ptermsGikTerms$$Choice1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen2 = yyResult.semanticValue();
yyResult = pterm(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "term", termSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "term", termSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.termsGikTerms$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptermsGikTerms$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "gik", gikSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = ptermsGikTerms(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termsGikTermsSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "termsGikTerms", termsGikTermsSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fsumti)
yyColumn.chunk5.fsumti = psumti$1(yyStart);
return yyColumn.chunk5.fsumti;
}
/** Actually parse xtc.lang.lojban.sumti. */
private Result psumti$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti1SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = psumti$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "sumti1", sumti1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pVUhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String VUhOClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = prelativeClauses(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClausesSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "VUhOClause", VUhOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti2SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = psumti1$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$5 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "sumti2", sumti2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP3 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair freeSEP4 = yyRepValue1.reverse();
yyResult = psumti(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String KEhEClauseSEP6 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$4, yyRepValue1);
continue;
}
break;
}
Pair freeSEP7 = yyRepValue1.reverse();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "KEClause", KEClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "sumti", sumtiSEP5, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti2(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti3SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = psumti2$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "sumti3", sumti3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyResult = psumti3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti3SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "sumti3", sumti3SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk5) yyColumn.chunk5 = new Chunk5();
if (null == yyColumn.chunk5.fsumti3)
yyColumn.chunk5.fsumti3 = psumti3$1(yyStart);
return yyColumn.chunk5.fsumti3;
}
/** Actually parse xtc.lang.lojban.sumti3. */
private Result psumti3$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti4(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti4SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = psumti3$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "sumti4", sumti4SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti3$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti3$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = psumti3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti3SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "BOClause", BOClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "sumti3", sumti3SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti4(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fsumti4)
yyColumn.chunk6.fsumti4 = psumti4$1(yyStart);
return yyColumn.chunk6.fsumti4;
}
/** Actually parse xtc.lang.lojban.sumti4. */
private Result psumti4$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti5(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti5SEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sumti5", sumti5SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP2 = (String)yyResult.semanticValue();
yyResult = psumti(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP3 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP4 = (String)yyResult.semanticValue();
yyResult = psumti4(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti4SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP2, "normal", false ) + makeString( "sumti", sumtiSEP3, "normal", false ) + makeString( "gik", gikSEP4, "normal", false ) + makeString( "sumti4", sumti4SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti5(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pquantifier(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String quantifierSEP1 = yyOpValue1;
yyResult = psumti6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti6SEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String relativeClausesSEP3 = yyOpValue1;
yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) + makeString( "sumti6", sumti6SEP2, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP4 = (String)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String KUClauseSEP6 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$4, yyRepValue1);
continue;
}
break;
}
Pair freeSEP7 = yyRepValue1.reverse();
yyOption1 = yyRepetition1;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
String relativeClausesSEP8 = yyOpValue1;
yyValue = makeString( "quantifier", quantifierSEP4, "normal", false ) + makeString( "selbri", selbriSEP5, "normal", false ) + makeString( "KUClause", KUClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP8, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumti6.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti6(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fsumti6)
yyColumn.chunk6.fsumti6 = psumti6$1(yyStart);
return yyColumn.chunk6.fsumti6;
}
/** Actually parse xtc.lang.lojban.sumti6. */
private Result psumti6$1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pZOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ZOClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "ZOClause", ZOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pZOIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ZOIClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "ZOIClause", ZOIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pLOhUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LOhUClauseSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyValue = makeString( "LOhUClause", LOhUClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 4.
yyResult = plerfuString(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuStringSEP7 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pMOIClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pBOIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
String BOIClauseSEP8 = yyOpValue1;
yyResult = p$$Shared10(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP9 = (Pair)yyResult.semanticValue();
yyValue = makeString( "lerfuString", lerfuStringSEP7, "normal", false ) + makeString( "BOIClause", BOIClauseSEP8, "normal", false ) + makeString( "free", freeSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("sumti6 expected", yyStart);
}
}
// Alternative 5.
yyResult = pLUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LUClauseSEP10 = (String)yyResult.semanticValue();
yyResult = ptext(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String textSEP11 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pLIhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$10 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$10;
}
String LIhUClauseSEP12 = yyOpValue1;
yyResult = p$$Shared16(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP13 = (Pair)yyResult.semanticValue();
yyValue = makeString( "LUClause", LUClauseSEP10, "normal", false ) + makeString( "text", textSEP11, "normal", false ) + makeString( "LIhUClause", LIhUClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 6.
yyResult = psumti6$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen14 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$17 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$17;
}
String relativeClausesSEP15 = yyOpValue1;
yyResult = psumti(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP16 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pLUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$18 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$18;
}
String LUhUClauseSEP17 = yyOpValue1;
yyResult = p$$Shared19(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP18 = (Pair)yyResult.semanticValue();
yyValue = makeString( "PARSERparen14", PARSERparen14, "parserParen", false ) + makeString( "relativeClauses", relativeClausesSEP15, "normal", false ) + makeString( "sumti", sumtiSEP16, "normal", false ) + makeString( "LUhUClause", LUhUClauseSEP17, "normal", false ) + makeString( "free", freeSEP18, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 7.
yyResult = pKOhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KOhAClauseSEP19 = (String)yyResult.semanticValue();
yyResult = p$$Shared20(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP20 = (Pair)yyResult.semanticValue();
yyValue = makeString( "KOhAClause", KOhAClauseSEP19, "normal", false ) + makeString( "free", freeSEP20, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 8.
yyResult = pLAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAClauseSEP21 = (String)yyResult.semanticValue();
yyResult = p$$Shared21(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP22 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$25 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$25;
}
String relativeClausesSEP23 = yyOpValue1;
yyResult = psumti6$$Plus1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair CMENEClauseSEP24 = (Pair)yyResult.semanticValue();
yyResult = psumti6$$Star11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP25 = (Pair)yyResult.semanticValue();
yyValue = makeString( "LAClause", LAClauseSEP21, "normal", false ) + makeString( "free", freeSEP22, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP23, "normal", false ) + makeString( "CMENEClause", CMENEClauseSEP24, "normal", false ) + makeString( "free", freeSEP25, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 9.
yyResult = psumti6$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen26 = yyResult.semanticValue();
yyResult = p$$Shared22(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP27 = (Pair)yyResult.semanticValue();
yyResult = psumtiTail(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiTailSEP28 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$33 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$33;
}
String KUClauseSEP29 = yyOpValue1;
yyResult = p$$Shared23(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP30 = (Pair)yyResult.semanticValue();
yyValue = makeString( "PARSERparen26", PARSERparen26, "parserParen", false ) + makeString( "free", freeSEP27, "normal", false ) + makeString( "sumtiTail", sumtiTailSEP28, "normal", false ) + makeString( "KUClause", KUClauseSEP29, "normal", false ) + makeString( "free", freeSEP30, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 10.
yyResult = pliClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String liClauseSEP31 = (String)yyResult.semanticValue();
yyValue = makeString( "liClause", liClauseSEP31, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared16.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star5 and xtc.lang.lojban.tanruUnit2$$Star5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared16(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared16)
yyColumn.chunk6.f$$Shared16 = p$$Shared16$1(yyStart);
return yyColumn.chunk6.f$$Shared16;
}
/** Actually parse xtc.lang.lojban.$$Shared16. */
private Result p$$Shared16$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$11 = (String)yyResult.semanticValue();
yyResult = p$$Shared16(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$12 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$11, v$12);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared17.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star6 and xtc.lang.lojban.mexOperator$$Star6.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared17(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared17)
yyColumn.chunk6.f$$Shared17 = p$$Shared17$1(yyStart);
return yyColumn.chunk6.f$$Shared17;
}
/** Actually parse xtc.lang.lojban.$$Shared17. */
private Result p$$Shared17$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$13 = (String)yyResult.semanticValue();
yyResult = p$$Shared17(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$14 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$13, v$14);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared18.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star7 and xtc.lang.lojban.mexOperator$$Star7.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared18(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared18)
yyColumn.chunk6.f$$Shared18 = p$$Shared18$1(yyStart);
return yyColumn.chunk6.f$$Shared18;
}
/** Actually parse xtc.lang.lojban.$$Shared18. */
private Result p$$Shared18$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$15 = (String)yyResult.semanticValue();
yyResult = p$$Shared18(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$16 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$15, v$16);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti6$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti6$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pLAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAhEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared17(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "LAhEClause", LAhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP3 = (String)yyResult.semanticValue();
yyResult = pBOClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP4 = (String)yyResult.semanticValue();
yyResult = p$$Shared18(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared19.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star8, xtc.lang.lojban.tanruUnit2$$Star8,
* and xtc.lang.lojban.free$$Star4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared19(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared19)
yyColumn.chunk6.f$$Shared19 = p$$Shared19$1(yyStart);
return yyColumn.chunk6.f$$Shared19;
}
/** Actually parse xtc.lang.lojban.$$Shared19. */
private Result p$$Shared19$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$19 = (String)yyResult.semanticValue();
yyResult = p$$Shared19(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$20 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$19, v$20);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared20.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star9 and xtc.lang.lojban.tanruUnit2$$Star9.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared20(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared20)
yyColumn.chunk6.f$$Shared20 = p$$Shared20$1(yyStart);
return yyColumn.chunk6.f$$Shared20;
}
/** Actually parse xtc.lang.lojban.$$Shared20. */
private Result p$$Shared20$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$21 = (String)yyResult.semanticValue();
yyResult = p$$Shared20(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$22 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$21, v$22);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared21.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star10 and xtc.lang.lojban.tanruUnit2$$Star10.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared21(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.f$$Shared21)
yyColumn.chunk6.f$$Shared21 = p$$Shared21$1(yyStart);
return yyColumn.chunk6.f$$Shared21;
}
/** Actually parse xtc.lang.lojban.$$Shared21. */
private Result p$$Shared21$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$23 = (String)yyResult.semanticValue();
yyResult = p$$Shared21(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$24 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$23, v$24);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti6$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti6$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fsumti6$$Plus1)
yyColumn.chunk6.fsumti6$$Plus1 = psumti6$$Plus1$1(yyStart);
return yyColumn.chunk6.fsumti6$$Plus1;
}
/** Actually parse xtc.lang.lojban.sumti6$$Plus1. */
private Result psumti6$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCMENEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$26 = (String)yyResult.semanticValue();
yyResult = psumti6$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$27 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$26, v$27);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pCMENEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$28 = (String)yyResult.semanticValue();
yyValue = new Pair(v$28);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti6$$Star11.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti6$$Star11(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk6) yyColumn.chunk6 = new Chunk6();
if (null == yyColumn.chunk6.fsumti6$$Star11)
yyColumn.chunk6.fsumti6$$Star11 = psumti6$$Star11$1(yyStart);
return yyColumn.chunk6.fsumti6$$Star11;
}
/** Actually parse xtc.lang.lojban.sumti6$$Star11. */
private Result psumti6$$Star11$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$29 = (String)yyResult.semanticValue();
yyResult = psumti6$$Star11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$30 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$29, v$30);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumti6$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumti6$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pLAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "LAClause", LAClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pLEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LEClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "LEClause", LEClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared22.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star12 and xtc.lang.lojban.tanruUnit2$$Star13.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared22(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.f$$Shared22)
yyColumn.chunk7.f$$Shared22 = p$$Shared22$1(yyStart);
return yyColumn.chunk7.f$$Shared22;
}
/** Actually parse xtc.lang.lojban.$$Shared22. */
private Result p$$Shared22$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$31 = (String)yyResult.semanticValue();
yyResult = p$$Shared22(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$32 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$31, v$32);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared23.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.sumti6$$Star13 and xtc.lang.lojban.tanruUnit2$$Star14.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared23(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.f$$Shared23)
yyColumn.chunk7.f$$Shared23 = p$$Shared23$1(yyStart);
return yyColumn.chunk7.f$$Shared23;
}
/** Actually parse xtc.lang.lojban.$$Shared23. */
private Result p$$Shared23$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$34 = (String)yyResult.semanticValue();
yyResult = p$$Shared23(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$35 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$34, v$35);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.liClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pliClause(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pLIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LIClauseSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyResult = pmex(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pLOhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String LOhOClauseSEP4 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$3, yyRepValue1);
continue;
}
break;
}
Pair freeSEP5 = yyRepValue1.reverse();
yyValue = makeString( "LIClause", LIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "mex", mexSEP3, "normal", false ) + makeString( "LOhOClause", LOhOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumtiTail.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumtiTail(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = psumtiTail$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$2 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
Object PARSERparen1 = yyOpValue1;
yyResult = psumtiTail1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiTail1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "sumtiTail1", sumtiTail1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = prelativeClauses(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClausesSEP3 = (String)yyResult.semanticValue();
yyResult = psumtiTail1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiTail1SEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) + makeString( "sumtiTail1", sumtiTail1SEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.sumtiTail$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumtiTail$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti6(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumti6SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String relativeClausesSEP2 = yyOpValue1;
yyValue = makeString( "sumti6", sumti6SEP1, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.sumtiTail1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psumtiTail1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.fsumtiTail1)
yyColumn.chunk7.fsumtiTail1 = psumtiTail1$1(yyStart);
return yyColumn.chunk7.fsumtiTail1;
}
/** Actually parse xtc.lang.lojban.sumtiTail1. */
private Result psumtiTail1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String relativeClausesSEP2 = yyOpValue1;
yyValue = makeString( "selbri", selbriSEP1, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP3 = (String)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = prelativeClauses(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String relativeClausesSEP5 = yyOpValue1;
yyValue = makeString( "quantifier", quantifierSEP3, "normal", false ) + makeString( "selbri", selbriSEP4, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP5, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
// Alternative 3.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP6 = (String)yyResult.semanticValue();
yyResult = psumti(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP7 = (String)yyResult.semanticValue();
yyValue = makeString( "quantifier", quantifierSEP6, "normal", false ) + makeString( "sumti", sumtiSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.relativeClauses.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauses(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClauses)
yyColumn.chunk7.frelativeClauses = prelativeClauses$1(yyStart);
return yyColumn.chunk7.frelativeClauses;
}
/** Actually parse xtc.lang.lojban.relativeClauses. */
private Result prelativeClauses$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prelativeClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClauseSEP1 = (String)yyResult.semanticValue();
yyResult = prelativeClauses$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "relativeClause", relativeClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.relativeClauses$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauses$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pZIhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ZIhEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = prelativeClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "ZIhEClause", ZIhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "relativeClause", relativeClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.relativeClauses$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauses$$Star2(final int yyStart)
throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClauses$$Star2)
yyColumn.chunk7.frelativeClauses$$Star2 = prelativeClauses$$Star2$1(yyStart);
return yyColumn.chunk7.frelativeClauses$$Star2;
}
/** Actually parse xtc.lang.lojban.relativeClauses$$Star2. */
private Result prelativeClauses$$Star2$1(final int yyStart)
throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prelativeClauses$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$3 = yyResult.semanticValue();
yyResult = prelativeClauses$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$4 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$3, v$4);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.relativeClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClause(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClause)
yyColumn.chunk7.frelativeClause = prelativeClause$1(yyStart);
return yyColumn.chunk7.frelativeClause;
}
/** Actually parse xtc.lang.lojban.relativeClause. */
private Result prelativeClause$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prelativeClause$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair relativeClauseSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = prelativeClause1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClause1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "relativeClauseSa", relativeClauseSaSEP1, "normal", false ) + makeString( "relativeClause1", relativeClause1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.relativeClause$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClause$$Star1(final int yyStart)
throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClause$$Star1)
yyColumn.chunk7.frelativeClause$$Star1 = prelativeClause$$Star1$1(yyStart);
return yyColumn.chunk7.frelativeClause$$Star1;
}
/** Actually parse xtc.lang.lojban.relativeClause$$Star1. */
private Result prelativeClause$$Star1$1(final int yyStart)
throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prelativeClauseSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = prelativeClause$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.relativeClauseSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauseSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prelativeClauseStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String relativeClauseStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = prelativeClauseSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = prelativeClause1(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "relativeClauseStart", relativeClauseStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.relativeClauseSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauseSa$$Choice2(final int yyStart)
throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = prelativeClauseStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("relative clause sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.relativeClauseSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauseSa$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = prelativeClauseStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = prelativeClauseSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("relative clause sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.relativeClause1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClause1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClause1)
yyColumn.chunk7.frelativeClause1 = prelativeClause1$1(yyStart);
return yyColumn.chunk7.frelativeClause1;
}
/** Actually parse xtc.lang.lojban.relativeClause1. */
private Result prelativeClause1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pGOIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GOIClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pterm(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pGEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String GEhUClauseSEP4 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyValue = makeString( "GOIClause", GOIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "term", termSEP3, "normal", false ) + makeString( "GEhUClause", GEhUClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 2.
yyResult = pNOIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NOIClauseSEP6 = (String)yyResult.semanticValue();
yyResult = p$$Shared13(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyResult = psubsentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String subsentenceSEP8 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKUhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$8 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$8;
}
String KUhOClauseSEP9 = yyOpValue1;
yyResult = p$$Shared24(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP10 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NOIClause", NOIClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "subsentence", subsentenceSEP8, "normal", false ) + makeString( "KUhOClause", KUhOClauseSEP9, "normal", false ) + makeString( "free", freeSEP10, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared24.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.relativeClause1$$Star4,
* xtc.lang.lojban.tanruUnit2$$Star4, and xtc.lang.lojban.operand3$$Star4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared24(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.f$$Shared24)
yyColumn.chunk7.f$$Shared24 = p$$Shared24$1(yyStart);
return yyColumn.chunk7.f$$Shared24;
}
/** Actually parse xtc.lang.lojban.$$Shared24. */
private Result p$$Shared24$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$9 = (String)yyResult.semanticValue();
yyResult = p$$Shared24(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$10 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$9, v$10);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.relativeClauseStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prelativeClauseStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk7) yyColumn.chunk7 = new Chunk7();
if (null == yyColumn.chunk7.frelativeClauseStart)
yyColumn.chunk7.frelativeClauseStart = prelativeClauseStart$1(yyStart);
return yyColumn.chunk7.frelativeClauseStart;
}
/** Actually parse xtc.lang.lojban.relativeClauseStart. */
private Result prelativeClauseStart$1(final int yyStart)
throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pGOIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GOIClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "GOIClause", GOIClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNOIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NOIClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "NOIClause", NOIClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri)
yyColumn.chunk8.fselbri = pselbri$1(yyStart);
return yyColumn.chunk8.fselbri;
}
/** Actually parse xtc.lang.lojban.selbri. */
private Result pselbri$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = ptag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String tagSEP1 = yyOpValue1;
yyResult = pselbri1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "tag", tagSEP1, "normal", false ) + makeString( "selbri1", selbri1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri2SEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "selbri2", selbri2SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pNAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAClauseSEP2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP3 = yyRepValue1.reverse();
yyResult = pselbri(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "NAClause", NAClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "selbri", selbriSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri2)
yyColumn.chunk8.fselbri2 = pselbri2$1(yyStart);
return yyColumn.chunk8.fselbri2;
}
/** Actually parse xtc.lang.lojban.selbri2. */
private Result pselbri2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri3SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pselbri2$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "selbri3", selbri3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String COClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pselbri2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri2SEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "COClause", COClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "selbri2", selbri2SEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri3)
yyColumn.chunk8.fselbri3 = pselbri3$1(yyStart);
return yyColumn.chunk8.fselbri3;
}
/** Actually parse xtc.lang.lojban.selbri3. */
private Result pselbri3$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri3$$Plus1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair selbri4SEP1 = (Pair)yyResult.semanticValue();
yyValue = makeString( "selbri4", selbri4SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri3$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri3$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri3$$Plus1)
yyColumn.chunk8.fselbri3$$Plus1 = pselbri3$$Plus1$1(yyStart);
return yyColumn.chunk8.fselbri3$$Plus1;
}
/** Actually parse xtc.lang.lojban.selbri3$$Plus1. */
private Result pselbri3$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri4(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pselbri3$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pselbri4(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$3 = (String)yyResult.semanticValue();
yyValue = new Pair(v$3);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri4(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri4)
yyColumn.chunk8.fselbri4 = pselbri4$1(yyStart);
return yyColumn.chunk8.fselbri4;
}
/** Actually parse xtc.lang.lojban.selbri4. */
private Result pselbri4$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri5(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri5SEP1 = (String)yyResult.semanticValue();
yyResult = pselbri4$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "selbri5", selbri5SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri4$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri4$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikJek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP1 = (String)yyResult.semanticValue();
yyResult = pselbri5(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri5SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "selbri5", selbri5SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP4 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyResult = pselbri3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri3SEP7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KEhEClauseSEP8 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP9 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP3, "normal", false ) + makeString( "stag", stagSEP4, "normal", false ) + makeString( "KEClause", KEClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) + makeString( "selbri3", selbri3SEP7, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP8, "normal", false ) + makeString( "free", freeSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri4$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri4$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri4$$Star3)
yyColumn.chunk8.fselbri4$$Star3 = pselbri4$$Star3$1(yyStart);
return yyColumn.chunk8.fselbri4$$Star3;
}
/** Actually parse xtc.lang.lojban.selbri4$$Star3. */
private Result pselbri4$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri4$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$7 = yyResult.semanticValue();
yyResult = pselbri4$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$8 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$7, v$8);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri5(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri5)
yyColumn.chunk8.fselbri5 = pselbri5$1(yyStart);
return yyColumn.chunk8.fselbri5;
}
/** Actually parse xtc.lang.lojban.selbri5. */
private Result pselbri5$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pselbri6(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri6SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pselbri5$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "selbri6", selbri6SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri5$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri5$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared5(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = pselbri5(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri5SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "BOClause", BOClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "selbri5", selbri5SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.selbri6.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri6(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.fselbri6)
yyColumn.chunk8.fselbri6 = pselbri6$1(yyStart);
return yyColumn.chunk8.fselbri6;
}
/** Actually parse xtc.lang.lojban.selbri6. */
private Result pselbri6$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptanruUnit(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnitSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pselbri6$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "tanruUnit", tanruUnitSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object NAhEClauseSEP3 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = pguhek(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String guhekSEP5 = (String)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP6 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP7 = (String)yyResult.semanticValue();
yyResult = pselbri6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri6SEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "guhek", guhekSEP5, "normal", false ) + makeString( "selbri", selbriSEP6, "normal", false ) + makeString( "gik", gikSEP7, "normal", false ) + makeString( "selbri6", selbri6SEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.selbri6$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pselbri6$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pselbri6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri6SEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "BOClause", BOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "selbri6", selbri6SEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tanruUnit.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptanruUnit1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit1SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = ptanruUnit$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$2 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "tanruUnit1", tanruUnit1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pCEIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String CEIClauseSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyResult = ptanruUnit1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit1SEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "CEIClause", CEIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "tanruUnit1", tanruUnit1SEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tanruUnit1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.ftanruUnit1)
yyColumn.chunk8.ftanruUnit1 = ptanruUnit1$1(yyStart);
return yyColumn.chunk8.ftanruUnit1;
}
/** Actually parse xtc.lang.lojban.tanruUnit1. */
private Result ptanruUnit1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptanruUnit2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit2SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = plinkargs(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String linkargsSEP2 = yyOpValue1;
yyValue = makeString( "tanruUnit2", tanruUnit2SEP1, "normal", false ) + makeString( "linkargs", linkargsSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tanruUnit2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk8) yyColumn.chunk8 = new Chunk8();
if (null == yyColumn.chunk8.ftanruUnit2)
yyColumn.chunk8.ftanruUnit2 = ptanruUnit2$1(yyStart);
return yyColumn.chunk8.ftanruUnit2;
}
/** Actually parse xtc.lang.lojban.tanruUnit2. */
private Result ptanruUnit2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBRIVLAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BRIVLAClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "BRIVLAClause", BRIVLAClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pGOhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GOhAClauseSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pRAhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String RAhOClauseSEP4 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyValue = makeString( "GOhAClause", GOhAClauseSEP3, "normal", false ) + makeString( "RAhOClause", RAhOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pKEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP6 = (String)yyResult.semanticValue();
yyResult = p$$Shared13(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyResult = pselbri3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbri3SEP8 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$8 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$8;
}
String KEhEClauseSEP9 = yyOpValue1;
yyResult = p$$Shared24(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP10 = (Pair)yyResult.semanticValue();
yyValue = makeString( "KEClause", KEClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "selbri3", selbri3SEP8, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP9, "normal", false ) + makeString( "free", freeSEP10, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 4.
yyResult = pMEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MEClauseSEP11 = (String)yyResult.semanticValue();
yyResult = p$$Shared16(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP12 = (Pair)yyResult.semanticValue();
yyResult = ptanruUnit2$$Choice1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen13 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pMEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$13 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$13;
}
String MEhUClauseSEP14 = yyOpValue1;
yyResult = p$$Shared25(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP15 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pMOIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$16 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$16;
}
String MOIClauseSEP16 = yyOpValue1;
yyResult = ptanruUnit2$$Star7(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP17 = (Pair)yyResult.semanticValue();
yyValue = makeString( "MEClause", MEClauseSEP11, "normal", false ) + makeString( "free", freeSEP12, "normal", false ) + makeString( "PARSERparen13", PARSERparen13, "parserParen", false ) + makeString( "MEhUClause", MEhUClauseSEP14, "normal", false ) + makeString( "free", freeSEP15, "normal", false ) + makeString( "MOIClause", MOIClauseSEP16, "normal", false ) + makeString( "free", freeSEP17, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Alternative 5.
yyResult = p$$Shared26(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen18 = yyResult.semanticValue();
yyResult = pMOIClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MOIClauseSEP19 = (String)yyResult.semanticValue();
yyResult = p$$Shared19(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP20 = (Pair)yyResult.semanticValue();
yyValue = makeString( "PARSERparen18", PARSERparen18, "parserParen", false ) + makeString( "MOIClause", MOIClauseSEP19, "normal", false ) + makeString( "free", freeSEP20, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 6.
yyResult = pNUhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUhAClauseSEP21 = (String)yyResult.semanticValue();
yyResult = p$$Shared20(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP22 = (Pair)yyResult.semanticValue();
yyResult = pmexOperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexOperatorSEP23 = (String)yyResult.semanticValue();
yyValue = makeString( "NUhAClause", NUhAClauseSEP21, "normal", false ) + makeString( "free", freeSEP22, "normal", false ) + makeString( "mexOperator", mexOperatorSEP23, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 7.
yyResult = pSEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SEClauseSEP24 = (String)yyResult.semanticValue();
yyResult = p$$Shared21(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP25 = (Pair)yyResult.semanticValue();
yyResult = ptanruUnit2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit2SEP26 = (String)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP24, "normal", false ) + makeString( "free", freeSEP25, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP26, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 8.
yyResult = pJAIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String JAIClauseSEP27 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP28 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = ptag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$27 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$27;
}
String tagSEP29 = yyOpValue1;
yyResult = ptanruUnit2(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit2SEP30 = (String)yyResult.semanticValue();
yyValue = makeString( "JAIClause", JAIClauseSEP27, "normal", false ) + makeString( "free", freeSEP28, "normal", false ) + makeString( "tag", tagSEP29, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP30, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 9.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP31 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP32 = (Pair)yyResult.semanticValue();
yyResult = ptanruUnit2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tanruUnit2SEP33 = (String)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP31, "normal", false ) + makeString( "free", freeSEP32, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP33, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 10.
yyResult = pNUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUClauseSEP34 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$30 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$30;
}
String NAIClauseSEP35 = yyOpValue1;
yyResult = p$$Shared22(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP36 = (Pair)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star15(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen37 = (Pair)yyResult.semanticValue();
yyResult = psubsentence(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String subsentenceSEP38 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$38 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$38;
}
String KEIClauseSEP39 = yyOpValue1;
yyResult = ptanruUnit2$$Star16(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP40 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NUClause", NUClauseSEP34, "normal", false ) + makeString( "NAIClause", NAIClauseSEP35, "normal", false ) + makeString( "free", freeSEP36, "normal", false ) + makeString( "PARSERparen37", PARSERparen37, "parserParen", false ) + makeString( "subsentence", subsentenceSEP38, "normal", false ) + makeString( "KEIClause", KEIClauseSEP39, "normal", false ) + makeString( "free", freeSEP40, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psumti(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = plerfuString(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuStringSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared25.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.tanruUnit2$$Star6 and xtc.lang.lojban.operand3$$Star6.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared25(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.f$$Shared25)
yyColumn.chunk9.f$$Shared25 = p$$Shared25$1(yyStart);
return yyColumn.chunk9.f$$Shared25;
}
/** Actually parse xtc.lang.lojban.$$Shared25. */
private Result p$$Shared25$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$14 = (String)yyResult.semanticValue();
yyResult = p$$Shared25(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$15 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$14, v$15);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Star7.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Star7(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.ftanruUnit2$$Star7)
yyColumn.chunk9.ftanruUnit2$$Star7 = ptanruUnit2$$Star7$1(yyStart);
return yyColumn.chunk9.ftanruUnit2$$Star7;
}
/** Actually parse xtc.lang.lojban.tanruUnit2$$Star7. */
private Result ptanruUnit2$$Star7$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$17 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$18 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$17, v$18);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared26.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.tanruUnit2$$Choice2 and xtc.lang.lojban.free$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared26(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.f$$Shared26)
yyColumn.chunk9.f$$Shared26 = p$$Shared26$1(yyStart);
return yyColumn.chunk9.f$$Shared26;
}
/** Actually parse xtc.lang.lojban.$$Shared26. */
private Result p$$Shared26$1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pnumber(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String numberSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "number", numberSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = plerfuString(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuStringSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Star11.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Star11(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.ftanruUnit2$$Star11)
yyColumn.chunk9.ftanruUnit2$$Star11 = ptanruUnit2$$Star11$1(yyStart);
return yyColumn.chunk9.ftanruUnit2$$Star11;
}
/** Actually parse xtc.lang.lojban.tanruUnit2$$Star11. */
private Result ptanruUnit2$$Star11$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$25 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$26 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$25, v$26);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Star12.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Star12(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.ftanruUnit2$$Star12)
yyColumn.chunk9.ftanruUnit2$$Star12 = ptanruUnit2$$Star12$1(yyStart);
return yyColumn.chunk9.ftanruUnit2$$Star12;
}
/** Actually parse xtc.lang.lojban.tanruUnit2$$Star12. */
private Result ptanruUnit2$$Star12$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$28 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$29 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$28, v$29);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Choice3(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikJek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP1 = (String)yyResult.semanticValue();
yyResult = pNUClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NUClauseSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$33 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$33;
}
String NAIClauseSEP3 = yyOpValue1;
yyResult = p$$Shared23(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "NUClause", NUClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Star15.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Star15(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.ftanruUnit2$$Star15)
yyColumn.chunk9.ftanruUnit2$$Star15 = ptanruUnit2$$Star15$1(yyStart);
return yyColumn.chunk9.ftanruUnit2$$Star15;
}
/** Actually parse xtc.lang.lojban.tanruUnit2$$Star15. */
private Result ptanruUnit2$$Star15$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptanruUnit2$$Choice3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$36 = yyResult.semanticValue();
yyResult = ptanruUnit2$$Star15(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$37 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$36, v$37);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tanruUnit2$$Star16.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptanruUnit2$$Star16(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.ftanruUnit2$$Star16)
yyColumn.chunk9.ftanruUnit2$$Star16 = ptanruUnit2$$Star16$1(yyStart);
return yyColumn.chunk9.ftanruUnit2$$Star16;
}
/** Actually parse xtc.lang.lojban.tanruUnit2$$Star16. */
private Result ptanruUnit2$$Star16$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$39 = (String)yyResult.semanticValue();
yyResult = ptanruUnit2$$Star16(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$40 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$39, v$40);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linkargs.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargs(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.flinkargs)
yyColumn.chunk9.flinkargs = plinkargs$1(yyStart);
return yyColumn.chunk9.flinkargs;
}
/** Actually parse xtc.lang.lojban.linkargs. */
private Result plinkargs$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinkargs$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair linkargsSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = plinkargs1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String linkargs1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "linkargsSa", linkargsSaSEP1, "normal", false ) + makeString( "linkargs1", linkargs1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.linkargs$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargs$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.flinkargs$$Star1)
yyColumn.chunk9.flinkargs$$Star1 = plinkargs$$Star1$1(yyStart);
return yyColumn.chunk9.flinkargs$$Star1;
}
/** Actually parse xtc.lang.lojban.linkargs$$Star1. */
private Result plinkargs$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinkargsSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = plinkargs$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linkargs1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargs1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk9) yyColumn.chunk9 = new Chunk9();
if (null == yyColumn.chunk9.flinkargs1)
yyColumn.chunk9.flinkargs1 = plinkargs1$1(yyStart);
return yyColumn.chunk9.flinkargs1;
}
/** Actually parse xtc.lang.lojban.linkargs1. */
private Result plinkargs1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pterm(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = plinks(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String linksSEP4 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pBEhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String BEhOClauseSEP5 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyValue = makeString( "BEClause", BEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "term", termSEP3, "normal", false ) + makeString( "links", linksSEP4, "normal", false ) + makeString( "BEhOClause", BEhOClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linkargsSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargsSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinkargsStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String linkargsStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = plinkargsSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = plinkargs1(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "linkargsStart", linkargsStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.linkargsSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargsSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = plinkargsStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("linkargs sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.linkargsSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargsSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = plinkargsStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = plinkargsSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("linkargs sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linkargsStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinkargsStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.flinkargsStart)
yyColumn.chunk10.flinkargsStart = plinkargsStart$1(yyStart);
return yyColumn.chunk10.flinkargsStart;
}
/** Actually parse xtc.lang.lojban.linkargsStart. */
private Result plinkargsStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BEClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "BEClause", BEClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.links.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinks(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.flinks)
yyColumn.chunk10.flinks = plinks$1(yyStart);
return yyColumn.chunk10.flinks;
}
/** Actually parse xtc.lang.lojban.links. */
private Result plinks$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinks$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair linksSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = plinks1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String links1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "linksSa", linksSaSEP1, "normal", false ) + makeString( "links1", links1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.links$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinks$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.flinks$$Star1)
yyColumn.chunk10.flinks$$Star1 = plinks$$Star1$1(yyStart);
return yyColumn.chunk10.flinks$$Star1;
}
/** Actually parse xtc.lang.lojban.links$$Star1. */
private Result plinks$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinksSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = plinks$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.links1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinks1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.flinks1)
yyColumn.chunk10.flinks1 = plinks1$1(yyStart);
return yyColumn.chunk10.flinks1;
}
/** Actually parse xtc.lang.lojban.links1. */
private Result plinks1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBEIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BEIClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pterm(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String termSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = plinks(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String linksSEP4 = yyOpValue1;
yyValue = makeString( "BEIClause", BEIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "term", termSEP3, "normal", false ) + makeString( "links", linksSEP4, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linksSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinksSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plinksStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String linksStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = plinksSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = plinks1(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "linksStart", linksStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.linksSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinksSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = plinksStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("links sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.linksSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinksSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = plinksStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = plinksSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("links sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.linksStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plinksStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.flinksStart)
yyColumn.chunk10.flinksStart = plinksStart$1(yyStart);
return yyColumn.chunk10.flinksStart;
}
/** Actually parse xtc.lang.lojban.linksStart. */
private Result plinksStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBEIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BEIClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "BEIClause", BEIClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.quantifier.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pquantifier(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.fquantifier)
yyColumn.chunk10.fquantifier = pquantifier$1(yyStart);
return yyColumn.chunk10.fquantifier;
}
/** Actually parse xtc.lang.lojban.quantifier. */
private Result pquantifier$1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pnumber(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String numberSEP1 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pMOIClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pBOIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String BOIClauseSEP2 = yyOpValue1;
yyResult = p$$Shared11(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "number", numberSEP1, "normal", false ) + makeString( "BOIClause", BOIClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("quantifier expected", yyStart);
}
}
// Alternative 2.
yyResult = pVEIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String VEIClauseSEP4 = (String)yyResult.semanticValue();
yyResult = p$$Shared6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyResult = pmex(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexSEP6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pVEhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
String VEhOClauseSEP7 = yyOpValue1;
yyResult = p$$Shared15(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP8 = (Pair)yyResult.semanticValue();
yyValue = makeString( "VEIClause", VEIClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) + makeString( "mex", mexSEP6, "normal", false ) + makeString( "VEhOClause", VEhOClauseSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mex.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.fmex)
yyColumn.chunk10.fmex = pmex$1(yyStart);
return yyColumn.chunk10.fmex;
}
/** Actually parse xtc.lang.lojban.mex. */
private Result pmex$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmex$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair mexSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pmex0(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mex0SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "mexSa", mexSaSEP1, "normal", false ) + makeString( "mex0", mex0SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mex$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.fmex$$Star1)
yyColumn.chunk10.fmex$$Star1 = pmex$$Star1$1(yyStart);
return yyColumn.chunk10.fmex$$Star1;
}
/** Actually parse xtc.lang.lojban.mex$$Star1. */
private Result pmex$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmexSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pmex$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mex0.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex0(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.fmex0)
yyColumn.chunk10.fmex0 = pmex0$1(yyStart);
return yyColumn.chunk10.fmex0;
}
/** Actually parse xtc.lang.lojban.mex0. */
private Result pmex0$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmex1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mex1SEP1 = (String)yyResult.semanticValue();
yyResult = pmex0$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "mex1", mex1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = prpClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String rpClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "rpClause", rpClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mex0$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex0$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperator(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP1 = (String)yyResult.semanticValue();
yyResult = pmex1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mex1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "operator", operatorSEP1, "normal", false ) + makeString( "mex1", mex1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mex0$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex0$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk10) yyColumn.chunk10 = new Chunk10();
if (null == yyColumn.chunk10.fmex0$$Star1)
yyColumn.chunk10.fmex0$$Star1 = pmex0$$Star1$1(yyStart);
return yyColumn.chunk10.fmex0$$Star1;
}
/** Actually parse xtc.lang.lojban.mex0$$Star1. */
private Result pmex0$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmex0$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = pmex0$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mexSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmexStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pmexSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = pmex0(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "mexStart", mexStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mexSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pmexStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("mex sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mexSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pmexStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pmexSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("mex sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mexStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.fmexStart)
yyColumn.chunk11.fmexStart = pmexStart$1(yyStart);
return yyColumn.chunk11.fmexStart;
}
/** Actually parse xtc.lang.lojban.mexStart. */
private Result pmexStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFUhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FUhAClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "FUhAClause", FUhAClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pPEhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String PEhOClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "PEhOClause", PEhOClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = poperandStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandStartSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "operandStart", operandStartSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.rpClause.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prpClause(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pFUhAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FUhAClauseSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyResult = prpExpression(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String rpExpressionSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "FUhAClause", FUhAClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "rpExpression", rpExpressionSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mex1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.fmex1)
yyColumn.chunk11.fmex1 = pmex1$1(yyStart);
return yyColumn.chunk11.fmex1;
}
/** Actually parse xtc.lang.lojban.mex1. */
private Result pmex1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmex2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mex2SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pmex1$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$3 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "mex2", mex2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.mex1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBIhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BIhEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = poperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP3 = (String)yyResult.semanticValue();
yyResult = pmex1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mex1SEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "BIhEClause", BIhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "operator", operatorSEP3, "normal", false ) + makeString( "mex1", mex1SEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mex2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmex2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.fmex2)
yyColumn.chunk11.fmex2 = pmex2$1(yyStart);
return yyColumn.chunk11.fmex2;
}
/** Actually parse xtc.lang.lojban.mex2. */
private Result pmex2$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "operand", operandSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pmexForethought(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexForethoughtSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "mexForethought", mexForethoughtSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mexForethought.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexForethought(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pPEhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String PEhOClauseSEP1 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$2, yyRepValue1);
continue;
}
break;
}
Pair freeSEP2 = yyRepValue1.reverse();
yyResult = poperator(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP3 = (String)yyResult.semanticValue();
yyResult = pforeOperands(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String foreOperandsSEP4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKUhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String KUhEClauseSEP5 = yyOpValue1;
yyRepetition1 = yyOption1;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pfree(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$4, yyRepValue1);
continue;
}
break;
}
Pair freeSEP6 = yyRepValue1.reverse();
yyValue = makeString( "PEhOClause", PEhOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "operator", operatorSEP3, "normal", false ) + makeString( "foreOperands", foreOperandsSEP4, "normal", false ) + makeString( "KUhEClause", KUhEClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.foreOperands.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pforeOperands(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
boolean yyRepeated1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyRepetition1 = yyStart;
yyRepeated1 = false;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pmex2(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepeated1 = true;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
if (yyRepeated1) {
Pair mex2SEP1 = yyRepValue1.reverse();
yyValue = makeString( "mex2", mex2SEP1, "normal", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.rpExpression.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prpExpression(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.frpExpression)
yyColumn.chunk11.frpExpression = prpExpression$1(yyStart);
return yyColumn.chunk11.frpExpression;
}
/** Actually parse xtc.lang.lojban.rpExpression. */
private Result prpExpression$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandSEP1 = (String)yyResult.semanticValue();
yyResult = prpExpressionTail(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String rpExpressionTailSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "operand", operandSEP1, "normal", false ) + makeString( "rpExpressionTail", rpExpressionTailSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.rpExpressionTail.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result prpExpressionTail(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.frpExpressionTail)
yyColumn.chunk11.frpExpressionTail = prpExpressionTail$1(yyStart);
return yyColumn.chunk11.frpExpressionTail;
}
/** Actually parse xtc.lang.lojban.rpExpressionTail. */
private Result prpExpressionTail$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = prpExpression(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String rpExpressionSEP1 = (String)yyResult.semanticValue();
yyResult = poperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP2 = (String)yyResult.semanticValue();
yyResult = prpExpressionTail(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String rpExpressionTailSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "rpExpression", rpExpressionSEP1, "normal", false ) + makeString( "operator", operatorSEP2, "normal", false ) + makeString( "rpExpressionTail", rpExpressionTailSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyValue = "" ;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operator.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.foperator)
yyColumn.chunk11.foperator = poperator$1(yyStart);
return yyColumn.chunk11.foperator;
}
/** Actually parse xtc.lang.lojban.operator. */
private Result poperator$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperator$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair operatorSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = poperator0(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator0SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "operatorSa", operatorSaSEP1, "normal", false ) + makeString( "operator0", operator0SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operator$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.foperator$$Star1)
yyColumn.chunk11.foperator$$Star1 = poperator$$Star1$1(yyStart);
return yyColumn.chunk11.foperator$$Star1;
}
/** Actually parse xtc.lang.lojban.operator$$Star1. */
private Result poperator$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperatorSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = poperator$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operator0.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator0(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.foperator0)
yyColumn.chunk11.foperator0 = poperator0$1(yyStart);
return yyColumn.chunk11.foperator0;
}
/** Actually parse xtc.lang.lojban.operator0. */
private Result poperator0$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperator1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator1SEP1 = (String)yyResult.semanticValue();
yyResult = poperator0$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "operator1", operator1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operator0$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator0$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikJek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP1 = (String)yyResult.semanticValue();
yyResult = poperator1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "operator1", operator1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP4 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyResult = poperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KEhEClauseSEP8 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP9 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP3, "normal", false ) + makeString( "stag", stagSEP4, "normal", false ) + makeString( "KEClause", KEClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) + makeString( "operator", operatorSEP7, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP8, "normal", false ) + makeString( "free", freeSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operator0$$Star3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator0$$Star3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.foperator0$$Star3)
yyColumn.chunk11.foperator0$$Star3 = poperator0$$Star3$1(yyStart);
return yyColumn.chunk11.foperator0$$Star3;
}
/** Actually parse xtc.lang.lojban.operator0$$Star3. */
private Result poperator0$$Star3$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperator0$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$7 = yyResult.semanticValue();
yyResult = poperator0$$Star3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$8 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$7, v$8);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operatorSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperatorSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperatorStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = poperatorSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = poperator0(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "operatorStart", operatorStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operatorSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperatorSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = poperatorStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("operator sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operatorSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperatorSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = poperatorStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = poperatorSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("operator sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operatorStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperatorStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk11) yyColumn.chunk11 = new Chunk11();
if (null == yyColumn.chunk11.foperatorStart)
yyColumn.chunk11.foperatorStart = poperatorStart$1(yyStart);
return yyColumn.chunk11.foperatorStart;
}
/** Actually parse xtc.lang.lojban.operatorStart. */
private Result poperatorStart$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pguhek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String guhekSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "guhek", guhekSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pKEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "KEClause", KEClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String SEClauseSEP3 = yyOpValue1;
yyResult = pNAhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP3, "normal", false ) + makeString( "NAhEClause", NAhEClauseSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String SEClauseSEP5 = yyOpValue1;
yyResult = pMAhOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MAhOClauseSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP5, "normal", false ) + makeString( "MAhOClause", MAhOClauseSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String SEClauseSEP7 = yyOpValue1;
yyResult = pVUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String VUhUClauseSEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP7, "normal", false ) + makeString( "VUhUClause", VUhUClauseSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operator1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperator1)
yyColumn.chunk12.foperator1 = poperator1$1(yyStart);
return yyColumn.chunk12.foperator1;
}
/** Actually parse xtc.lang.lojban.operator1. */
private Result poperator1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperator2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator2SEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "operator2", operator2SEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pguhek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String guhekSEP2 = (String)yyResult.semanticValue();
yyResult = poperator1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator1SEP3 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP4 = (String)yyResult.semanticValue();
yyResult = poperator2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator2SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "guhek", guhekSEP2, "normal", false ) + makeString( "operator1", operator1SEP3, "normal", false ) + makeString( "gik", gikSEP4, "normal", false ) + makeString( "operator2", operator2SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 3.
yyResult = poperator2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator2SEP6 = (String)yyResult.semanticValue();
yyResult = p$$Shared5(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP8 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP9 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP10 = (Pair)yyResult.semanticValue();
yyResult = poperator1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operator1SEP11 = (String)yyResult.semanticValue();
yyValue = makeString( "operator2", operator2SEP6, "normal", false ) + makeString( "PARSERparen7", PARSERparen7, "parserParen", false ) + makeString( "stag", stagSEP8, "normal", false ) + makeString( "BOClause", BOClauseSEP9, "normal", false ) + makeString( "free", freeSEP10, "normal", false ) + makeString( "operator1", operator1SEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operator2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperator2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperator2)
yyColumn.chunk12.foperator2 = poperator2$1(yyStart);
return yyColumn.chunk12.foperator2;
}
/** Actually parse xtc.lang.lojban.operator2. */
private Result poperator2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmexOperator(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexOperatorSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "mexOperator", mexOperatorSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pKEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP2 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyResult = poperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operatorSEP4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String KEhEClauseSEP5 = yyOpValue1;
yyResult = p$$Shared6(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyValue = makeString( "KEClause", KEClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "operator", operatorSEP4, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.mexOperator.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pmexOperator(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.fmexOperator)
yyColumn.chunk12.fmexOperator = pmexOperator$1(yyStart);
return yyColumn.chunk12.fmexOperator;
}
/** Actually parse xtc.lang.lojban.mexOperator. */
private Result pmexOperator$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pSEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyResult = pmexOperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexOperatorSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "mexOperator", mexOperatorSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 2.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP4 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyResult = pmexOperator(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexOperatorSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) + makeString( "mexOperator", mexOperatorSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 3.
yyResult = pMAhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MAhOClauseSEP7 = (String)yyResult.semanticValue();
yyResult = p$$Shared12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP8 = (Pair)yyResult.semanticValue();
yyResult = pmex(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String mexSEP9 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
String TEhUClauseSEP10 = yyOpValue1;
yyResult = p$$Shared10(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP11 = (Pair)yyResult.semanticValue();
yyValue = makeString( "MAhOClause", MAhOClauseSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) + makeString( "mex", mexSEP9, "normal", false ) + makeString( "TEhUClause", TEhUClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 4.
yyResult = pNAhUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhUClauseSEP12 = (String)yyResult.semanticValue();
yyResult = p$$Shared7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP13 = (Pair)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP14 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$12 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$12;
}
String TEhUClauseSEP15 = yyOpValue1;
yyResult = p$$Shared17(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP16 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NAhUClause", NAhUClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) + makeString( "selbri", selbriSEP14, "normal", false ) + makeString( "TEhUClause", TEhUClauseSEP15, "normal", false ) + makeString( "free", freeSEP16, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 5.
yyResult = pVUhUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String VUhUClauseSEP17 = (String)yyResult.semanticValue();
yyResult = p$$Shared18(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP18 = (Pair)yyResult.semanticValue();
yyValue = makeString( "VUhUClause", VUhUClauseSEP17, "normal", false ) + makeString( "free", freeSEP18, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operand.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand)
yyColumn.chunk12.foperand = poperand$1(yyStart);
return yyColumn.chunk12.foperand;
}
/** Actually parse xtc.lang.lojban.operand. */
private Result poperand$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair operandSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = poperand0(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand0SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "operandSa", operandSaSEP1, "normal", false ) + makeString( "operand0", operand0SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand$$Star1)
yyColumn.chunk12.foperand$$Star1 = poperand$$Star1$1(yyStart);
return yyColumn.chunk12.foperand$$Star1;
}
/** Actually parse xtc.lang.lojban.operand$$Star1. */
private Result poperand$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperandSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = poperand$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operand0.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand0(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand0)
yyColumn.chunk12.foperand0 = poperand0$1(yyStart);
return yyColumn.chunk12.foperand0;
}
/** Actually parse xtc.lang.lojban.operand0. */
private Result poperand0$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand1SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = poperand0$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "operand1", operand1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand0$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand0$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pKEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KEClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = poperand(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKEhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KEhEClauseSEP6 = yyOpValue1;
yyResult = p$$Shared12(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "KEClause", KEClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "operand", operandSEP5, "normal", false ) + makeString( "KEhEClause", KEhEClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operandSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperandSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperandStart(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandStartSEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = poperandSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = poperand0(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "operandStart", operandStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operandSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperandSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = poperandStart(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("operand sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operandSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperandSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = poperandStart(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = poperandSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("operand sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operandStart.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperandStart(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperandStart)
yyColumn.chunk12.foperandStart = poperandStart$1(yyStart);
return yyColumn.chunk12.foperandStart;
}
/** Actually parse xtc.lang.lojban.operandStart. */
private Result poperandStart$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = plerfuWord(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuWordSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "lerfuWord", lerfuWordSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pNIhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NIhEClauseSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "NIhEClause", NIhEClauseSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pMOhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MOhEClauseSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "MOhEClause", MOhEClauseSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 5.
yyResult = pJOhIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String JOhIClauseSEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "JOhIClause", JOhIClauseSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 6.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 7.
yyResult = pLAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAhEClauseSEP7 = (String)yyResult.semanticValue();
yyValue = makeString( "LAhEClause", LAhEClauseSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 8.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP8 = (String)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP8, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operand1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand1(final int yyStart) throws IOException {
Result yyResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand2SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = poperand1$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyValue = makeString( "operand2", operand2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyRepetition1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyResult = poperand2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand2SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "operand2", operand2SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operand2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand2)
yyColumn.chunk12.foperand2 = poperand2$1(yyStart);
return yyColumn.chunk12.foperand2;
}
/** Actually parse xtc.lang.lojban.operand2. */
private Result poperand2$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
Object yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = poperand3(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand3SEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = poperand2$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$4 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
Object PARSERparen2 = yyOpValue1;
yyValue = makeString( "operand3", operand3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand2$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand2$$Choice1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEkSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pstag(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String stagSEP2 = yyOpValue1;
yyResult = pBOClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared11(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = poperand2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand2SEP5 = (String)yyResult.semanticValue();
yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "stag", stagSEP2, "normal", false ) + makeString( "BOClause", BOClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "operand2", operand2SEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.operand3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand3)
yyColumn.chunk12.foperand3 = poperand3$1(yyStart);
return yyColumn.chunk12.foperand3;
}
/** Actually parse xtc.lang.lojban.operand3. */
private Result poperand3$1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pquantifier(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String quantifierSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = plerfuString(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuStringSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pMOIClause(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pBOIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String BOIClauseSEP3 = yyOpValue1;
yyResult = p$$Shared11(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) + makeString( "BOIClause", BOIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("operand3 expected", yyStart);
}
}
// Alternative 3.
yyResult = pNIhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NIhEClauseSEP5 = (String)yyResult.semanticValue();
yyResult = p$$Shared6(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP6 = (Pair)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
String TEhUClauseSEP8 = yyOpValue1;
yyResult = p$$Shared15(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP9 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NIhEClause", NIhEClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) + makeString( "selbri", selbriSEP7, "normal", false ) + makeString( "TEhUClause", TEhUClauseSEP8, "normal", false ) + makeString( "free", freeSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 4.
yyResult = pMOhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String MOhEClauseSEP10 = (String)yyResult.semanticValue();
yyResult = p$$Shared24(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP11 = (Pair)yyResult.semanticValue();
yyResult = psumti(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String sumtiSEP12 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$11 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$11;
}
String TEhUClauseSEP13 = yyOpValue1;
yyResult = poperand3$$Star5(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP14 = (Pair)yyResult.semanticValue();
yyValue = makeString( "MOhEClause", MOhEClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) + makeString( "sumti", sumtiSEP12, "normal", false ) + makeString( "TEhUClause", TEhUClauseSEP13, "normal", false ) + makeString( "free", freeSEP14, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 5.
yyResult = pJOhIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String JOhIClauseSEP15 = (String)yyResult.semanticValue();
yyResult = p$$Shared25(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP16 = (Pair)yyResult.semanticValue();
yyResult = poperand3$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair mex2SEP17 = (Pair)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pTEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$19 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$19;
}
String TEhUClauseSEP18 = yyOpValue1;
yyResult = poperand3$$Star7(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP19 = (Pair)yyResult.semanticValue();
yyValue = makeString( "JOhIClause", JOhIClauseSEP15, "normal", false ) + makeString( "free", freeSEP16, "normal", false ) + makeString( "mex2", mex2SEP17, "normal", false ) + makeString( "TEhUClause", TEhUClauseSEP18, "normal", false ) + makeString( "free", freeSEP19, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 6.
yyResult = pgek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gekSEP20 = (String)yyResult.semanticValue();
yyResult = poperand(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandSEP21 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP22 = (String)yyResult.semanticValue();
yyResult = poperand3(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operand3SEP23 = (String)yyResult.semanticValue();
yyValue = makeString( "gek", gekSEP20, "normal", false ) + makeString( "operand", operandSEP21, "normal", false ) + makeString( "gik", gikSEP22, "normal", false ) + makeString( "operand3", operand3SEP23, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Alternative 7.
yyResult = poperand3$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen24 = yyResult.semanticValue();
yyResult = poperand(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String operandSEP25 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pLUhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$26 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$26;
}
String LUhUClauseSEP26 = yyOpValue1;
yyResult = poperand3$$Star10(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP27 = (Pair)yyResult.semanticValue();
yyValue = makeString( "PARSERparen24", PARSERparen24, "parserParen", false ) + makeString( "operand", operandSEP25, "normal", false ) + makeString( "LUhUClause", LUhUClauseSEP26, "normal", false ) + makeString( "free", freeSEP27, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Star5.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Star5(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk12) yyColumn.chunk12 = new Chunk12();
if (null == yyColumn.chunk12.foperand3$$Star5)
yyColumn.chunk12.foperand3$$Star5 = poperand3$$Star5$1(yyStart);
return yyColumn.chunk12.foperand3$$Star5;
}
/** Actually parse xtc.lang.lojban.operand3$$Star5. */
private Result poperand3$$Star5$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$12 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star5(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$13 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$12, v$13);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Plus1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Plus1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.foperand3$$Plus1)
yyColumn.chunk13.foperand3$$Plus1 = poperand3$$Plus1$1(yyStart);
return yyColumn.chunk13.foperand3$$Plus1;
}
/** Actually parse xtc.lang.lojban.operand3$$Plus1. */
private Result poperand3$$Plus1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pmex2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$16 = (String)yyResult.semanticValue();
yyResult = poperand3$$Plus1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$17 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$16, v$17);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pmex2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$18 = (String)yyResult.semanticValue();
yyValue = new Pair(v$18);
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Star7.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Star7(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.foperand3$$Star7)
yyColumn.chunk13.foperand3$$Star7 = poperand3$$Star7$1(yyStart);
return yyColumn.chunk13.foperand3$$Star7;
}
/** Actually parse xtc.lang.lojban.operand3$$Star7. */
private Result poperand3$$Star7$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$20 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star7(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$21 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$20, v$21);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Star8.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Star8(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.foperand3$$Star8)
yyColumn.chunk13.foperand3$$Star8 = poperand3$$Star8$1(yyStart);
return yyColumn.chunk13.foperand3$$Star8;
}
/** Actually parse xtc.lang.lojban.operand3$$Star8. */
private Result poperand3$$Star8$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$22 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star8(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$23 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$22, v$23);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Star9.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Star9(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.foperand3$$Star9)
yyColumn.chunk13.foperand3$$Star9 = poperand3$$Star9$1(yyStart);
return yyColumn.chunk13.foperand3$$Star9;
}
/** Actually parse xtc.lang.lojban.operand3$$Star9. */
private Result poperand3$$Star9$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$24 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$25 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$24, v$25);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pLAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAhEClauseSEP1 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star8(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "LAhEClause", LAhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pNAhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String NAhEClauseSEP3 = (String)yyResult.semanticValue();
yyResult = pBOClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BOClauseSEP4 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP5 = (Pair)yyResult.semanticValue();
yyValue = makeString( "NAhEClause", NAhEClauseSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.operand3$$Star10.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result poperand3$$Star10(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.foperand3$$Star10)
yyColumn.chunk13.foperand3$$Star10 = poperand3$$Star10$1(yyStart);
return yyColumn.chunk13.foperand3$$Star10;
}
/** Actually parse xtc.lang.lojban.operand3$$Star10. */
private Result poperand3$$Star10$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pfree(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$27 = (String)yyResult.semanticValue();
yyResult = poperand3$$Star10(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$28 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$27, v$28);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.number.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pnumber(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.fnumber)
yyColumn.chunk13.fnumber = pnumber$1(yyStart);
return yyColumn.chunk13.fnumber;
}
/** Actually parse xtc.lang.lojban.number. */
private Result pnumber$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String PAClauseSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared37(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "PAClause", PAClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared27.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.number$$Choice1 and xtc.lang.lojban.lerfuString$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared27(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pPAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String PAClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "PAClause", PAClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = plerfuWord(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuWordSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "lerfuWord", lerfuWordSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared37.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.number$$Star1 and xtc.lang.lojban.lerfuString$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared37(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.f$$Shared37)
yyColumn.chunk13.f$$Shared37 = p$$Shared37$1(yyStart);
return yyColumn.chunk13.f$$Shared37;
}
/** Actually parse xtc.lang.lojban.$$Shared37. */
private Result p$$Shared37$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared27(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = p$$Shared37(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.lerfuString.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plerfuString(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.flerfuString)
yyColumn.chunk13.flerfuString = plerfuString$1(yyStart);
return yyColumn.chunk13.flerfuString;
}
/** Actually parse xtc.lang.lojban.lerfuString. */
private Result plerfuString$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = plerfuWord(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuWordSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared37(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "lerfuWord", lerfuWordSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.lerfuWord.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result plerfuWord(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.flerfuWord)
yyColumn.chunk13.flerfuWord = plerfuWord$1(yyStart);
return yyColumn.chunk13.flerfuWord;
}
/** Actually parse xtc.lang.lojban.lerfuWord. */
private Result plerfuWord$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pBYClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BYClauseSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "BYClause", BYClauseSEP1, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pLAUClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String LAUClauseSEP2 = (String)yyResult.semanticValue();
yyResult = plerfuWord(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuWordSEP3 = (String)yyResult.semanticValue();
yyValue = makeString( "LAUClause", LAUClauseSEP2, "normal", false ) + makeString( "lerfuWord", lerfuWordSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 3.
yyResult = pTEIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String TEIClauseSEP4 = (String)yyResult.semanticValue();
yyResult = plerfuString(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String lerfuStringSEP5 = (String)yyResult.semanticValue();
yyResult = pFOIClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FOIClauseSEP6 = (String)yyResult.semanticValue();
yyValue = makeString( "TEIClause", TEIClauseSEP4, "normal", false ) + makeString( "lerfuString", lerfuStringSEP5, "normal", false ) + makeString( "FOIClause", FOIClauseSEP6, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.ek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk13) yyColumn.chunk13 = new Chunk13();
if (null == yyColumn.chunk13.fek) yyColumn.chunk13.fek = pek$1(yyStart);
return yyColumn.chunk13.fek;
}
/** Actually parse xtc.lang.lojban.ek. */
private Result pek$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String NAClauseSEP1 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String SEClauseSEP2 = yyOpValue1;
yyResult = pAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String AClauseSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String NAIClauseSEP4 = yyOpValue1;
yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "AClause", AClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gihek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fgihek)
yyColumn.chunk14.fgihek = pgihek$1(yyStart);
return yyColumn.chunk14.fgihek;
}
/** Actually parse xtc.lang.lojban.gihek. */
private Result pgihek$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihek$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair gihekSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pgihek1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihek1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "gihekSa", gihekSaSEP1, "normal", false ) + makeString( "gihek1", gihek1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.gihek$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihek$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fgihek$$Star1)
yyColumn.chunk14.fgihek$$Star1 = pgihek$$Star1$1(yyStart);
return yyColumn.chunk14.fgihek$$Star1;
}
/** Actually parse xtc.lang.lojban.gihek$$Star1. */
private Result pgihek$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihekSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pgihek$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gihek1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihek1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fgihek1)
yyColumn.chunk14.fgihek1 = pgihek1$1(yyStart);
return yyColumn.chunk14.fgihek1;
}
/** Actually parse xtc.lang.lojban.gihek1. */
private Result pgihek1$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String NAClauseSEP1 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String SEClauseSEP2 = yyOpValue1;
yyResult = pGIhAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GIhAClauseSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String NAIClauseSEP4 = yyOpValue1;
yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "GIhAClause", GIhAClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gihekSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihekSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pgihek1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gihek1SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pgihekSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = pgihek(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "gihek1", gihek1SEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.gihekSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihekSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pgihek1(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("gihek sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.gihekSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgihekSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pgihek1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pgihekSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("gihek sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.jek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjek)
yyColumn.chunk14.fjek = pjek$1(yyStart);
return yyColumn.chunk14.fjek;
}
/** Actually parse xtc.lang.lojban.jek. */
private Result pjek$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String NAClauseSEP1 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String SEClauseSEP2 = yyOpValue1;
yyResult = pJAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String JAClauseSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String NAIClauseSEP4 = yyOpValue1;
yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "JAClause", JAClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.joik.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoik(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjoik)
yyColumn.chunk14.fjoik = pjoik$1(yyStart);
return yyColumn.chunk14.fjoik;
}
/** Actually parse xtc.lang.lojban.joik. */
private Result pjoik$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String SEClauseSEP1 = yyOpValue1;
yyResult = pJOIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String JOIClauseSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String NAIClauseSEP3 = yyOpValue1;
yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "JOIClause", JOIClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = pinterval(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String intervalSEP4 = (String)yyResult.semanticValue();
yyValue = makeString( "interval", intervalSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 3.
yyResult = pGAhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GAhOClauseSEP5 = (String)yyResult.semanticValue();
yyResult = pinterval(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String intervalSEP6 = (String)yyResult.semanticValue();
yyResult = pGAhOClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GAhOClauseSEP7 = (String)yyResult.semanticValue();
yyValue = makeString( "GAhOClause", GAhOClauseSEP5, "normal", false ) + makeString( "interval", intervalSEP6, "normal", false ) + makeString( "GAhOClause", GAhOClauseSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.interval.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pinterval(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.finterval)
yyColumn.chunk14.finterval = pinterval$1(yyStart);
return yyColumn.chunk14.finterval;
}
/** Actually parse xtc.lang.lojban.interval. */
private Result pinterval$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String SEClauseSEP1 = yyOpValue1;
yyResult = pBIhIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BIhIClauseSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String NAIClauseSEP3 = yyOpValue1;
yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "BIhIClause", BIhIClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.joikEk.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEk(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjoikEk)
yyColumn.chunk14.fjoikEk = pjoikEk$1(yyStart);
return yyColumn.chunk14.fjoikEk;
}
/** Actually parse xtc.lang.lojban.joikEk. */
private Result pjoikEk$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk$$Star1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair joikEkSaSEP1 = (Pair)yyResult.semanticValue();
yyResult = pjoikEk1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEk1SEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikEkSa", joikEkSaSEP1, "normal", false ) + makeString( "joikEk1", joikEk1SEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.joikEk$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEk$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjoikEk$$Star1)
yyColumn.chunk14.fjoikEk$$Star1 = pjoikEk$$Star1$1(yyStart);
return yyColumn.chunk14.fjoikEk$$Star1;
}
/** Actually parse xtc.lang.lojban.joikEk$$Star1. */
private Result pjoikEk$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEkSa(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$1 = (String)yyResult.semanticValue();
yyResult = pjoikEk$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.joikEk1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEk1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjoikEk1)
yyColumn.chunk14.fjoikEk1 = pjoikEk1$1(yyStart);
return yyColumn.chunk14.fjoikEk1;
}
/** Actually parse xtc.lang.lojban.joikEk1. */
private Result pjoikEk1$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk1$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.joikEk1$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEk1$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String ekSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "ek", ekSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.joikEkSa.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEkSa(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
int yyRepetition1;
Pair yyRepValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikEk1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikEk1SEP1 = (String)yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = Pair.EMPTY;
while (true) {
yyResult = pjoikEkSa$$Choice1(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$el$1 = yyResult.semanticValue();
yyRepetition1 = yyResult.index;
yyRepValue1 = new Pair(v$el$1, yyRepValue1);
continue;
}
break;
}
Pair PARSERparen2 = yyRepValue1.reverse();
yyResult = pSAClause(yyRepetition1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP3 = (String)yyResult.semanticValue();
yyPredResult = pjoikEk(yyResult.index);
yyError = yyPredResult.select(yyError);
if (yyPredResult.hasValue()) {
yyValue = makeString( "joikEk1", joikEk1SEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.joikEkSa$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEkSa$$Choice2(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String saWordSEP1 = (String)yyResult.semanticValue();
yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = pSAClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String SAClauseSEP2 = (String)yyResult.semanticValue();
yyPredMatched = false;
yyPredResult = pjoikEk1(yyResult.index);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ;
return yyResult.createValue(yyValue, yyError);
} else {
yyError = yyError.select("joik ek sa expected", yyStart);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.joikEkSa$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikEkSa$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Result yyPredResult;
boolean yyPredMatched;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyPredMatched = false;
yyPredResult = pjoikEk1(yyStart);
if (yyPredResult.hasValue()) {
yyPredMatched = true;
}
if (! yyPredMatched) {
yyResult = pjoikEkSa$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
} else {
yyError = yyError.select("joik ek sa expected", yyStart);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.joikJek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pjoikJek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk14) yyColumn.chunk14 = new Chunk14();
if (null == yyColumn.chunk14.fjoikJek)
yyColumn.chunk14.fjoikJek = pjoikJek$1(yyStart);
return yyColumn.chunk14.fjoikJek;
}
/** Actually parse xtc.lang.lojban.joikJek. */
private Result pjoikJek$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pjek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String jekSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "jek", jekSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fgek)
yyColumn.chunk15.fgek = pgek$1(yyStart);
return yyColumn.chunk15.fgek;
}
/** Actually parse xtc.lang.lojban.gek. */
private Result pgek$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String SEClauseSEP1 = yyOpValue1;
yyResult = pGAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GAClauseSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String NAIClauseSEP3 = yyOpValue1;
yyResult = p$$Shared9(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "GAClause", GAClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pjoik(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikSEP5 = (String)yyResult.semanticValue();
yyResult = pGIClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GIClauseSEP6 = (String)yyResult.semanticValue();
yyResult = p$$Shared12(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyValue = makeString( "joik", joikSEP5, "normal", false ) + makeString( "GIClause", GIClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
// Alternative 3.
yyResult = pstag(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String stagSEP8 = (String)yyResult.semanticValue();
yyResult = pgik(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String gikSEP9 = (String)yyResult.semanticValue();
yyValue = makeString( "stag", stagSEP8, "normal", false ) + makeString( "gik", gikSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.guhek.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pguhek(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fguhek)
yyColumn.chunk15.fguhek = pguhek$1(yyStart);
return yyColumn.chunk15.fguhek;
}
/** Actually parse xtc.lang.lojban.guhek. */
private Result pguhek$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String SEClauseSEP1 = yyOpValue1;
yyResult = pGUhAClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GUhAClauseSEP2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String NAIClauseSEP3 = yyOpValue1;
yyResult = p$$Shared9(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "GUhAClause", GUhAClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.gik.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pgik(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fgik)
yyColumn.chunk15.fgik = pgik$1(yyStart);
return yyColumn.chunk15.fgik;
}
/** Actually parse xtc.lang.lojban.gik. */
private Result pgik$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pGIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String GIClauseSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String NAIClauseSEP2 = yyOpValue1;
yyResult = p$$Shared11(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP3 = (Pair)yyResult.semanticValue();
yyValue = makeString( "GIClause", GIClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptag(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.ftag)
yyColumn.chunk15.ftag = ptag$1(yyStart);
return yyColumn.chunk15.ftag;
}
/** Actually parse xtc.lang.lojban.tag. */
private Result ptag$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptenseModal(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tenseModalSEP1 = (String)yyResult.semanticValue();
yyResult = ptag$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "tenseModal", tenseModalSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared28.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.tag$$Choice1 and xtc.lang.lojban.stag$$Choice3.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared28(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.f$$Shared28)
yyColumn.chunk15.f$$Shared28 = p$$Shared28$1(yyStart);
return yyColumn.chunk15.f$$Shared28;
}
/** Actually parse xtc.lang.lojban.$$Shared28. */
private Result p$$Shared28$1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pjoikJek(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String joikJekSEP1 = (String)yyResult.semanticValue();
yyResult = ptenseModal(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tenseModalSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "tenseModal", tenseModalSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.tag$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptag$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.ftag$$Star1)
yyColumn.chunk15.ftag$$Star1 = ptag$$Star1$1(yyStart);
return yyColumn.chunk15.ftag$$Star1;
}
/** Actually parse xtc.lang.lojban.tag$$Star1. */
private Result ptag$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared28(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = ptag$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.stag.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstag(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fstag)
yyColumn.chunk15.fstag = pstag$1(yyStart);
return yyColumn.chunk15.fstag;
}
/** Actually parse xtc.lang.lojban.stag. */
private Result pstag$1(final int yyStart) throws IOException {
Result yyResult;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psimpleTenseModal(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String simpleTenseModalSEP1 = (String)yyResult.semanticValue();
yyResult = pstag$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "simpleTenseModal", simpleTenseModalSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = ptenseModal(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String tenseModalSEP3 = (String)yyResult.semanticValue();
yyResult = pstag$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair PARSERparen4 = (Pair)yyResult.semanticValue();
yyValue = makeString( "tenseModal", tenseModalSEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.stag$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstag$$Choice1(final int yyStart) throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared5(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyResult = psimpleTenseModal(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String simpleTenseModalSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "simpleTenseModal", simpleTenseModalSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.stag$$Star1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstag$$Star1(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fstag$$Star1)
yyColumn.chunk15.fstag$$Star1 = pstag$$Star1$1(yyStart);
return yyColumn.chunk15.fstag$$Star1;
}
/** Actually parse xtc.lang.lojban.stag$$Star1. */
private Result pstag$$Star1$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = pstag$$Choice1(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$1 = yyResult.semanticValue();
yyResult = pstag$$Star1(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$2 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$1, v$2);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.stag$$Star2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result pstag$$Star2(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.fstag$$Star2)
yyColumn.chunk15.fstag$$Star2 = pstag$$Star2$1(yyStart);
return yyColumn.chunk15.fstag$$Star2;
}
/** Actually parse xtc.lang.lojban.stag$$Star2. */
private Result pstag$$Star2$1(final int yyStart) throws IOException {
Result yyResult;
Pair yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared28(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object v$3 = yyResult.semanticValue();
yyResult = pstag$$Star2(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair v$4 = (Pair)yyResult.semanticValue();
yyValue = new Pair(v$3, v$4);
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyValue = Pair.EMPTY;
return new SemanticValue(yyValue, yyStart, yyError);
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.tenseModal.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result ptenseModal(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk15) yyColumn.chunk15 = new Chunk15();
if (null == yyColumn.chunk15.ftenseModal)
yyColumn.chunk15.ftenseModal = ptenseModal$1(yyStart);
return yyColumn.chunk15.ftenseModal;
}
/** Actually parse xtc.lang.lojban.tenseModal. */
private Result ptenseModal$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psimpleTenseModal(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String simpleTenseModalSEP1 = (String)yyResult.semanticValue();
yyResult = p$$Shared14(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP2 = (Pair)yyResult.semanticValue();
yyValue = makeString( "simpleTenseModal", simpleTenseModalSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Alternative 2.
yyResult = pFIhOClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String FIhOClauseSEP3 = (String)yyResult.semanticValue();
yyResult = p$$Shared9(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP4 = (Pair)yyResult.semanticValue();
yyResult = pselbri(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String selbriSEP5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pFEhUClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
String FEhUClauseSEP6 = yyOpValue1;
yyResult = p$$Shared13(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Pair freeSEP7 = (Pair)yyResult.semanticValue();
yyValue = makeString( "FIhOClause", FIhOClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) + makeString( "selbri", selbriSEP5, "normal", false ) + makeString( "FEhUClause", FEhUClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse nonterminal xtc.lang.lojban.simpleTenseModal.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psimpleTenseModal(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk16) yyColumn.chunk16 = new Chunk16();
if (null == yyColumn.chunk16.fsimpleTenseModal)
yyColumn.chunk16.fsimpleTenseModal = psimpleTenseModal$1(yyStart);
return yyColumn.chunk16.fsimpleTenseModal;
}
/** Actually parse xtc.lang.lojban.simpleTenseModal. */
private Result psimpleTenseModal$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
String yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$1;
}
String NAhEClauseSEP1 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pSEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$2 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$2;
}
String SEClauseSEP2 = yyOpValue1;
yyResult = pBAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String BAIClauseSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pNAIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$3;
}
String NAIClauseSEP4 = yyOpValue1;
yyOption1 = yyOption1;
yyOpValue1 = null;
yyResult = pKIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$4 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$4;
}
String KIClauseSEP5 = yyOpValue1;
yyValue = makeString( "NAhEClause", NAhEClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "BAIClause", BAIClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) + makeString( "KIClause", KIClauseSEP5, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyOption1 = yyStart;
yyOpValue1 = null;
yyResult = pNAhEClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$5 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$5;
}
String NAhEClauseSEP6 = yyOpValue1;
yyResult = psimpleTenseModal$$Choice1(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen7 = yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pKIClause(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$10 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$10;
}
String KIClauseSEP8 = yyOpValue1;
yyValue = makeString( "NAhEClause", NAhEClauseSEP6, "normal", false ) + makeString( "PARSERparen7", PARSERparen7, "parserParen", false ) + makeString( "KIClause", KIClauseSEP8, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 3.
yyResult = pKIClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String KIClauseSEP9 = (String)yyResult.semanticValue();
yyValue = makeString( "KIClause", KIClauseSEP9, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 4.
yyResult = pCUhEClause(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String CUhEClauseSEP10 = (String)yyResult.semanticValue();
yyValue = makeString( "CUhEClause", CUhEClauseSEP10, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.$$Shared29.
* This nonterminal represents the duplicate productions
* xtc.lang.lojban.simpleTenseModal$$Choice3
* and xtc.lang.lojban.simpleTenseModal$$Choice4.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result p$$Shared29(final int yyStart) throws IOException {
lojbanColumn yyColumn = (lojbanColumn)column(yyStart);
if (null == yyColumn.chunk16) yyColumn.chunk16 = new Chunk16();
if (null == yyColumn.chunk16.f$$Shared29)
yyColumn.chunk16.f$$Shared29 = p$$Shared29$1(yyStart);
return yyColumn.chunk16.f$$Shared29;
}
/** Actually parse xtc.lang.lojban.$$Shared29. */
private Result p$$Shared29$1(final int yyStart) throws IOException {
Result yyResult;
int yyOption1;
String yyOpValue1;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = ptime(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String timeSEP1 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = pspace(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$6 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$6;
}
String spaceSEP2 = yyOpValue1;
yyValue = makeString( "time", timeSEP1, "normal", false ) + makeString( "space", spaceSEP2, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Alternative 2.
yyResult = pspace(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String spaceSEP3 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = null;
yyResult = ptime(yyOption1);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String v$el$7 = (String)yyResult.semanticValue();
yyOption1 = yyResult.index;
yyOpValue1 = v$el$7;
}
String timeSEP4 = yyOpValue1;
yyValue = makeString( "space", spaceSEP3, "normal", false ) + makeString( "time", timeSEP4, "normal", false ) ;
return new SemanticValue(yyValue, yyOption1, yyError);
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.simpleTenseModal$$Choice2.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psimpleTenseModal$$Choice2(final int yyStart)
throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = p$$Shared29(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyResult = pCAhAClause(yyResult.index);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
String CAhAClauseSEP2 = (String)yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "CAhAClause", CAhAClauseSEP2, "normal", false ) ;
return yyResult.createValue(yyValue, yyError);
}
}
// Done.
return yyError;
}
// =========================================================================
/**
* Parse synthetic nonterminal xtc.lang.lojban.simpleTenseModal$$Choice1.
*
* @param yyStart The index.
* @return The result.
* @throws IOException Signals an I/O error.
*/
private Result psimpleTenseModal$$Choice1(final int yyStart)
throws IOException {
Result yyResult;
Object yyValue;
ParseError yyError = ParseError.DUMMY;
// Alternative 1.
yyResult = psimpleTenseModal$$Choice2(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen1 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// Alternative 2.
yyResult = p$$Shared29(yyStart);
yyError = yyResult.select(yyError);
if (yyResult.hasValue()) {
Object PARSERparen2 = yyResult.semanticValue();
yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ;
return yyResult.createValue(yyValue, yyError);
}
// A