module xtc.lang.lojban; //import xtc.lang.JavaIdentifier(xtc.lang.JavaSymbol, xtc.util.Spacing); //instantiate xtc.util.Symbol(xtc.util.Spacing); //import xtc.lang.JavaSymbol(xtc.util.Symbol); //import xtc.util.Spacing; header { 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; } body { // Used for ZOI public static String startString; public static String startString2; // Different types of output. public static boolean parserParens = false; public static boolean morphology = false; public static boolean morphprint = false; public static boolean whitespace = false; public static boolean blanks = false; public static boolean pretty = false; public static boolean text = false; public static boolean terml = false; public static boolean verbose = false; public static boolean latex = false; public static HashMap mex_data; public static void loadMexData() { try { FileReader f = new FileReader( "/home/rlpowell/www/hobbies/lojban/grammar/rats/mex.tsv" ); Reader r = new BufferedReader( f ); StreamTokenizer st = new StreamTokenizer(r); // Tokenizer setup. st.eolIsSignificant( true ); st.wordChars( ' ', '~' ); st.whitespaceChars( ' ', ' ' ); st.quoteChar( '\"' ); mex_data = new HashMap(); int ttype; ttype = st.nextToken(); while( ttype != java.io.StreamTokenizer.TT_EOF ) { String key; String[] values; values = new String[3]; int i = 0; if( st.sval == null ) { key = Integer.toString( (int) st.nval ); } else { key = st.sval; } ttype = st.nextToken(); while( ttype != java.io.StreamTokenizer.TT_EOL && ttype != java.io.StreamTokenizer.TT_EOF ) { if( st.sval == null ) { values[i] = Integer.toString( (int) st.nval ); } else { values[i] = st.sval; } System.out.println("mex val: " + values[i] ); i++; ttype = st.nextToken(); } System.out.println("mex data: " + key + "," + values[0] + "," + values[1] + "," + values[2] ); mex_data.put( key, values ); ttype = st.nextToken(); } } catch( java.io.FileNotFoundException e ) { System.out.println("mex data file not found.\n"); } catch( java.io.IOException e ) { System.out.println("mex data file io problems.\n"); } } public static boolean myAssign2 (String obj1) { startString2 = obj1; //System.out.println("ssmyAssign;" + startString + ";"); return true; } public static boolean myCompare (String obj1, String obj2) { /* System.out.println("obj1;" + obj1 + ";"); System.out.println("obj2;" + obj2 + ";"); System.out.println("comp;" + obj1.equals( obj2 ) + ";"); */ return obj1.equals( obj2 ); } public static boolean myAssign (String obj1) { startString = obj1; //System.out.println("ssmyAssign;" + startString + ";"); return true; } public static String nonVerbose( String pre, String main, boolean outermost ) { String retval; //System.out.println( "nv pre: "+pre); //System.out.println( "nv pre: "+main); // We mark the first increase in nesting. If we get back to // nest == 0 and see another increase, we have more than one // child. int nest=0; boolean single = true; boolean none = true; boolean found_child = false; for (int i=0; i 0) { // recursively create the parse tree ParseNode l_ParseNode = new ParseNode(lS_input); // create the viewable representation of the parse tree lSb_output = displayNode(l_ParseNode, ab_collapse, "", "", "", false); } return lSb_output.toString(); } private static StringBuffer displayNode( ParseNode a_ParseNode, boolean ab_collapse, String aS_indentBase, String aS_indentFirst, String aS_indentRest, boolean ab_collapsing) { // these are the indent strings final String INDENT = " "; final String INDENT_V = "| "; final String INDENT_V_DASH = "|- "; if (a_ParseNode.getNumChild() == 0) { // if the node has no children, display it return new StringBuffer(aS_indentBase + aS_indentFirst + a_ParseNode.getValue() + "\n"); } else if (ab_collapse && !ab_collapsing && a_ParseNode.getNumChild() == 1 && ParseUtil.removeNumerals(a_ParseNode.getValue()).equals(ParseUtil.removeNumerals(a_ParseNode.getChild(0).getValue()))) { // the node has only one child, and the value of the node is the same as the child (without numerals) // and this is the top level of this structure StringBuffer lSb_display; if (a_ParseNode.getChild(0).getNumChild() == 1 && ParseUtil.removeNumerals(a_ParseNode.getChild(0).getValue()).equals(ParseUtil.removeNumerals(a_ParseNode.getChild(0).getChild(0).getValue()))) { // if the same applies to the child include ellipses lSb_display = new StringBuffer(aS_indentBase + aS_indentFirst + a_ParseNode.getValue() + " ...\n"); } else { lSb_display = new StringBuffer(aS_indentBase + aS_indentFirst + a_ParseNode.getValue() + "\n"); } lSb_display.append(displayNode(a_ParseNode.getChild(0), ab_collapse, aS_indentBase + aS_indentRest, INDENT, INDENT, true)); return lSb_display; } else if (ab_collapse && ab_collapsing && a_ParseNode.getNumChild() == 1 && ParseUtil.removeNumerals(a_ParseNode.getValue()).equals(ParseUtil.removeNumerals(a_ParseNode.getChild(0).getValue()))) { // if the node has only one child, and the value of the node is the same as the child, display only the child return displayNode(a_ParseNode.getChild(0), ab_collapse, aS_indentBase, aS_indentFirst, aS_indentRest, true); } else if (a_ParseNode.getNumChild() == 1 && a_ParseNode.getChild(0).isTerminal()) { // if the node has only one child, and the child is a terminal, display both on the same line return new StringBuffer(aS_indentBase + aS_indentFirst + a_ParseNode.getValue() + ": " + a_ParseNode.getChild(0).getValue() + "\n"); } else { // otherwise display each of the children on a separate line StringBuffer lSb_display = new StringBuffer(aS_indentBase + aS_indentFirst + a_ParseNode.getValue() + "\n"); if (a_ParseNode.getNumChild() == 1) { // only one child lSb_display.append(displayNode(a_ParseNode.getChild(0), ab_collapse, aS_indentBase + aS_indentRest, INDENT, INDENT, false)); } else { for (int i = 0; i < a_ParseNode.getNumChild(); i++) { if (i == 0) { // first child lSb_display.append(displayNode(a_ParseNode.getChild(i), ab_collapse, aS_indentBase + aS_indentRest, INDENT_V_DASH, INDENT_V, false)); } else if (i == a_ParseNode.getNumChild() - 1) { // last child lSb_display.append(displayNode(a_ParseNode.getChild(i), ab_collapse, aS_indentBase + aS_indentRest, INDENT_V_DASH, INDENT, false)); } else { lSb_display.append(displayNode(a_ParseNode.getChild(i), ab_collapse, aS_indentBase + aS_indentRest, INDENT_V_DASH, INDENT_V, false)); } } } return lSb_display; } } static class ParseNode { String iS_value; boolean ib_terminal; int ii_numChild; ArrayList iLi_child; // constructor public ParseNode() { iS_value = ""; ib_terminal = true; ii_numChild = 0; iLi_child = new ArrayList(); } // constructor public ParseNode(String aS_text) { ii_numChild = 0; iLi_child = new ArrayList(); // find the end of the node String lS_text = aS_text.substring(0, ParseUtil.endOfNode(aS_text) + 1); if (ParseUtil.isTerminal(lS_text)) { // this is a terminal node iS_value = lS_text; ib_terminal = true; } else { // this node has sub-nodes iS_value = ParseUtil.getToken(ParseUtil.getWord(lS_text)); ib_terminal = false; // add the sub-nodes lS_text = ParseUtil.getTail(lS_text); while (!lS_text.equals(")")) { addChild(lS_text.substring(0, ParseUtil.endOfNode(lS_text) + 1)); lS_text = lS_text.substring(ParseUtil.endOfNode(lS_text) + 1).trim(); } } } // access methods public String getValue() { return iS_value; } public boolean isTerminal() { return ib_terminal; } public int getNumChild() { return ii_numChild; } public ParseNode addChild(String aS_value) { iLi_child.add(ii_numChild, new ParseNode(aS_value)); return (ParseNode) iLi_child.get(ii_numChild++); } public ParseNode getChild(int ai_index) { return (ParseNode) iLi_child.get(ai_index); } } // end of class ParseNode static class ParseUtil { // return the first word of a string public static String getWord(String aS_text) { String lS_text = aS_text.trim(); int li_spaceLoc = lS_text.indexOf(" "); if (li_spaceLoc == -1) { return lS_text; } else { return lS_text.substring(0, lS_text.indexOf(" ")); } } // return the string, excluding the first word public static String getTail(String aS_text) { String lS_text = aS_text.trim(); int li_spaceLoc = lS_text.indexOf(" "); if (li_spaceLoc == -1) { return ""; } else { return lS_text.substring(li_spaceLoc + 1); } } // return true if the node is a terminal node public static boolean isTerminal(String aS_text) { if (getWord(aS_text).endsWith("=(")) { return false; } else { return true; } } // return the string, excluding the trailing "=(" public static String getToken(String aS_text) { Pattern l_Pattern = Pattern.compile(" *([a-zA-Z]*[0-9]*)(\\=\\()? *"); Matcher l_Matcher = l_Pattern.matcher(aS_text); if (l_Matcher.matches()) { return l_Matcher.group(1); } else { return ""; } } // return the string, excluding the trailing numerals if present public static String removeNumerals(String aS_text) { Pattern l_Pattern = Pattern.compile(" *([a-zA-Z]*)([0-9]*) *"); Matcher l_Matcher = l_Pattern.matcher(aS_text); if (l_Matcher.matches()) { return l_Matcher.group(1); } else { return ""; } } // find the index of the end of the node (the closing right paren) public static int endOfNode(String aS_text) { int li_endIndex = -1; if (isTerminal(aS_text)) { // this is a terminal node int li_spaceLoc = aS_text.indexOf(" "); if (li_spaceLoc == -1) { li_endIndex = aS_text.length() - 1; } else { li_endIndex = aS_text.indexOf(" ") - 1; } } else { int li_parenCount = 0; boolean lb_seenParen = false; for (int i = 0; i < aS_text.length(); i++) { if (aS_text.charAt(i) == '(') { li_parenCount++; lb_seenParen = true; } if (aS_text.charAt(i) == ')') { li_parenCount--; } if (lb_seenParen && li_parenCount == 0) { li_endIndex = i; break; } } if (li_endIndex == -1) { throw new IndexOutOfBoundsException(); } } return li_endIndex; } } // end of class ParseUtil } //option withLocation, constant, parser(xtc.lang.JavaPackratParser); //option location,debug; //top text, morphology; // This is a Parsing Expression Grammar for Lojban. // See http://www.pdos.lcs.mit.edu/~baford/packrat/ // // All rules have the form: // // name <- peg-expression // // which means that the grammatical construct "name" is parsed using // "peg-expression". // // 1) Names in lower case are grammatical constructs. // 2) Names in UPPER CASE are selma'o (lexeme) names, and are terminals. // 3) Concatenation is expressed by juxtaposition with no operator symbol. // 4) / represents *ORDERED* alternation (choice). If the first // option succeeds, the others will never be checked. // 5) ? indicates that the element to the left is optional. // 6) * represents optional repetition of the construct to the left. // 7) + represents one-or-more repetition of the construct to the left. // 8) () serves to indicate the grouping of the other operators. // // Longest match wins. // --- GRAMMAR --- public String text = introNullSEP1:introNull NAIClauseSEP2:NAIClause* textPart2SEP3:textPart2 PARSERparen4:(!text1 joikJekSEP1:joikJek { yyValue = makeString( "joikJek", joikJekSEP1, "public", false ) ; } )? text1SEP5:text1? fahoClauseSEP6:fahoClause EOFSEP7:EOF? { 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 ) ; } ; String introNull = spacesSEP1:spaces? suClauseSEP2:suClause* introSiClauseSEP3:introSiClause { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "suClause", suClauseSEP2, "normal", false ) + makeString( "introSiClause", introSiClauseSEP3, "normal", false ) ; } ; String textPart2 = PARSERparen1:(CMENEClauseSEP1:CMENEClause+ { yyValue = makeString( "CMENEClause", CMENEClauseSEP1, "normal", false ) ; } / indicatorsSEP2:indicators? { yyValue = makeString( "indicators", indicatorsSEP2, "normal", false ) ; } ) freeSEP2:free* { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "free", freeSEP2, "normal", false ) ; } ; //; SPACE intro-sa-clause <- SA-clause+ / any-word-SA-handling !(ZEI-clause SA-clause) intro-sa-clause String introSiClause = siClauseSEP1:siClause? SIClauseSEP2:SIClause* { yyValue = makeString( "siClause", siClauseSEP1, "whitespace", false ) + makeString( "SIClause", SIClauseSEP2, "whitespace", false ) ; } ; String fahoClause = PARSERparen1:(FAhOClauseSEP1:FAhOClause dotStarSEP2:dotStar { yyValue = makeString( "FAhOClause", FAhOClauseSEP1, "whitespace", false ) + makeString( "dotStar", dotStarSEP2, "whitespace", false ) ; } )? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; // Please note that the "text-1" item in the text-1 production does // *not* match the BNF. This is due to a bug in the BNF. The change // here was made to match grammar.300 String text1 = IClauseSEP1:IClause PARSERparen2:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } )? PARSERparen3:(stagSEP1:stag? BOClauseSEP2:BOClause { yyValue = makeString( "stag", stagSEP1, "normal", false ) + makeString( "BOClause", BOClauseSEP2, "normal", false ) ; } )? freeSEP4:free* text1SEP5:text1? { 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 ) ; } / NIhOClauseSEP6:NIhOClause+ freeSEP7:free* suClauseSEP8:suClause* paragraphsSEP9:paragraphs? { yyValue = makeString( "NIhOClause", NIhOClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "suClause", suClauseSEP8, "normal", false ) + makeString( "paragraphs", paragraphsSEP9, "normal", false ) ; } / paragraphsSEP10:paragraphs { yyValue = makeString( "paragraphs", paragraphsSEP10, "normal", false ) ; } ; String paragraphs = paragraphSEP1:paragraph PARSERparen2:(NIhOClauseSEP1:NIhOClause+ freeSEP2:free* suClauseSEP3:suClause* paragraphsSEP4:paragraphs { yyValue = makeString( "NIhOClause", NIhOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "suClause", suClauseSEP3, "normal", false ) + makeString( "paragraphs", paragraphsSEP4, "normal", false ) ; } )? { yyValue = makeString( "paragraph", paragraphSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String paragraph = PARSERparen1:(statementSEP1:statement { yyValue = makeString( "statement", statementSEP1, "normal", false ) ; } / fragmentSEP2:fragment { yyValue = makeString( "fragment", fragmentSEP2, "normal", false ) ; } ) PARSERparen2:(IClauseSEP1:IClause !jek !joik !joikJek freeSEP2:free* PARSERparen3:(statementSEP1:statement { yyValue = makeString( "statement", statementSEP1, "normal", false ) ; } / fragmentSEP2:fragment { yyValue = makeString( "fragment", fragmentSEP2, "normal", false ) ; } )? { yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) ; } )* { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String statement = statement1SEP1:statement1 { yyValue = makeString( "statement1", statement1SEP1, "normal", false ) ; } / prenexSEP2:prenex statementSEP3:statement { yyValue = makeString( "prenex", prenexSEP2, "normal", false ) + makeString( "statement", statementSEP3, "normal", false ) ; } ; String statement1 = statement2SEP1:statement2 PARSERparen2:(IClauseSEP1:IClause joikJekSEP2:joikJek statement2SEP3:statement2? { yyValue = makeString( "IClause", IClauseSEP1, "normal", false ) + makeString( "joikJek", joikJekSEP2, "normal", false ) + makeString( "statement2", statement2SEP3, "normal", false ) ; } )* { yyValue = makeString( "statement2", statement2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String statement2 = statement3SEP1:statement3 PARSERparen2:(IClauseSEP1:IClause PARSERparen2:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } )? stagSEP3:stag? BOClauseSEP4:BOClause freeSEP5:free* statement2SEP6:statement2 { 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 ) ; } )? { yyValue = makeString( "statement3", statement3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / statement3SEP3:statement3 PARSERparen4:(IClauseSEP1:IClause PARSERparen2:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } )? stagSEP3:stag? BOClauseSEP4:BOClause freeSEP5:free* { 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 ) ; } )? { yyValue = makeString( "statement3", statement3SEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ; } ; String statement3 = sentenceSEP1:sentence { yyValue = makeString( "sentence", sentenceSEP1, "normal", false ) ; } / tagSEP2:tag? TUhEClauseSEP3:TUhEClause freeSEP4:free* text1SEP5:text1 TUhUClauseSEP6:TUhUClause? freeSEP7:free* { 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 ) ; } ; String fragment = prenexSEP1:prenex { yyValue = makeString( "prenex", prenexSEP1, "normal", false ) ; } / termsSEP2:terms VAUClauseSEP3:VAUClause? freeSEP4:free* { yyValue = makeString( "terms", termsSEP2, "normal", false ) + makeString( "VAUClause", VAUClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } / ekSEP5:ek freeSEP6:free* { yyValue = makeString( "ek", ekSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ; } / gihekSEP7:gihek freeSEP8:free* { yyValue = makeString( "gihek", gihekSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) ; } / quantifierSEP9:quantifier { yyValue = makeString( "quantifier", quantifierSEP9, "normal", false ) ; } / NAClauseSEP10:NAClause !JAClause freeSEP11:free* { yyValue = makeString( "NAClause", NAClauseSEP10, "normal", false ) + makeString( "free", freeSEP11, "normal", false ) ; } / relativeClausesSEP12:relativeClauses { yyValue = makeString( "relativeClauses", relativeClausesSEP12, "normal", false ) ; } / linksSEP13:links { yyValue = makeString( "links", linksSEP13, "normal", false ) ; } / linkargsSEP14:linkargs { yyValue = makeString( "linkargs", linkargsSEP14, "normal", false ) ; } ; String prenex = termsSEP1:terms ZOhUClauseSEP2:ZOhUClause freeSEP3:free* { yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "ZOhUClause", ZOhUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } ; //; sentence <- (terms CU-clause? free*)? bridi-tail / bridi-tail String sentence = PARSERparen1:(termsSEP1:terms bridiTailSaSEP2:bridiTailSa* CUClauseSEP3:CUClause? freeSEP4:free* { yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "bridiTailSa", bridiTailSaSEP2, "normal", false ) + makeString( "CUClause", CUClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } )? bridiTailSaSEP2:bridiTailSa* bridiTailSEP3:bridiTail { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "bridiTailSa", bridiTailSaSEP2, "normal", false ) + makeString( "bridiTail", bridiTailSEP3, "normal", false ) ; } ; String sentenceSa = sentenceStartSEP1:sentenceStart PARSERparen2:(!sentenceStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !sentenceStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &text1 { yyValue = makeString( "sentenceStart", sentenceStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String sentenceStart = IPreSEP1:IPre { yyValue = makeString( "IPre", IPreSEP1, "normal", false ) ; } / NIhOPreSEP2:NIhOPre { yyValue = makeString( "NIhOPre", NIhOPreSEP2, "normal", false ) ; } ; String subsentence = sentenceSEP1:sentence { yyValue = makeString( "sentence", sentenceSEP1, "normal", false ) ; } / prenexSEP2:prenex subsentenceSEP3:subsentence { yyValue = makeString( "prenex", prenexSEP2, "normal", false ) + makeString( "subsentence", subsentenceSEP3, "normal", false ) ; } ; String bridiTail = bridiTail1SEP1:bridiTail1 PARSERparen2:(gihekSEP1:gihek stagSEP2:stag? KEClauseSEP3:KEClause freeSEP4:free* bridiTailSEP5:bridiTail KEhEClauseSEP6:KEhEClause? freeSEP7:free* tailTermsSEP8:tailTerms { 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 ) ; } )? { yyValue = makeString( "bridiTail1", bridiTail1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String bridiTailSa = bridiTailStartSEP1:bridiTailStart PARSERparen2:(termSEP1:term { yyValue = makeString( "term", termSEP1, "whitespace", false ) ; } / !bridiTailStart PARSERparen2:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !bridiTailStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &bridiTail { yyValue = makeString( "bridiTailStart", bridiTailStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String bridiTailStart = MEClauseSEP1:MEClause { yyValue = makeString( "MEClause", MEClauseSEP1, "normal", false ) ; } / NUhAClauseSEP2:NUhAClause { yyValue = makeString( "NUhAClause", NUhAClauseSEP2, "normal", false ) ; } / NUClauseSEP3:NUClause { yyValue = makeString( "NUClause", NUClauseSEP3, "normal", false ) ; } / NAClauseSEP4:NAClause !KUClause { yyValue = makeString( "NAClause", NAClauseSEP4, "normal", false ) ; } / NAhEClauseSEP5:NAhEClause !BOClause { yyValue = makeString( "NAhEClause", NAhEClauseSEP5, "normal", false ) ; } / selbriSEP6:selbri { yyValue = makeString( "selbri", selbriSEP6, "normal", false ) ; } / tagSEP7:tag bridiTailStartSEP8:bridiTailStart { yyValue = makeString( "tag", tagSEP7, "normal", false ) + makeString( "bridiTailStart", bridiTailStartSEP8, "normal", false ) ; } / KEClauseSEP9:KEClause bridiTailStartSEP10:bridiTailStart { yyValue = makeString( "KEClause", KEClauseSEP9, "normal", false ) + makeString( "bridiTailStart", bridiTailStartSEP10, "normal", false ) ; } / bridiTailSEP11:bridiTail { yyValue = makeString( "bridiTail", bridiTailSEP11, "normal", false ) ; } ; String bridiTail1 = bridiTail2SEP1:bridiTail2 PARSERparen2:(gihekSEP1:gihek !(stag? BOClause) !(stag? KEClause) freeSEP2:free* bridiTail2SEP3:bridiTail2 tailTermsSEP4:tailTerms { yyValue = makeString( "gihek", gihekSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "bridiTail2", bridiTail2SEP3, "normal", false ) + makeString( "tailTerms", tailTermsSEP4, "normal", false ) ; } )* { yyValue = makeString( "bridiTail2", bridiTail2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String bridiTail2 = bridiTail3SEP1:bridiTail3 PARSERparen2:(gihekSEP1:gihek stagSEP2:stag? BOClauseSEP3:BOClause freeSEP4:free* bridiTail2SEP5:bridiTail2 tailTermsSEP6:tailTerms { 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 ) ; } )? { yyValue = makeString( "bridiTail3", bridiTail3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String bridiTail3 = selbriSEP1:selbri tailTermsSEP2:tailTerms { yyValue = makeString( "selbri", selbriSEP1, "normal", false ) + makeString( "tailTerms", tailTermsSEP2, "normal", false ) ; } / gekSentenceSEP3:gekSentence { yyValue = makeString( "gekSentence", gekSentenceSEP3, "normal", false ) ; } ; String gekSentence = gekSEP1:gek subsentenceSEP2:subsentence gikSEP3:gik subsentenceSEP4:subsentence tailTermsSEP5:tailTerms { 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 ) ; } / tagSEP6:tag? KEClauseSEP7:KEClause freeSEP8:free* gekSentenceSEP9:gekSentence KEhEClauseSEP10:KEhEClause? freeSEP11:free* { 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 ) ; } / NAClauseSEP12:NAClause freeSEP13:free* gekSentenceSEP14:gekSentence { yyValue = makeString( "NAClause", NAClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) + makeString( "gekSentence", gekSentenceSEP14, "normal", false ) ; } ; String tailTerms = termsSEP1:terms? VAUClauseSEP2:VAUClause? freeSEP3:free* { yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "VAUClause", VAUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } ; String terms = terms1SEP1:terms1+ { yyValue = makeString( "terms1", terms1SEP1, "normal", false ) ; } ; //; terms-1 <- terms-2 (PEhE-clause free* joik-jek terms-2)* //; terms-2 <- term (CEhE-clause free* term)* String terms1 = terms2SEP1:terms2 PARSERparen2:(peheSaSEP1:peheSa* PEhEClauseSEP2:PEhEClause freeSEP3:free* joikJekSEP4:joikJek terms2SEP5:terms2 { 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 ) ; } )* { yyValue = makeString( "terms2", terms2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String terms2 = termSEP1:term PARSERparen2:(ceheSaSEP1:ceheSa* CEhEClauseSEP2:CEhEClause freeSEP3:free* termSEP4:term { yyValue = makeString( "ceheSa", ceheSaSEP1, "normal", false ) + makeString( "CEhEClause", CEhEClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "term", termSEP4, "normal", false ) ; } )* { yyValue = makeString( "term", termSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String peheSa = PEhEClauseSEP1:PEhEClause PARSERparen2:(!PEhEClause PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !PEhEClause { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause { yyValue = makeString( "PEhEClause", PEhEClauseSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String ceheSa = CEhEClauseSEP1:CEhEClause PARSERparen2:(!CEhEClause PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !CEhEClause { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause { yyValue = makeString( "CEhEClause", CEhEClauseSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; //;term <- sumti / ( !gek (tag / FA-clause free*) (sumti / KU-clause? free*) ) / termset / NA-clause KU-clause free* String term = termSaSEP1:termSa* term1SEP2:term1 { yyValue = makeString( "termSa", termSaSEP1, "normal", false ) + makeString( "term1", term1SEP2, "normal", false ) ; } ; String term1 = sumtiSEP1:sumti { yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ; } / PARSERparen2:( !gek PARSERparen1:(tagSEP1:tag { yyValue = makeString( "tag", tagSEP1, "normal", false ) ; } / FAClauseSEP2:FAClause freeSEP3:free* { yyValue = makeString( "FAClause", FAClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } ) PARSERparen2:(sumtiSEP1:sumti { yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ; } / KUClauseSEP2:KUClause? freeSEP3:free* { yyValue = makeString( "KUClause", KUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ) { yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / termsetSEP3:termset { yyValue = makeString( "termset", termsetSEP3, "normal", false ) ; } / NAClauseSEP4:NAClause KUClauseSEP5:KUClause freeSEP6:free* { yyValue = makeString( "NAClause", NAClauseSEP4, "normal", false ) + makeString( "KUClause", KUClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ; } ; String termSa = termStartSEP1:termStart PARSERparen2:(!termStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !termStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &term1 { yyValue = makeString( "termStart", termStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String termStart = term1SEP1:term1 { yyValue = makeString( "term1", term1SEP1, "normal", false ) ; } / LAClauseSEP2:LAClause { yyValue = makeString( "LAClause", LAClauseSEP2, "normal", false ) ; } / LEClauseSEP3:LEClause { yyValue = makeString( "LEClause", LEClauseSEP3, "normal", false ) ; } / LIClauseSEP4:LIClause { yyValue = makeString( "LIClause", LIClauseSEP4, "normal", false ) ; } / LUClauseSEP5:LUClause { yyValue = makeString( "LUClause", LUClauseSEP5, "normal", false ) ; } / LAhEClauseSEP6:LAhEClause { yyValue = makeString( "LAhEClause", LAhEClauseSEP6, "normal", false ) ; } / quantifierSEP7:quantifier termStartSEP8:termStart { yyValue = makeString( "quantifier", quantifierSEP7, "normal", false ) + makeString( "termStart", termStartSEP8, "normal", false ) ; } / gekSEP9:gek sumtiSEP10:sumti gikSEP11:gik { yyValue = makeString( "gek", gekSEP9, "normal", false ) + makeString( "sumti", sumtiSEP10, "normal", false ) + makeString( "gik", gikSEP11, "normal", false ) ; } / FAClauseSEP12:FAClause { yyValue = makeString( "FAClause", FAClauseSEP12, "normal", false ) ; } / tagSEP13:tag termStartSEP14:termStart { yyValue = makeString( "tag", tagSEP13, "normal", false ) + makeString( "termStart", termStartSEP14, "normal", false ) ; } ; String termset = gekTermsetSEP1:gekTermset { yyValue = makeString( "gekTermset", gekTermsetSEP1, "normal", false ) ; } / NUhIClauseSEP2:NUhIClause freeSEP3:free* gekSEP4:gek termsSEP5:terms NUhUClauseSEP6:NUhUClause? freeSEP7:free* gikSEP8:gik termsSEP9:terms NUhUClauseSEP10:NUhUClause? freeSEP11:free* { 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 ) ; } / NUhIClauseSEP12:NUhIClause freeSEP13:free* termsSEP14:terms NUhUClauseSEP15:NUhUClause? freeSEP16:free* { 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 ) ; } ; String gekTermset = gekSEP1:gek termsGikTermsSEP2:termsGikTerms { yyValue = makeString( "gek", gekSEP1, "normal", false ) + makeString( "termsGikTerms", termsGikTermsSEP2, "normal", false ) ; } ; String termsGikTerms = termSEP1:term PARSERparen2:(gikSEP1:gik { yyValue = makeString( "gik", gikSEP1, "normal", false ) ; } / termsGikTermsSEP2:termsGikTerms { yyValue = makeString( "termsGikTerms", termsGikTermsSEP2, "normal", false ) ; } ) termSEP3:term { yyValue = makeString( "term", termSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "term", termSEP3, "normal", false ) ; } ; String sumti = sumti1SEP1:sumti1 PARSERparen2:(VUhOClauseSEP1:VUhOClause freeSEP2:free* relativeClausesSEP3:relativeClauses { yyValue = makeString( "VUhOClause", VUhOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) ; } )? { yyValue = makeString( "sumti1", sumti1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String sumti1 = sumti2SEP1:sumti2 PARSERparen2:(joikEkSEP1:joikEk stagSEP2:stag? KEClauseSEP3:KEClause freeSEP4:free* sumtiSEP5:sumti KEhEClauseSEP6:KEhEClause? freeSEP7:free* { 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 ) ; } )? { yyValue = makeString( "sumti2", sumti2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String sumti2 = sumti3SEP1:sumti3 PARSERparen2:(joikEkSEP1:joikEk sumti3SEP2:sumti3 { yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "sumti3", sumti3SEP2, "normal", false ) ; } )* { yyValue = makeString( "sumti3", sumti3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String sumti3 = sumti4SEP1:sumti4 PARSERparen2:(joikEkSEP1:joikEk stagSEP2:stag? BOClauseSEP3:BOClause freeSEP4:free* sumti3SEP5:sumti3 { 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 ) ; } )? { yyValue = makeString( "sumti4", sumti4SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String sumti4 = sumti5SEP1:sumti5 { yyValue = makeString( "sumti5", sumti5SEP1, "normal", false ) ; } / gekSEP2:gek sumtiSEP3:sumti gikSEP4:gik sumti4SEP5:sumti4 { yyValue = makeString( "gek", gekSEP2, "normal", false ) + makeString( "sumti", sumtiSEP3, "normal", false ) + makeString( "gik", gikSEP4, "normal", false ) + makeString( "sumti4", sumti4SEP5, "normal", false ) ; } ; String sumti5 = quantifierSEP1:quantifier? sumti6SEP2:sumti6 relativeClausesSEP3:relativeClauses? { yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) + makeString( "sumti6", sumti6SEP2, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) ; } / quantifierSEP4:quantifier selbriSEP5:selbri KUClauseSEP6:KUClause? freeSEP7:free* relativeClausesSEP8:relativeClauses? { 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 ) ; } ; String sumti6 = ZOClauseSEP1:ZOClause freeSEP2:free* { yyValue = makeString( "ZOClause", ZOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / ZOIClauseSEP3:ZOIClause freeSEP4:free* { yyValue = makeString( "ZOIClause", ZOIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } / LOhUClauseSEP5:LOhUClause freeSEP6:free* { yyValue = makeString( "LOhUClause", LOhUClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) ; } / lerfuStringSEP7:lerfuString !MOIClause BOIClauseSEP8:BOIClause? freeSEP9:free* { yyValue = makeString( "lerfuString", lerfuStringSEP7, "normal", false ) + makeString( "BOIClause", BOIClauseSEP8, "normal", false ) + makeString( "free", freeSEP9, "normal", false ) ; } / LUClauseSEP10:LUClause textSEP11:text LIhUClauseSEP12:LIhUClause? freeSEP13:free* { yyValue = makeString( "LUClause", LUClauseSEP10, "normal", false ) + makeString( "text", textSEP11, "normal", false ) + makeString( "LIhUClause", LIhUClauseSEP12, "normal", false ) + makeString( "free", freeSEP13, "normal", false ) ; } / PARSERparen14:(LAhEClauseSEP1:LAhEClause freeSEP2:free* { yyValue = makeString( "LAhEClause", LAhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / NAhEClauseSEP3:NAhEClause BOClauseSEP4:BOClause freeSEP5:free* { yyValue = makeString( "NAhEClause", NAhEClauseSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ; } ) relativeClausesSEP15:relativeClauses? sumtiSEP16:sumti LUhUClauseSEP17:LUhUClause? freeSEP18:free* { 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 ) ; } / KOhAClauseSEP19:KOhAClause freeSEP20:free* { yyValue = makeString( "KOhAClause", KOhAClauseSEP19, "normal", false ) + makeString( "free", freeSEP20, "normal", false ) ; } / LAClauseSEP21:LAClause freeSEP22:free* relativeClausesSEP23:relativeClauses? CMENEClauseSEP24:CMENEClause+ freeSEP25:free* { 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 ) ; } / PARSERparen26:(LAClauseSEP1:LAClause { yyValue = makeString( "LAClause", LAClauseSEP1, "normal", false ) ; } / LEClauseSEP2:LEClause { yyValue = makeString( "LEClause", LEClauseSEP2, "normal", false ) ; } ) freeSEP27:free* sumtiTailSEP28:sumtiTail KUClauseSEP29:KUClause? freeSEP30:free* { 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 ) ; } / liClauseSEP31:liClause { yyValue = makeString( "liClause", liClauseSEP31, "normal", false ) ; } ; String liClause = LIClauseSEP1:LIClause freeSEP2:free* mexSEP3:mex LOhOClauseSEP4:LOhOClause? freeSEP5:free* { 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 ) ; } ; String sumtiTail = PARSERparen1:(sumti6SEP1:sumti6 relativeClausesSEP2:relativeClauses? { yyValue = makeString( "sumti6", sumti6SEP1, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP2, "normal", false ) ; } )? sumtiTail1SEP2:sumtiTail1 { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "sumtiTail1", sumtiTail1SEP2, "normal", false ) ; } / relativeClausesSEP3:relativeClauses sumtiTail1SEP4:sumtiTail1 { yyValue = makeString( "relativeClauses", relativeClausesSEP3, "normal", false ) + makeString( "sumtiTail1", sumtiTail1SEP4, "normal", false ) ; } ; String sumtiTail1 = selbriSEP1:selbri relativeClausesSEP2:relativeClauses? { yyValue = makeString( "selbri", selbriSEP1, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP2, "normal", false ) ; } / quantifierSEP3:quantifier selbriSEP4:selbri relativeClausesSEP5:relativeClauses? { yyValue = makeString( "quantifier", quantifierSEP3, "normal", false ) + makeString( "selbri", selbriSEP4, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP5, "normal", false ) ; } / quantifierSEP6:quantifier sumtiSEP7:sumti { yyValue = makeString( "quantifier", quantifierSEP6, "normal", false ) + makeString( "sumti", sumtiSEP7, "normal", false ) ; } ; String relativeClauses = relativeClauseSEP1:relativeClause PARSERparen2:(ZIhEClauseSEP1:ZIhEClause freeSEP2:free* relativeClauseSEP3:relativeClause { yyValue = makeString( "ZIhEClause", ZIhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "relativeClause", relativeClauseSEP3, "normal", false ) ; } )* { yyValue = makeString( "relativeClause", relativeClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; //; relative-clause <- GOI-clause free* term GEhU-clause? free* / NOI-clause free* subsentence KUhO-clause? free* String relativeClause = relativeClauseSaSEP1:relativeClauseSa* relativeClause1SEP2:relativeClause1 { yyValue = makeString( "relativeClauseSa", relativeClauseSaSEP1, "normal", false ) + makeString( "relativeClause1", relativeClause1SEP2, "normal", false ) ; } ; String relativeClauseSa = relativeClauseStartSEP1:relativeClauseStart PARSERparen2:(!relativeClauseStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !relativeClauseStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &relativeClause1 { yyValue = makeString( "relativeClauseStart", relativeClauseStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String relativeClause1 = GOIClauseSEP1:GOIClause freeSEP2:free* termSEP3:term GEhUClauseSEP4:GEhUClause? freeSEP5:free* { 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 ) ; } / NOIClauseSEP6:NOIClause freeSEP7:free* subsentenceSEP8:subsentence KUhOClauseSEP9:KUhOClause? freeSEP10:free* { 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 ) ; } ; String relativeClauseStart = GOIClauseSEP1:GOIClause { yyValue = makeString( "GOIClause", GOIClauseSEP1, "normal", false ) ; } / NOIClauseSEP2:NOIClause { yyValue = makeString( "NOIClause", NOIClauseSEP2, "normal", false ) ; } ; String selbri = tagSEP1:tag? selbri1SEP2:selbri1 { yyValue = makeString( "tag", tagSEP1, "normal", false ) + makeString( "selbri1", selbri1SEP2, "normal", false ) ; } ; String selbri1 = selbri2SEP1:selbri2 { yyValue = makeString( "selbri2", selbri2SEP1, "normal", false ) ; } / NAClauseSEP2:NAClause freeSEP3:free* selbriSEP4:selbri { yyValue = makeString( "NAClause", NAClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) + makeString( "selbri", selbriSEP4, "normal", false ) ; } ; String selbri2 = selbri3SEP1:selbri3 PARSERparen2:(COClauseSEP1:COClause freeSEP2:free* selbri2SEP3:selbri2 { yyValue = makeString( "COClause", COClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "selbri2", selbri2SEP3, "normal", false ) ; } )? { yyValue = makeString( "selbri3", selbri3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String selbri3 = selbri4SEP1:selbri4+ { yyValue = makeString( "selbri4", selbri4SEP1, "normal", false ) ; } ; String selbri4 = selbri5SEP1:selbri5 PARSERparen2:(joikJekSEP1:joikJek selbri5SEP2:selbri5 { yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "selbri5", selbri5SEP2, "normal", false ) ; } / joikSEP3:joik stagSEP4:stag? KEClauseSEP5:KEClause freeSEP6:free* selbri3SEP7:selbri3 KEhEClauseSEP8:KEhEClause? freeSEP9:free* { 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 ) ; } )* { yyValue = makeString( "selbri5", selbri5SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String selbri5 = selbri6SEP1:selbri6 PARSERparen2:(PARSERparen1:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } ) stagSEP2:stag? BOClauseSEP3:BOClause freeSEP4:free* selbri5SEP5:selbri5 { 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 ) ; } )? { yyValue = makeString( "selbri6", selbri6SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String selbri6 = tanruUnitSEP1:tanruUnit PARSERparen2:(BOClauseSEP1:BOClause freeSEP2:free* selbri6SEP3:selbri6 { yyValue = makeString( "BOClause", BOClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "selbri6", selbri6SEP3, "normal", false ) ; } )? { yyValue = makeString( "tanruUnit", tanruUnitSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / NAhEClauseSEP3:NAhEClause? freeSEP4:free* guhekSEP5:guhek selbriSEP6:selbri gikSEP7:gik selbri6SEP8:selbri6 { 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 ) ; } ; String tanruUnit = tanruUnit1SEP1:tanruUnit1 PARSERparen2:(CEIClauseSEP1:CEIClause freeSEP2:free* tanruUnit1SEP3:tanruUnit1 { yyValue = makeString( "CEIClause", CEIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "tanruUnit1", tanruUnit1SEP3, "normal", false ) ; } )* { yyValue = makeString( "tanruUnit1", tanruUnit1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String tanruUnit1 = tanruUnit2SEP1:tanruUnit2 linkargsSEP2:linkargs? { yyValue = makeString( "tanruUnit2", tanruUnit2SEP1, "normal", false ) + makeString( "linkargs", linkargsSEP2, "normal", false ) ; } ; // ** zei is part of BRIVLA-clause String tanruUnit2 = BRIVLAClauseSEP1:BRIVLAClause freeSEP2:free* { yyValue = makeString( "BRIVLAClause", BRIVLAClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / GOhAClauseSEP3:GOhAClause RAhOClauseSEP4:RAhOClause? freeSEP5:free* { yyValue = makeString( "GOhAClause", GOhAClauseSEP3, "normal", false ) + makeString( "RAhOClause", RAhOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ; } / KEClauseSEP6:KEClause freeSEP7:free* selbri3SEP8:selbri3 KEhEClauseSEP9:KEhEClause? freeSEP10:free* { 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 ) ; } / MEClauseSEP11:MEClause freeSEP12:free* PARSERparen13:(sumtiSEP1:sumti { yyValue = makeString( "sumti", sumtiSEP1, "normal", false ) ; } / lerfuStringSEP2:lerfuString { yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ; } ) MEhUClauseSEP14:MEhUClause? freeSEP15:free* MOIClauseSEP16:MOIClause? freeSEP17:free* { 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 ) ; } / PARSERparen18:(numberSEP1:number { yyValue = makeString( "number", numberSEP1, "normal", false ) ; } / lerfuStringSEP2:lerfuString { yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ; } ) MOIClauseSEP19:MOIClause freeSEP20:free* { yyValue = makeString( "PARSERparen18", PARSERparen18, "parserParen", false ) + makeString( "MOIClause", MOIClauseSEP19, "normal", false ) + makeString( "free", freeSEP20, "normal", false ) ; } / NUhAClauseSEP21:NUhAClause freeSEP22:free* mexOperatorSEP23:mexOperator { yyValue = makeString( "NUhAClause", NUhAClauseSEP21, "normal", false ) + makeString( "free", freeSEP22, "normal", false ) + makeString( "mexOperator", mexOperatorSEP23, "normal", false ) ; } / SEClauseSEP24:SEClause freeSEP25:free* tanruUnit2SEP26:tanruUnit2 { yyValue = makeString( "SEClause", SEClauseSEP24, "normal", false ) + makeString( "free", freeSEP25, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP26, "normal", false ) ; } / JAIClauseSEP27:JAIClause freeSEP28:free* tagSEP29:tag? tanruUnit2SEP30:tanruUnit2 { yyValue = makeString( "JAIClause", JAIClauseSEP27, "normal", false ) + makeString( "free", freeSEP28, "normal", false ) + makeString( "tag", tagSEP29, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP30, "normal", false ) ; } / NAhEClauseSEP31:NAhEClause freeSEP32:free* tanruUnit2SEP33:tanruUnit2 { yyValue = makeString( "NAhEClause", NAhEClauseSEP31, "normal", false ) + makeString( "free", freeSEP32, "normal", false ) + makeString( "tanruUnit2", tanruUnit2SEP33, "normal", false ) ; } / NUClauseSEP34:NUClause NAIClauseSEP35:NAIClause? freeSEP36:free* PARSERparen37:(joikJekSEP1:joikJek NUClauseSEP2:NUClause NAIClauseSEP3:NAIClause? freeSEP4:free* { yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "NUClause", NUClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } )* subsentenceSEP38:subsentence KEIClauseSEP39:KEIClause? freeSEP40:free* { 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 ) ; } ; //; linkargs <- BE-clause free* term links? BEhO-clause? free* String linkargs = linkargsSaSEP1:linkargsSa* linkargs1SEP2:linkargs1 { yyValue = makeString( "linkargsSa", linkargsSaSEP1, "normal", false ) + makeString( "linkargs1", linkargs1SEP2, "normal", false ) ; } ; String linkargs1 = BEClauseSEP1:BEClause freeSEP2:free* termSEP3:term linksSEP4:links? BEhOClauseSEP5:BEhOClause? freeSEP6:free* { 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 ) ; } ; String linkargsSa = linkargsStartSEP1:linkargsStart PARSERparen2:(!linkargsStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !linkargsStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &linkargs1 { yyValue = makeString( "linkargsStart", linkargsStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String linkargsStart = BEClauseSEP1:BEClause { yyValue = makeString( "BEClause", BEClauseSEP1, "normal", false ) ; } ; //; links <- BEI-clause free* term links? String links = linksSaSEP1:linksSa* links1SEP2:links1 { yyValue = makeString( "linksSa", linksSaSEP1, "normal", false ) + makeString( "links1", links1SEP2, "normal", false ) ; } ; String links1 = BEIClauseSEP1:BEIClause freeSEP2:free* termSEP3:term linksSEP4:links? { yyValue = makeString( "BEIClause", BEIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "term", termSEP3, "normal", false ) + makeString( "links", linksSEP4, "normal", false ) ; } ; String linksSa = linksStartSEP1:linksStart PARSERparen2:(!linksStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !linksStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &links1 { yyValue = makeString( "linksStart", linksStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String linksStart = BEIClauseSEP1:BEIClause { yyValue = makeString( "BEIClause", BEIClauseSEP1, "normal", false ) ; } ; String quantifier = numberSEP1:number !MOIClause BOIClauseSEP2:BOIClause? freeSEP3:free* { yyValue = makeString( "number", numberSEP1, "normal", false ) + makeString( "BOIClause", BOIClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } / VEIClauseSEP4:VEIClause freeSEP5:free* mexSEP6:mex VEhOClauseSEP7:VEhOClause? freeSEP8:free* { 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 ) ; } ; //;mex <- mex-1 (operator mex-1)* / rp-clause String mex = mexSaSEP1:mexSa* mex0SEP2:mex0 { yyValue = makeString( "mexSa", mexSaSEP1, "normal", false ) + makeString( "mex0", mex0SEP2, "normal", false ) ; } ; String mex0 = mex1SEP1:mex1 PARSERparen2:(operatorSEP1:operator mex1SEP2:mex1 { yyValue = makeString( "operator", operatorSEP1, "normal", false ) + makeString( "mex1", mex1SEP2, "normal", false ) ; } )* { yyValue = makeString( "mex1", mex1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / rpClauseSEP3:rpClause { yyValue = makeString( "rpClause", rpClauseSEP3, "normal", false ) ; } ; String mexSa = mexStartSEP1:mexStart PARSERparen2:(!mexStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !mexStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &mex0 { yyValue = makeString( "mexStart", mexStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String mexStart = FUhAClauseSEP1:FUhAClause { yyValue = makeString( "FUhAClause", FUhAClauseSEP1, "normal", false ) ; } / PEhOClauseSEP2:PEhOClause { yyValue = makeString( "PEhOClause", PEhOClauseSEP2, "normal", false ) ; } / operandStartSEP3:operandStart { yyValue = makeString( "operandStart", operandStartSEP3, "normal", false ) ; } ; String rpClause = FUhAClauseSEP1:FUhAClause freeSEP2:free* rpExpressionSEP3:rpExpression { yyValue = makeString( "FUhAClause", FUhAClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "rpExpression", rpExpressionSEP3, "normal", false ) ; } ; String mex1 = mex2SEP1:mex2 PARSERparen2:(BIhEClauseSEP1:BIhEClause freeSEP2:free* operatorSEP3:operator mex1SEP4:mex1 { yyValue = makeString( "BIhEClause", BIhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "operator", operatorSEP3, "normal", false ) + makeString( "mex1", mex1SEP4, "normal", false ) ; } )? { yyValue = makeString( "mex2", mex2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String mex2 = operandSEP1:operand { yyValue = makeString( "operand", operandSEP1, "normal", false ) ; } / mexForethoughtSEP2:mexForethought { yyValue = makeString( "mexForethought", mexForethoughtSEP2, "normal", false ) ; } ; // This is just to make for clearer parse trees String mexForethought = PEhOClauseSEP1:PEhOClause? freeSEP2:free* operatorSEP3:operator foreOperandsSEP4:foreOperands KUhEClauseSEP5:KUhEClause? freeSEP6:free* { 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 ) ; } ; String foreOperands = mex2SEP1:mex2+ { yyValue = makeString( "mex2", mex2SEP1, "normal", false ) ; } ; //li fu'a reboi ci pi'i voboi mu pi'i su'i reboi ci vu'u su'i du li rexa //rp-expression <- rp-operand rp-operand operator //rp-operand <- operand / rp-expression // AKA (almost; this one allows a single operand; above does not. //rp-expression <- rp-expression rp-expression operator / operand // Right recursive version. String rpExpression = operandSEP1:operand rpExpressionTailSEP2:rpExpressionTail { yyValue = makeString( "operand", operandSEP1, "normal", false ) + makeString( "rpExpressionTail", rpExpressionTailSEP2, "normal", false ) ; } ; String rpExpressionTail = rpExpressionSEP1:rpExpression operatorSEP2:operator rpExpressionTailSEP3:rpExpressionTail { yyValue = makeString( "rpExpression", rpExpressionSEP1, "normal", false ) + makeString( "operator", operatorSEP2, "normal", false ) + makeString( "rpExpressionTail", rpExpressionTailSEP3, "normal", false ) ; } / ( { yyValue = "" ; } ); //; operator <- operator-1 (joik-jek operator-1 / joik stag? KE-clause free* operator KEhE-clause? free*)* String operator = operatorSaSEP1:operatorSa* operator0SEP2:operator0 { yyValue = makeString( "operatorSa", operatorSaSEP1, "normal", false ) + makeString( "operator0", operator0SEP2, "normal", false ) ; } ; String operator0 = operator1SEP1:operator1 PARSERparen2:(joikJekSEP1:joikJek operator1SEP2:operator1 { yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "operator1", operator1SEP2, "normal", false ) ; } / joikSEP3:joik stagSEP4:stag? KEClauseSEP5:KEClause freeSEP6:free* operatorSEP7:operator KEhEClauseSEP8:KEhEClause? freeSEP9:free* { 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 ) ; } )* { yyValue = makeString( "operator1", operator1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String operatorSa = operatorStartSEP1:operatorStart PARSERparen2:(!operatorStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !operatorStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &operator0 { yyValue = makeString( "operatorStart", operatorStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String operatorStart = guhekSEP1:guhek { yyValue = makeString( "guhek", guhekSEP1, "normal", false ) ; } / KEClauseSEP2:KEClause { yyValue = makeString( "KEClause", KEClauseSEP2, "normal", false ) ; } / SEClauseSEP3:SEClause? NAhEClauseSEP4:NAhEClause { yyValue = makeString( "SEClause", SEClauseSEP3, "normal", false ) + makeString( "NAhEClause", NAhEClauseSEP4, "normal", false ) ; } / SEClauseSEP5:SEClause? MAhOClauseSEP6:MAhOClause { yyValue = makeString( "SEClause", SEClauseSEP5, "normal", false ) + makeString( "MAhOClause", MAhOClauseSEP6, "normal", false ) ; } / SEClauseSEP7:SEClause? VUhUClauseSEP8:VUhUClause { yyValue = makeString( "SEClause", SEClauseSEP7, "normal", false ) + makeString( "VUhUClause", VUhUClauseSEP8, "normal", false ) ; } ; String operator1 = operator2SEP1:operator2 { yyValue = makeString( "operator2", operator2SEP1, "normal", false ) ; } / guhekSEP2:guhek operator1SEP3:operator1 gikSEP4:gik operator2SEP5:operator2 { yyValue = makeString( "guhek", guhekSEP2, "normal", false ) + makeString( "operator1", operator1SEP3, "normal", false ) + makeString( "gik", gikSEP4, "normal", false ) + makeString( "operator2", operator2SEP5, "normal", false ) ; } / operator2SEP6:operator2 PARSERparen7:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } ) stagSEP8:stag? BOClauseSEP9:BOClause freeSEP10:free* operator1SEP11:operator1 { 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 ) ; } ; String operator2 = mexOperatorSEP1:mexOperator { yyValue = makeString( "mexOperator", mexOperatorSEP1, "normal", false ) ; } / KEClauseSEP2:KEClause freeSEP3:free* operatorSEP4:operator KEhEClauseSEP5:KEhEClause? freeSEP6:free* { 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 ) ; } ; String mexOperator = SEClauseSEP1:SEClause freeSEP2:free* mexOperatorSEP3:mexOperator { yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "mexOperator", mexOperatorSEP3, "normal", false ) ; } / NAhEClauseSEP4:NAhEClause freeSEP5:free* mexOperatorSEP6:mexOperator { yyValue = makeString( "NAhEClause", NAhEClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) + makeString( "mexOperator", mexOperatorSEP6, "normal", false ) ; } / MAhOClauseSEP7:MAhOClause freeSEP8:free* mexSEP9:mex TEhUClauseSEP10:TEhUClause? freeSEP11:free* { 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 ) ; } / NAhUClauseSEP12:NAhUClause freeSEP13:free* selbriSEP14:selbri TEhUClauseSEP15:TEhUClause? freeSEP16:free* { 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 ) ; } / VUhUClauseSEP17:VUhUClause freeSEP18:free* { yyValue = makeString( "VUhUClause", VUhUClauseSEP17, "normal", false ) + makeString( "free", freeSEP18, "normal", false ) ; } ; //; operand <- operand-1 (joik-ek stag? KE-clause free* operand KEhE-clause? free*)? String operand = operandSaSEP1:operandSa* operand0SEP2:operand0 { yyValue = makeString( "operandSa", operandSaSEP1, "normal", false ) + makeString( "operand0", operand0SEP2, "normal", false ) ; } ; String operand0 = operand1SEP1:operand1 PARSERparen2:(joikEkSEP1:joikEk stagSEP2:stag? KEClauseSEP3:KEClause freeSEP4:free* operandSEP5:operand KEhEClauseSEP6:KEhEClause? freeSEP7:free* { 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 ) ; } )? { yyValue = makeString( "operand1", operand1SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String operandSa = operandStartSEP1:operandStart PARSERparen2:(!operandStart PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !operandStart { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &operand0 { yyValue = makeString( "operandStart", operandStartSEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String operandStart = quantifierSEP1:quantifier { yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) ; } / lerfuWordSEP2:lerfuWord { yyValue = makeString( "lerfuWord", lerfuWordSEP2, "normal", false ) ; } / NIhEClauseSEP3:NIhEClause { yyValue = makeString( "NIhEClause", NIhEClauseSEP3, "normal", false ) ; } / MOhEClauseSEP4:MOhEClause { yyValue = makeString( "MOhEClause", MOhEClauseSEP4, "normal", false ) ; } / JOhIClauseSEP5:JOhIClause { yyValue = makeString( "JOhIClause", JOhIClauseSEP5, "normal", false ) ; } / gekSEP6:gek { yyValue = makeString( "gek", gekSEP6, "normal", false ) ; } / LAhEClauseSEP7:LAhEClause { yyValue = makeString( "LAhEClause", LAhEClauseSEP7, "normal", false ) ; } / NAhEClauseSEP8:NAhEClause { yyValue = makeString( "NAhEClause", NAhEClauseSEP8, "normal", false ) ; } ; String operand1 = operand2SEP1:operand2 PARSERparen2:(joikEkSEP1:joikEk operand2SEP2:operand2 { yyValue = makeString( "joikEk", joikEkSEP1, "normal", false ) + makeString( "operand2", operand2SEP2, "normal", false ) ; } )* { yyValue = makeString( "operand2", operand2SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String operand2 = operand3SEP1:operand3 PARSERparen2:(joikEkSEP1:joikEk stagSEP2:stag? BOClauseSEP3:BOClause freeSEP4:free* operand2SEP5:operand2 { 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 ) ; } )? { yyValue = makeString( "operand3", operand3SEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String operand3 = quantifierSEP1:quantifier { yyValue = makeString( "quantifier", quantifierSEP1, "normal", false ) ; } / lerfuStringSEP2:lerfuString !MOIClause BOIClauseSEP3:BOIClause? freeSEP4:free* { yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) + makeString( "BOIClause", BOIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } / NIhEClauseSEP5:NIhEClause freeSEP6:free* selbriSEP7:selbri TEhUClauseSEP8:TEhUClause? freeSEP9:free* { 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 ) ; } / MOhEClauseSEP10:MOhEClause freeSEP11:free* sumtiSEP12:sumti TEhUClauseSEP13:TEhUClause? freeSEP14:free* { 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 ) ; } / JOhIClauseSEP15:JOhIClause freeSEP16:free* mex2SEP17:mex2+ TEhUClauseSEP18:TEhUClause? freeSEP19:free* { 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 ) ; } / gekSEP20:gek operandSEP21:operand gikSEP22:gik operand3SEP23:operand3 { yyValue = makeString( "gek", gekSEP20, "normal", false ) + makeString( "operand", operandSEP21, "normal", false ) + makeString( "gik", gikSEP22, "normal", false ) + makeString( "operand3", operand3SEP23, "normal", false ) ; } / PARSERparen24:(LAhEClauseSEP1:LAhEClause freeSEP2:free* { yyValue = makeString( "LAhEClause", LAhEClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / NAhEClauseSEP3:NAhEClause BOClauseSEP4:BOClause freeSEP5:free* { yyValue = makeString( "NAhEClause", NAhEClauseSEP3, "normal", false ) + makeString( "BOClause", BOClauseSEP4, "normal", false ) + makeString( "free", freeSEP5, "normal", false ) ; } ) operandSEP25:operand LUhUClauseSEP26:LUhUClause? freeSEP27:free* { yyValue = makeString( "PARSERparen24", PARSERparen24, "parserParen", false ) + makeString( "operand", operandSEP25, "normal", false ) + makeString( "LUhUClause", LUhUClauseSEP26, "normal", false ) + makeString( "free", freeSEP27, "normal", false ) ; } ; String number = PAClauseSEP1:PAClause PARSERparen2:(PAClauseSEP1:PAClause { yyValue = makeString( "PAClause", PAClauseSEP1, "normal", false ) ; } / lerfuWordSEP2:lerfuWord { yyValue = makeString( "lerfuWord", lerfuWordSEP2, "normal", false ) ; } )* { yyValue = makeString( "PAClause", PAClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String lerfuString = lerfuWordSEP1:lerfuWord PARSERparen2:(PAClauseSEP1:PAClause { yyValue = makeString( "PAClause", PAClauseSEP1, "normal", false ) ; } / lerfuWordSEP2:lerfuWord { yyValue = makeString( "lerfuWord", lerfuWordSEP2, "normal", false ) ; } )* { yyValue = makeString( "lerfuWord", lerfuWordSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; // ** BU clauses are part of BY-clause String lerfuWord = BYClauseSEP1:BYClause { yyValue = makeString( "BYClause", BYClauseSEP1, "normal", false ) ; } / LAUClauseSEP2:LAUClause lerfuWordSEP3:lerfuWord { yyValue = makeString( "LAUClause", LAUClauseSEP2, "normal", false ) + makeString( "lerfuWord", lerfuWordSEP3, "normal", false ) ; } / TEIClauseSEP4:TEIClause lerfuStringSEP5:lerfuString FOIClauseSEP6:FOIClause { yyValue = makeString( "TEIClause", TEIClauseSEP4, "normal", false ) + makeString( "lerfuString", lerfuStringSEP5, "normal", false ) + makeString( "FOIClause", FOIClauseSEP6, "normal", false ) ; } ; String ek = NAClauseSEP1:NAClause? SEClauseSEP2:SEClause? AClauseSEP3:AClause NAIClauseSEP4:NAIClause? { yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "AClause", AClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ; } ; //; gihek <- NA-clause? SE-clause? GIhA-clause NAI-clause? String gihek = gihekSaSEP1:gihekSa* gihek1SEP2:gihek1 { yyValue = makeString( "gihekSa", gihekSaSEP1, "normal", false ) + makeString( "gihek1", gihek1SEP2, "normal", false ) ; } ; String gihek1 = NAClauseSEP1:NAClause? SEClauseSEP2:SEClause? GIhAClauseSEP3:GIhAClause NAIClauseSEP4:NAIClause? { yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "GIhAClause", GIhAClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ; } ; String gihekSa = gihek1SEP1:gihek1 PARSERparen2:(!gihek1 PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !gihek1 { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &gihek { yyValue = makeString( "gihek1", gihek1SEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String jek = NAClauseSEP1:NAClause? SEClauseSEP2:SEClause? JAClauseSEP3:JAClause NAIClauseSEP4:NAIClause? { yyValue = makeString( "NAClause", NAClauseSEP1, "normal", false ) + makeString( "SEClause", SEClauseSEP2, "normal", false ) + makeString( "JAClause", JAClauseSEP3, "normal", false ) + makeString( "NAIClause", NAIClauseSEP4, "normal", false ) ; } ; String joik = SEClauseSEP1:SEClause? JOIClauseSEP2:JOIClause NAIClauseSEP3:NAIClause? { yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "JOIClause", JOIClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) ; } / intervalSEP4:interval { yyValue = makeString( "interval", intervalSEP4, "normal", false ) ; } / GAhOClauseSEP5:GAhOClause intervalSEP6:interval GAhOClauseSEP7:GAhOClause { yyValue = makeString( "GAhOClause", GAhOClauseSEP5, "normal", false ) + makeString( "interval", intervalSEP6, "normal", false ) + makeString( "GAhOClause", GAhOClauseSEP7, "normal", false ) ; } ; String interval = SEClauseSEP1:SEClause? BIhIClauseSEP2:BIhIClause NAIClauseSEP3:NAIClause? { yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "BIhIClause", BIhIClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) ; } ; //; joik-ek <- joik free* / ek free* String joikEk = joikEkSaSEP1:joikEkSa* joikEk1SEP2:joikEk1 { yyValue = makeString( "joikEkSa", joikEkSaSEP1, "normal", false ) + makeString( "joikEk1", joikEk1SEP2, "normal", false ) ; } ; String joikEk1 = PARSERparen1:(joikSEP1:joik freeSEP2:free* { yyValue = makeString( "joik", joikSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / ekSEP3:ek freeSEP4:free* { yyValue = makeString( "ek", ekSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String joikEkSa = joikEk1SEP1:joikEk1 PARSERparen2:(!joikEk1 PARSERparen1:(saWordSEP1:saWord { yyValue = makeString( "saWord", saWordSEP1, "whitespace", false ) ; } / SAClauseSEP2:SAClause !joikEk1 { yyValue = makeString( "SAClause", SAClauseSEP2, "whitespace", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } )* SAClauseSEP3:SAClause &joikEk { yyValue = makeString( "joikEk1", joikEk1SEP1, "whitespace", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ; String joikJek = joikSEP1:joik freeSEP2:free* { yyValue = makeString( "joik", joikSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / jekSEP3:jek freeSEP4:free* { yyValue = makeString( "jek", jekSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } ; String gek = SEClauseSEP1:SEClause? GAClauseSEP2:GAClause NAIClauseSEP3:NAIClause? freeSEP4:free* { yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "GAClause", GAClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } / joikSEP5:joik GIClauseSEP6:GIClause freeSEP7:free* { yyValue = makeString( "joik", joikSEP5, "normal", false ) + makeString( "GIClause", GIClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) ; } / stagSEP8:stag gikSEP9:gik { yyValue = makeString( "stag", stagSEP8, "normal", false ) + makeString( "gik", gikSEP9, "normal", false ) ; } ; String guhek = SEClauseSEP1:SEClause? GUhAClauseSEP2:GUhAClause NAIClauseSEP3:NAIClause? freeSEP4:free* { yyValue = makeString( "SEClause", SEClauseSEP1, "normal", false ) + makeString( "GUhAClause", GUhAClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) + makeString( "free", freeSEP4, "normal", false ) ; } ; String gik = GIClauseSEP1:GIClause NAIClauseSEP2:NAIClause? freeSEP3:free* { yyValue = makeString( "GIClause", GIClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } ; String tag = tenseModalSEP1:tenseModal PARSERparen2:(joikJekSEP1:joikJek tenseModalSEP2:tenseModal { yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "tenseModal", tenseModalSEP2, "normal", false ) ; } )* { yyValue = makeString( "tenseModal", tenseModalSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; //stag <- simple-tense-modal ((jek / joik) simple-tense-modal)* String stag = simpleTenseModalSEP1:simpleTenseModal PARSERparen2:(PARSERparen1:(jekSEP1:jek { yyValue = makeString( "jek", jekSEP1, "normal", false ) ; } / joikSEP2:joik { yyValue = makeString( "joik", joikSEP2, "normal", false ) ; } ) simpleTenseModalSEP2:simpleTenseModal { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "simpleTenseModal", simpleTenseModalSEP2, "normal", false ) ; } )* { yyValue = makeString( "simpleTenseModal", simpleTenseModalSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / tenseModalSEP3:tenseModal PARSERparen4:(joikJekSEP1:joikJek tenseModalSEP2:tenseModal { yyValue = makeString( "joikJek", joikJekSEP1, "normal", false ) + makeString( "tenseModal", tenseModalSEP2, "normal", false ) ; } )* { yyValue = makeString( "tenseModal", tenseModalSEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ; } ; String tenseModal = simpleTenseModalSEP1:simpleTenseModal freeSEP2:free* { yyValue = makeString( "simpleTenseModal", simpleTenseModalSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) ; } / FIhOClauseSEP3:FIhOClause freeSEP4:free* selbriSEP5:selbri FEhUClauseSEP6:FEhUClause? freeSEP7:free* { 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 ) ; } ; String simpleTenseModal = NAhEClauseSEP1:NAhEClause? SEClauseSEP2:SEClause? BAIClauseSEP3:BAIClause NAIClauseSEP4:NAIClause? KIClauseSEP5:KIClause? { 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 ) ; } / NAhEClauseSEP6:NAhEClause? PARSERparen7:( PARSERparen1:(PARSERparen1:(timeSEP1:time spaceSEP2:space? { yyValue = makeString( "time", timeSEP1, "normal", false ) + makeString( "space", spaceSEP2, "normal", false ) ; } / spaceSEP3:space timeSEP4:time? { yyValue = makeString( "space", spaceSEP3, "normal", false ) + makeString( "time", timeSEP4, "normal", false ) ; } ) CAhAClauseSEP2:CAhAClause { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "CAhAClause", CAhAClauseSEP2, "normal", false ) ; } ) { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } / PARSERparen2:(timeSEP1:time spaceSEP2:space? { yyValue = makeString( "time", timeSEP1, "normal", false ) + makeString( "space", spaceSEP2, "normal", false ) ; } / spaceSEP3:space timeSEP4:time? { yyValue = makeString( "space", spaceSEP3, "normal", false ) + makeString( "time", timeSEP4, "normal", false ) ; } ) { yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } / CAhAClauseSEP3:CAhAClause { yyValue = makeString( "CAhAClause", CAhAClauseSEP3, "normal", false ) ; } ) KIClauseSEP8:KIClause? { yyValue = makeString( "NAhEClause", NAhEClauseSEP6, "normal", false ) + makeString( "PARSERparen7", PARSERparen7, "parserParen", false ) + makeString( "KIClause", KIClauseSEP8, "normal", false ) ; } / KIClauseSEP9:KIClause { yyValue = makeString( "KIClause", KIClauseSEP9, "normal", false ) ; } / CUhEClauseSEP10:CUhEClause { yyValue = makeString( "CUhEClause", CUhEClauseSEP10, "normal", false ) ; } ; String time = ZIClauseSEP1:ZIClause timeOffsetSEP2:timeOffset* PARSERparen3:(ZEhAClauseSEP1:ZEhAClause PARSERparen2:(PUClauseSEP1:PUClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "PUClause", PUClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? { yyValue = makeString( "ZEhAClause", ZEhAClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } )? intervalPropertySEP4:intervalProperty* { yyValue = makeString( "ZIClause", ZIClauseSEP1, "normal", false ) + makeString( "timeOffset", timeOffsetSEP2, "normal", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) + makeString( "intervalProperty", intervalPropertySEP4, "normal", false ) ; } / ZIClauseSEP5:ZIClause? timeOffsetSEP6:timeOffset+ PARSERparen7:(ZEhAClauseSEP1:ZEhAClause PARSERparen2:(PUClauseSEP1:PUClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "PUClause", PUClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? { yyValue = makeString( "ZEhAClause", ZEhAClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } )? intervalPropertySEP8:intervalProperty* { yyValue = makeString( "ZIClause", ZIClauseSEP5, "normal", false ) + makeString( "timeOffset", timeOffsetSEP6, "normal", false ) + makeString( "PARSERparen7", PARSERparen7, "parserParen", false ) + makeString( "intervalProperty", intervalPropertySEP8, "normal", false ) ; } / ZIClauseSEP9:ZIClause? timeOffsetSEP10:timeOffset* ZEhAClauseSEP11:ZEhAClause PARSERparen12:(PUClauseSEP1:PUClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "PUClause", PUClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? intervalPropertySEP13:intervalProperty* { yyValue = makeString( "ZIClause", ZIClauseSEP9, "normal", false ) + makeString( "timeOffset", timeOffsetSEP10, "normal", false ) + makeString( "ZEhAClause", ZEhAClauseSEP11, "normal", false ) + makeString( "PARSERparen12", PARSERparen12, "parserParen", false ) + makeString( "intervalProperty", intervalPropertySEP13, "normal", false ) ; } / ZIClauseSEP14:ZIClause? timeOffsetSEP15:timeOffset* PARSERparen16:(ZEhAClauseSEP1:ZEhAClause PARSERparen2:(PUClauseSEP1:PUClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "PUClause", PUClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? { yyValue = makeString( "ZEhAClause", ZEhAClauseSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } )? intervalPropertySEP17:intervalProperty+ { yyValue = makeString( "ZIClause", ZIClauseSEP14, "normal", false ) + makeString( "timeOffset", timeOffsetSEP15, "normal", false ) + makeString( "PARSERparen16", PARSERparen16, "parserParen", false ) + makeString( "intervalProperty", intervalPropertySEP17, "normal", false ) ; } ; String timeOffset = PUClauseSEP1:PUClause NAIClauseSEP2:NAIClause? ZIClauseSEP3:ZIClause? { yyValue = makeString( "PUClause", PUClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) + makeString( "ZIClause", ZIClauseSEP3, "normal", false ) ; } ; String space = VAClauseSEP1:VAClause spaceOffsetSEP2:spaceOffset* spaceIntervalSEP3:spaceInterval? PARSERparen4:(MOhIClauseSEP1:MOhIClause spaceOffsetSEP2:spaceOffset { yyValue = makeString( "MOhIClause", MOhIClauseSEP1, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP2, "normal", false ) ; } )? { yyValue = makeString( "VAClause", VAClauseSEP1, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP2, "normal", false ) + makeString( "spaceInterval", spaceIntervalSEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ; } / VAClauseSEP5:VAClause? spaceOffsetSEP6:spaceOffset+ spaceIntervalSEP7:spaceInterval? PARSERparen8:(MOhIClauseSEP1:MOhIClause spaceOffsetSEP2:spaceOffset { yyValue = makeString( "MOhIClause", MOhIClauseSEP1, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP2, "normal", false ) ; } )? { yyValue = makeString( "VAClause", VAClauseSEP5, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP6, "normal", false ) + makeString( "spaceInterval", spaceIntervalSEP7, "normal", false ) + makeString( "PARSERparen8", PARSERparen8, "parserParen", false ) ; } / VAClauseSEP9:VAClause? spaceOffsetSEP10:spaceOffset* spaceIntervalSEP11:spaceInterval PARSERparen12:(MOhIClauseSEP1:MOhIClause spaceOffsetSEP2:spaceOffset { yyValue = makeString( "MOhIClause", MOhIClauseSEP1, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP2, "normal", false ) ; } )? { yyValue = makeString( "VAClause", VAClauseSEP9, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP10, "normal", false ) + makeString( "spaceInterval", spaceIntervalSEP11, "normal", false ) + makeString( "PARSERparen12", PARSERparen12, "parserParen", false ) ; } / VAClauseSEP13:VAClause? spaceOffsetSEP14:spaceOffset* spaceIntervalSEP15:spaceInterval? MOhIClauseSEP16:MOhIClause spaceOffsetSEP17:spaceOffset { yyValue = makeString( "VAClause", VAClauseSEP13, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP14, "normal", false ) + makeString( "spaceInterval", spaceIntervalSEP15, "normal", false ) + makeString( "MOhIClause", MOhIClauseSEP16, "normal", false ) + makeString( "spaceOffset", spaceOffsetSEP17, "normal", false ) ; } ; String spaceOffset = FAhAClauseSEP1:FAhAClause NAIClauseSEP2:NAIClause? VAClauseSEP3:VAClause? { yyValue = makeString( "FAhAClause", FAhAClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) + makeString( "VAClause", VAClauseSEP3, "normal", false ) ; } ; String spaceInterval = PARSERparen1:(VEhAClauseSEP1:VEhAClause { yyValue = makeString( "VEhAClause", VEhAClauseSEP1, "normal", false ) ; } / VIhAClauseSEP2:VIhAClause { yyValue = makeString( "VIhAClause", VIhAClauseSEP2, "normal", false ) ; } / VEhAClauseSEP3:VEhAClause VIhAClauseSEP4:VIhAClause { yyValue = makeString( "VEhAClause", VEhAClauseSEP3, "normal", false ) + makeString( "VIhAClause", VIhAClauseSEP4, "normal", false ) ; } ) PARSERparen2:(FAhAClauseSEP1:FAhAClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "FAhAClause", FAhAClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? spaceIntPropsSEP3:spaceIntProps { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "spaceIntProps", spaceIntPropsSEP3, "normal", false ) ; } / PARSERparen4:(VEhAClauseSEP1:VEhAClause { yyValue = makeString( "VEhAClause", VEhAClauseSEP1, "normal", false ) ; } / VIhAClauseSEP2:VIhAClause { yyValue = makeString( "VIhAClause", VIhAClauseSEP2, "normal", false ) ; } / VEhAClauseSEP3:VEhAClause VIhAClauseSEP4:VIhAClause { yyValue = makeString( "VEhAClause", VEhAClauseSEP3, "normal", false ) + makeString( "VIhAClause", VIhAClauseSEP4, "normal", false ) ; } ) PARSERparen5:(FAhAClauseSEP1:FAhAClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "FAhAClause", FAhAClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )? { yyValue = makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) + makeString( "PARSERparen5", PARSERparen5, "parserParen", false ) ; } / spaceIntPropsSEP6:spaceIntProps { yyValue = makeString( "spaceIntProps", spaceIntPropsSEP6, "normal", false ) ; } ; String spaceIntProps = PARSERparen1:(FEhEClauseSEP1:FEhEClause intervalPropertySEP2:intervalProperty { yyValue = makeString( "FEhEClause", FEhEClauseSEP1, "normal", false ) + makeString( "intervalProperty", intervalPropertySEP2, "normal", false ) ; } )+ { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String intervalProperty = numberSEP1:number ROIClauseSEP2:ROIClause NAIClauseSEP3:NAIClause? { yyValue = makeString( "number", numberSEP1, "normal", false ) + makeString( "ROIClause", ROIClauseSEP2, "normal", false ) + makeString( "NAIClause", NAIClauseSEP3, "normal", false ) ; } / TAhEClauseSEP4:TAhEClause NAIClauseSEP5:NAIClause? { yyValue = makeString( "TAhEClause", TAhEClauseSEP4, "normal", false ) + makeString( "NAIClause", NAIClauseSEP5, "normal", false ) ; } / ZAhOClauseSEP6:ZAhOClause NAIClauseSEP7:NAIClause? { yyValue = makeString( "ZAhOClause", ZAhOClauseSEP6, "normal", false ) + makeString( "NAIClause", NAIClauseSEP7, "normal", false ) ; } ; String free = SEIClauseSEP1:SEIClause freeSEP2:free* PARSERparen3:(termsSEP1:terms CUClauseSEP2:CUClause? freeSEP3:free* { yyValue = makeString( "terms", termsSEP1, "normal", false ) + makeString( "CUClause", CUClauseSEP2, "normal", false ) + makeString( "free", freeSEP3, "normal", false ) ; } )? selbriSEP4:selbri SEhUClauseSEP5:SEhUClause? { yyValue = makeString( "SEIClause", SEIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) + makeString( "selbri", selbriSEP4, "normal", false ) + makeString( "SEhUClause", SEhUClauseSEP5, "normal", false ) ; } / SOIClauseSEP6:SOIClause freeSEP7:free* sumtiSEP8:sumti sumtiSEP9:sumti? SEhUClauseSEP10:SEhUClause? { yyValue = makeString( "SOIClause", SOIClauseSEP6, "normal", false ) + makeString( "free", freeSEP7, "normal", false ) + makeString( "sumti", sumtiSEP8, "normal", false ) + makeString( "sumti", sumtiSEP9, "normal", false ) + makeString( "SEhUClause", SEhUClauseSEP10, "normal", false ) ; } / vocativeSEP11:vocative relativeClausesSEP12:relativeClauses? selbriSEP13:selbri relativeClausesSEP14:relativeClauses? DOhUClauseSEP15:DOhUClause? { yyValue = makeString( "vocative", vocativeSEP11, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP12, "normal", false ) + makeString( "selbri", selbriSEP13, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP14, "normal", false ) + makeString( "DOhUClause", DOhUClauseSEP15, "normal", false ) ; } / vocativeSEP16:vocative relativeClausesSEP17:relativeClauses? CMENEClauseSEP18:CMENEClause+ freeSEP19:free* relativeClausesSEP20:relativeClauses? DOhUClauseSEP21:DOhUClause? { yyValue = makeString( "vocative", vocativeSEP16, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP17, "normal", false ) + makeString( "CMENEClause", CMENEClauseSEP18, "normal", false ) + makeString( "free", freeSEP19, "normal", false ) + makeString( "relativeClauses", relativeClausesSEP20, "normal", false ) + makeString( "DOhUClause", DOhUClauseSEP21, "normal", false ) ; } / vocativeSEP22:vocative sumtiSEP23:sumti? DOhUClauseSEP24:DOhUClause? { yyValue = makeString( "vocative", vocativeSEP22, "normal", false ) + makeString( "sumti", sumtiSEP23, "normal", false ) + makeString( "DOhUClause", DOhUClauseSEP24, "normal", false ) ; } / PARSERparen25:(numberSEP1:number { yyValue = makeString( "number", numberSEP1, "normal", false ) ; } / lerfuStringSEP2:lerfuString { yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ; } ) MAIClauseSEP26:MAIClause { yyValue = makeString( "PARSERparen25", PARSERparen25, "parserParen", false ) + makeString( "MAIClause", MAIClauseSEP26, "normal", false ) ; } / TOClauseSEP27:TOClause textSEP28:text TOIClauseSEP29:TOIClause? { yyValue = makeString( "TOClause", TOClauseSEP27, "normal", false ) + makeString( "text", textSEP28, "normal", false ) + makeString( "TOIClause", TOIClauseSEP29, "normal", false ) ; } / xiClauseSEP30:xiClause { yyValue = makeString( "xiClause", xiClauseSEP30, "normal", false ) ; } ; String xiClause = XIClauseSEP1:XIClause freeSEP2:free* PARSERparen3:(numberSEP1:number { yyValue = makeString( "number", numberSEP1, "normal", false ) ; } / lerfuStringSEP2:lerfuString { yyValue = makeString( "lerfuString", lerfuStringSEP2, "normal", false ) ; } ) BOIClauseSEP4:BOIClause? { yyValue = makeString( "XIClause", XIClauseSEP1, "normal", false ) + makeString( "free", freeSEP2, "normal", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) + makeString( "BOIClause", BOIClauseSEP4, "normal", false ) ; } / XIClauseSEP5:XIClause freeSEP6:free* VEIClauseSEP7:VEIClause freeSEP8:free* mexSEP9:mex VEhOClauseSEP10:VEhOClause? { yyValue = makeString( "XIClause", XIClauseSEP5, "normal", false ) + makeString( "free", freeSEP6, "normal", false ) + makeString( "VEIClause", VEIClauseSEP7, "normal", false ) + makeString( "free", freeSEP8, "normal", false ) + makeString( "mex", mexSEP9, "normal", false ) + makeString( "VEhOClause", VEhOClauseSEP10, "normal", false ) ; } ; String vocative = PARSERparen1:(COIClauseSEP1:COIClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "COIClause", COIClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )+ DOIClauseSEP2:DOIClause { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "DOIClause", DOIClauseSEP2, "normal", false ) ; } / PARSERparen3:(COIClauseSEP1:COIClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "COIClause", COIClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } ) PARSERparen4:(COIClauseSEP1:COIClause NAIClauseSEP2:NAIClause? { yyValue = makeString( "COIClause", COIClauseSEP1, "normal", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } )* { yyValue = makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) ; } / DOIClauseSEP5:DOIClause { yyValue = makeString( "DOIClause", DOIClauseSEP5, "normal", false ) ; } ; String indicators = FUhEClauseSEP1:FUhEClause? indicatorSEP2:indicator+ { yyValue = makeString( "FUhEClause", FUhEClauseSEP1, "normal", false ) + makeString( "indicator", indicatorSEP2, "normal", false ) ; } ; String indicator = PARSERparen1:(PARSERparen1:(UIClauseSEP1:UIClause { yyValue = makeString( "UIClause", UIClauseSEP1, "normal", false ) ; } / CAIClauseSEP2:CAIClause { yyValue = makeString( "CAIClause", CAIClauseSEP2, "normal", false ) ; } ) NAIClauseSEP2:NAIClause? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "NAIClause", NAIClauseSEP2, "normal", false ) ; } / DAhOClauseSEP3:DAhOClause { yyValue = makeString( "DAhOClause", DAhOClauseSEP3, "normal", false ) ; } / FUhOClauseSEP4:FUhOClause { yyValue = makeString( "FUhOClause", FUhOClauseSEP4, "normal", false ) ; } ) !BUClause { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; // **************** // Magic Words // **************** String zeiClause = preClauseSEP1:preClause zeiClauseNoPreSEP2:zeiClauseNoPre { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "zeiClauseNoPre", zeiClauseNoPreSEP2, "normal", false ) ; } ; String zeiClauseNoPre = preZeiBuSEP1:preZeiBu PARSERparen2:(zeiTailSEP1:zeiTail? buTailSEP2:buTail { yyValue = makeString( "zeiTail", zeiTailSEP1, "normal", false ) + makeString( "buTail", buTailSEP2, "normal", false ) ; } )* zeiTailSEP3:zeiTail postClauseSEP4:postClause { yyValue = makeString( "preZeiBu", preZeiBuSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "zeiTail", zeiTailSEP3, "normal", false ) + makeString( "postClause", postClauseSEP4, "normal", false ) ; } ; String zeiClauseNoSA = preZeiBuNoSASEP1:preZeiBuNoSA PARSERparen2:(zeiTailSEP1:zeiTail? buTailSEP2:buTail { yyValue = makeString( "zeiTail", zeiTailSEP1, "normal", false ) + makeString( "buTail", buTailSEP2, "normal", false ) ; } )* zeiTailSEP3:zeiTail { yyValue = makeString( "preZeiBuNoSA", preZeiBuNoSASEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "zeiTail", zeiTailSEP3, "normal", false ) ; } ; String buClause = preClauseSEP1:preClause buClauseNoPreSEP2:buClauseNoPre { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "buClauseNoPre", buClauseNoPreSEP2, "normal", false ) ; } ; String buClauseNoPre = preZeiBuSEP1:preZeiBu PARSERparen2:(buTailSEP1:buTail? zeiTailSEP2:zeiTail { yyValue = makeString( "buTail", buTailSEP1, "normal", false ) + makeString( "zeiTail", zeiTailSEP2, "normal", false ) ; } )* buTailSEP3:buTail postClauseSEP4:postClause { yyValue = makeString( "preZeiBu", preZeiBuSEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "buTail", buTailSEP3, "normal", false ) + makeString( "postClause", postClauseSEP4, "normal", false ) ; } ; String buClauseNoSA = preZeiBuNoSASEP1:preZeiBuNoSA PARSERparen2:(buTailSEP1:buTail? zeiTailSEP2:zeiTail { yyValue = makeString( "buTail", buTailSEP1, "normal", false ) + makeString( "zeiTail", zeiTailSEP2, "normal", false ) ; } )* buTailSEP3:buTail { yyValue = makeString( "preZeiBuNoSA", preZeiBuNoSASEP1, "normal", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "buTail", buTailSEP3, "normal", false ) ; } ; String zeiTail = PARSERparen1:(ZEIClauseSEP1:ZEIClause anyWordSEP2:anyWord { yyValue = makeString( "ZEIClause", ZEIClauseSEP1, "normal", false ) + makeString( "anyWord", anyWordSEP2, "normal", false ) ; } )+ { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String buTail = BUClauseSEP1:BUClause+ { yyValue = makeString( "BUClause", BUClauseSEP1, "normal", false ) ; } ; String preZeiBu = PARSERparen1:(!BUClause !ZEIClause !SIClause !SAClause !SUClause !FAhOClause anyWordSAHandlingSEP1:anyWordSAHandling { yyValue = makeString( "anyWordSAHandling", anyWordSAHandlingSEP1, "normal", false ) ; } ) siClauseSEP2:siClause? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "siClause", siClauseSEP2, "normal", false ) ; } ; // LOhU-pre / ZO-pre / ZOI-pre / !ZEI-clause !BU-clause !FAhO-clause !SI-clause !SA-clause !SU-clause any-word-SA-handling si-clause? String preZeiBuNoSA = LOhUPreSEP1:LOhUPre { yyValue = makeString( "LOhUPre", LOhUPreSEP1, "normal", false ) ; } / ZOPreSEP2:ZOPre { yyValue = makeString( "ZOPre", ZOPreSEP2, "normal", false ) ; } / ZOIPreSEP3:ZOIPre { yyValue = makeString( "ZOIPre", ZOIPreSEP3, "normal", false ) ; } / !ZEIClause !BUClause !FAhOClause !SIClause !SAClause !SUClause anyWordSEP4:anyWord siClauseSEP5:siClause? { yyValue = makeString( "anyWord", anyWordSEP4, "normal", false ) + makeString( "siClause", siClauseSEP5, "normal", false ) ; } ; // -- General Morphology Issues // // 1. Spaces (including '.y') and UI are eaten *after* a word. // // 3. BAhE is eaten *before* a word. // Handling of what can go after a cmavo String postClause = spacesSEP1:spaces? siClauseSEP2:siClause? !ZEIClause !BUClause indicatorsSEP3:indicators* { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "siClause", siClauseSEP2, "normal", false ) + makeString( "indicators", indicatorsSEP3, "normal", false ) ; } ; String preClause = BAhEClauseSEP1:BAhEClause? { yyValue = makeString( "BAhEClause", BAhEClauseSEP1, "normal", false ) ; } ; String anyWordSAHandling = BRIVLAPreSEP1:BRIVLAPre { yyValue = makeString( "BRIVLAPre", BRIVLAPreSEP1, "normal", false ) ; } / knownCmavoSASEP2:knownCmavoSA { yyValue = makeString( "knownCmavoSA", knownCmavoSASEP2, "normal", false ) ; } / !knownCmavoPre CMAVOPreSEP3:CMAVOPre { yyValue = makeString( "CMAVOPre", CMAVOPreSEP3, "normal", false ) ; } / CMENEPreSEP4:CMENEPre { yyValue = makeString( "CMENEPre", CMENEPreSEP4, "normal", false ) ; } ; String knownCmavoSA = APreSEP1:APre { yyValue = makeString( "APre", APreSEP1, "normal", false ) ; } / BAIPreSEP2:BAIPre { yyValue = makeString( "BAIPre", BAIPreSEP2, "normal", false ) ; } / BAhEPreSEP3:BAhEPre { yyValue = makeString( "BAhEPre", BAhEPreSEP3, "normal", false ) ; } / BEPreSEP4:BEPre { yyValue = makeString( "BEPre", BEPreSEP4, "normal", false ) ; } / BEIPreSEP5:BEIPre { yyValue = makeString( "BEIPre", BEIPreSEP5, "normal", false ) ; } / BEhOPreSEP6:BEhOPre { yyValue = makeString( "BEhOPre", BEhOPreSEP6, "normal", false ) ; } / BIhEPreSEP7:BIhEPre { yyValue = makeString( "BIhEPre", BIhEPreSEP7, "normal", false ) ; } / BIhIPreSEP8:BIhIPre { yyValue = makeString( "BIhIPre", BIhIPreSEP8, "normal", false ) ; } / BOPreSEP9:BOPre { yyValue = makeString( "BOPre", BOPreSEP9, "normal", false ) ; } / BOIPreSEP10:BOIPre { yyValue = makeString( "BOIPre", BOIPreSEP10, "normal", false ) ; } / BUPreSEP11:BUPre { yyValue = makeString( "BUPre", BUPreSEP11, "normal", false ) ; } / BYPreSEP12:BYPre { yyValue = makeString( "BYPre", BYPreSEP12, "normal", false ) ; } / CAIPreSEP13:CAIPre { yyValue = makeString( "CAIPre", CAIPreSEP13, "normal", false ) ; } / CAhAPreSEP14:CAhAPre { yyValue = makeString( "CAhAPre", CAhAPreSEP14, "normal", false ) ; } / CEIPreSEP15:CEIPre { yyValue = makeString( "CEIPre", CEIPreSEP15, "normal", false ) ; } / CEhEPreSEP16:CEhEPre { yyValue = makeString( "CEhEPre", CEhEPreSEP16, "normal", false ) ; } / COPreSEP17:COPre { yyValue = makeString( "COPre", COPreSEP17, "normal", false ) ; } / COIPreSEP18:COIPre { yyValue = makeString( "COIPre", COIPreSEP18, "normal", false ) ; } / CUPreSEP19:CUPre { yyValue = makeString( "CUPre", CUPreSEP19, "normal", false ) ; } / CUhEPreSEP20:CUhEPre { yyValue = makeString( "CUhEPre", CUhEPreSEP20, "normal", false ) ; } / DAhOPreSEP21:DAhOPre { yyValue = makeString( "DAhOPre", DAhOPreSEP21, "normal", false ) ; } / DOIPreSEP22:DOIPre { yyValue = makeString( "DOIPre", DOIPreSEP22, "normal", false ) ; } / DOhUPreSEP23:DOhUPre { yyValue = makeString( "DOhUPre", DOhUPreSEP23, "normal", false ) ; } / FAPreSEP24:FAPre { yyValue = makeString( "FAPre", FAPreSEP24, "normal", false ) ; } / FAhAPreSEP25:FAhAPre { yyValue = makeString( "FAhAPre", FAhAPreSEP25, "normal", false ) ; } / FEhEPreSEP26:FEhEPre { yyValue = makeString( "FEhEPre", FEhEPreSEP26, "normal", false ) ; } / FEhUPreSEP27:FEhUPre { yyValue = makeString( "FEhUPre", FEhUPreSEP27, "normal", false ) ; } / FIhOPreSEP28:FIhOPre { yyValue = makeString( "FIhOPre", FIhOPreSEP28, "normal", false ) ; } / FOIPreSEP29:FOIPre { yyValue = makeString( "FOIPre", FOIPreSEP29, "normal", false ) ; } / FUhAPreSEP30:FUhAPre { yyValue = makeString( "FUhAPre", FUhAPreSEP30, "normal", false ) ; } / FUhEPreSEP31:FUhEPre { yyValue = makeString( "FUhEPre", FUhEPreSEP31, "normal", false ) ; } / FUhOPreSEP32:FUhOPre { yyValue = makeString( "FUhOPre", FUhOPreSEP32, "normal", false ) ; } / GAPreSEP33:GAPre { yyValue = makeString( "GAPre", GAPreSEP33, "normal", false ) ; } / GAhOPreSEP34:GAhOPre { yyValue = makeString( "GAhOPre", GAhOPreSEP34, "normal", false ) ; } / GEhUPreSEP35:GEhUPre { yyValue = makeString( "GEhUPre", GEhUPreSEP35, "normal", false ) ; } / GIPreSEP36:GIPre { yyValue = makeString( "GIPre", GIPreSEP36, "normal", false ) ; } / GIhAPreSEP37:GIhAPre { yyValue = makeString( "GIhAPre", GIhAPreSEP37, "normal", false ) ; } / GOIPreSEP38:GOIPre { yyValue = makeString( "GOIPre", GOIPreSEP38, "normal", false ) ; } / GOhAPreSEP39:GOhAPre { yyValue = makeString( "GOhAPre", GOhAPreSEP39, "normal", false ) ; } / GUhAPreSEP40:GUhAPre { yyValue = makeString( "GUhAPre", GUhAPreSEP40, "normal", false ) ; } / IPreSEP41:IPre { yyValue = makeString( "IPre", IPreSEP41, "normal", false ) ; } / JAPreSEP42:JAPre { yyValue = makeString( "JAPre", JAPreSEP42, "normal", false ) ; } / JAIPreSEP43:JAIPre { yyValue = makeString( "JAIPre", JAIPreSEP43, "normal", false ) ; } / JOIPreSEP44:JOIPre { yyValue = makeString( "JOIPre", JOIPreSEP44, "normal", false ) ; } / JOhIPreSEP45:JOhIPre { yyValue = makeString( "JOhIPre", JOhIPreSEP45, "normal", false ) ; } / KEPreSEP46:KEPre { yyValue = makeString( "KEPre", KEPreSEP46, "normal", false ) ; } / KEIPreSEP47:KEIPre { yyValue = makeString( "KEIPre", KEIPreSEP47, "normal", false ) ; } / KEhEPreSEP48:KEhEPre { yyValue = makeString( "KEhEPre", KEhEPreSEP48, "normal", false ) ; } / KIPreSEP49:KIPre { yyValue = makeString( "KIPre", KIPreSEP49, "normal", false ) ; } / KOhAPreSEP50:KOhAPre { yyValue = makeString( "KOhAPre", KOhAPreSEP50, "normal", false ) ; } / KUPreSEP51:KUPre { yyValue = makeString( "KUPre", KUPreSEP51, "normal", false ) ; } / KUhEPreSEP52:KUhEPre { yyValue = makeString( "KUhEPre", KUhEPreSEP52, "normal", false ) ; } / KUhOPreSEP53:KUhOPre { yyValue = makeString( "KUhOPre", KUhOPreSEP53, "normal", false ) ; } / LAPreSEP54:LAPre { yyValue = makeString( "LAPre", LAPreSEP54, "normal", false ) ; } / LAUPreSEP55:LAUPre { yyValue = makeString( "LAUPre", LAUPreSEP55, "normal", false ) ; } / LAhEPreSEP56:LAhEPre { yyValue = makeString( "LAhEPre", LAhEPreSEP56, "normal", false ) ; } / LEPreSEP57:LEPre { yyValue = makeString( "LEPre", LEPreSEP57, "normal", false ) ; } / LEhUPreSEP58:LEhUPre { yyValue = makeString( "LEhUPre", LEhUPreSEP58, "normal", false ) ; } / LIPreSEP59:LIPre { yyValue = makeString( "LIPre", LIPreSEP59, "normal", false ) ; } / LIhUPreSEP60:LIhUPre { yyValue = makeString( "LIhUPre", LIhUPreSEP60, "normal", false ) ; } / LOhOPreSEP61:LOhOPre { yyValue = makeString( "LOhOPre", LOhOPreSEP61, "normal", false ) ; } / LOhUPreSEP62:LOhUPre { yyValue = makeString( "LOhUPre", LOhUPreSEP62, "normal", false ) ; } / LUPreSEP63:LUPre { yyValue = makeString( "LUPre", LUPreSEP63, "normal", false ) ; } / LUhUPreSEP64:LUhUPre { yyValue = makeString( "LUhUPre", LUhUPreSEP64, "normal", false ) ; } / MAIPreSEP65:MAIPre { yyValue = makeString( "MAIPre", MAIPreSEP65, "normal", false ) ; } / MAhOPreSEP66:MAhOPre { yyValue = makeString( "MAhOPre", MAhOPreSEP66, "normal", false ) ; } / MEPreSEP67:MEPre { yyValue = makeString( "MEPre", MEPreSEP67, "normal", false ) ; } / MEhUPreSEP68:MEhUPre { yyValue = makeString( "MEhUPre", MEhUPreSEP68, "normal", false ) ; } / MOIPreSEP69:MOIPre { yyValue = makeString( "MOIPre", MOIPreSEP69, "normal", false ) ; } / MOhEPreSEP70:MOhEPre { yyValue = makeString( "MOhEPre", MOhEPreSEP70, "normal", false ) ; } / MOhIPreSEP71:MOhIPre { yyValue = makeString( "MOhIPre", MOhIPreSEP71, "normal", false ) ; } / NAPreSEP72:NAPre { yyValue = makeString( "NAPre", NAPreSEP72, "normal", false ) ; } / NAIPreSEP73:NAIPre { yyValue = makeString( "NAIPre", NAIPreSEP73, "normal", false ) ; } / NAhEPreSEP74:NAhEPre { yyValue = makeString( "NAhEPre", NAhEPreSEP74, "normal", false ) ; } / NAhUPreSEP75:NAhUPre { yyValue = makeString( "NAhUPre", NAhUPreSEP75, "normal", false ) ; } / NIhEPreSEP76:NIhEPre { yyValue = makeString( "NIhEPre", NIhEPreSEP76, "normal", false ) ; } / NIhOPreSEP77:NIhOPre { yyValue = makeString( "NIhOPre", NIhOPreSEP77, "normal", false ) ; } / NOIPreSEP78:NOIPre { yyValue = makeString( "NOIPre", NOIPreSEP78, "normal", false ) ; } / NUPreSEP79:NUPre { yyValue = makeString( "NUPre", NUPreSEP79, "normal", false ) ; } / NUhAPreSEP80:NUhAPre { yyValue = makeString( "NUhAPre", NUhAPreSEP80, "normal", false ) ; } / NUhIPreSEP81:NUhIPre { yyValue = makeString( "NUhIPre", NUhIPreSEP81, "normal", false ) ; } / NUhUPreSEP82:NUhUPre { yyValue = makeString( "NUhUPre", NUhUPreSEP82, "normal", false ) ; } / PAPreSEP83:PAPre { yyValue = makeString( "PAPre", PAPreSEP83, "normal", false ) ; } / PEhEPreSEP84:PEhEPre { yyValue = makeString( "PEhEPre", PEhEPreSEP84, "normal", false ) ; } / PEhOPreSEP85:PEhOPre { yyValue = makeString( "PEhOPre", PEhOPreSEP85, "normal", false ) ; } / PUPreSEP86:PUPre { yyValue = makeString( "PUPre", PUPreSEP86, "normal", false ) ; } / RAhOPreSEP87:RAhOPre { yyValue = makeString( "RAhOPre", RAhOPreSEP87, "normal", false ) ; } / ROIPreSEP88:ROIPre { yyValue = makeString( "ROIPre", ROIPreSEP88, "normal", false ) ; } / SAPreSEP89:SAPre { yyValue = makeString( "SAPre", SAPreSEP89, "normal", false ) ; } / SEPreSEP90:SEPre { yyValue = makeString( "SEPre", SEPreSEP90, "normal", false ) ; } / SEIPreSEP91:SEIPre { yyValue = makeString( "SEIPre", SEIPreSEP91, "normal", false ) ; } / SEhUPreSEP92:SEhUPre { yyValue = makeString( "SEhUPre", SEhUPreSEP92, "normal", false ) ; } / SIClauseSEP93:SIClause { yyValue = makeString( "SIClause", SIClauseSEP93, "normal", false ) ; } / SOIPreSEP94:SOIPre { yyValue = makeString( "SOIPre", SOIPreSEP94, "normal", false ) ; } / SUPreSEP95:SUPre { yyValue = makeString( "SUPre", SUPreSEP95, "normal", false ) ; } / TAhEPreSEP96:TAhEPre { yyValue = makeString( "TAhEPre", TAhEPreSEP96, "normal", false ) ; } / TEIPreSEP97:TEIPre { yyValue = makeString( "TEIPre", TEIPreSEP97, "normal", false ) ; } / TEhUPreSEP98:TEhUPre { yyValue = makeString( "TEhUPre", TEhUPreSEP98, "normal", false ) ; } / TOPreSEP99:TOPre { yyValue = makeString( "TOPre", TOPreSEP99, "normal", false ) ; } / TOIPreSEP100:TOIPre { yyValue = makeString( "TOIPre", TOIPreSEP100, "normal", false ) ; } / TUhEPreSEP101:TUhEPre { yyValue = makeString( "TUhEPre", TUhEPreSEP101, "normal", false ) ; } / TUhUPreSEP102:TUhUPre { yyValue = makeString( "TUhUPre", TUhUPreSEP102, "normal", false ) ; } / UIPreSEP103:UIPre { yyValue = makeString( "UIPre", UIPreSEP103, "normal", false ) ; } / VAPreSEP104:VAPre { yyValue = makeString( "VAPre", VAPreSEP104, "normal", false ) ; } / VAUPreSEP105:VAUPre { yyValue = makeString( "VAUPre", VAUPreSEP105, "normal", false ) ; } / VEIPreSEP106:VEIPre { yyValue = makeString( "VEIPre", VEIPreSEP106, "normal", false ) ; } / VEhAPreSEP107:VEhAPre { yyValue = makeString( "VEhAPre", VEhAPreSEP107, "normal", false ) ; } / VEhOPreSEP108:VEhOPre { yyValue = makeString( "VEhOPre", VEhOPreSEP108, "normal", false ) ; } / VIhAPreSEP109:VIhAPre { yyValue = makeString( "VIhAPre", VIhAPreSEP109, "normal", false ) ; } / VUhOPreSEP110:VUhOPre { yyValue = makeString( "VUhOPre", VUhOPreSEP110, "normal", false ) ; } / VUhUPreSEP111:VUhUPre { yyValue = makeString( "VUhUPre", VUhUPreSEP111, "normal", false ) ; } / XIPreSEP112:XIPre { yyValue = makeString( "XIPre", XIPreSEP112, "normal", false ) ; } / ZAhOPreSEP113:ZAhOPre { yyValue = makeString( "ZAhOPre", ZAhOPreSEP113, "normal", false ) ; } / ZEIPreSEP114:ZEIPre { yyValue = makeString( "ZEIPre", ZEIPreSEP114, "normal", false ) ; } / ZEhAPreSEP115:ZEhAPre { yyValue = makeString( "ZEhAPre", ZEhAPreSEP115, "normal", false ) ; } / ZIPreSEP116:ZIPre { yyValue = makeString( "ZIPre", ZIPreSEP116, "normal", false ) ; } / ZIhEPreSEP117:ZIhEPre { yyValue = makeString( "ZIhEPre", ZIhEPreSEP117, "normal", false ) ; } / ZOPreSEP118:ZOPre { yyValue = makeString( "ZOPre", ZOPreSEP118, "normal", false ) ; } / ZOIPreSEP119:ZOIPre { yyValue = makeString( "ZOIPre", ZOIPreSEP119, "normal", false ) ; } / ZOhUPreSEP120:ZOhUPre { yyValue = makeString( "ZOhUPre", ZOhUPreSEP120, "normal", false ) ; } ; // Handling of spaces and things like spaces. // --- SPACE --- // Do *NOT* delete the line above! // SU clauses String suClause = PARSERparen1:(erasableClauseSEP1:erasableClause { yyValue = makeString( "erasableClause", erasableClauseSEP1, "whitespace", false ) ; } / suWordSEP2:suWord { yyValue = makeString( "suWord", suWordSEP2, "whitespace", false ) ; } )* SUClauseSEP2:SUClause { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "SUClause", SUClauseSEP2, "whitespace", false ) ; } ; // Handling of SI and interactions with zo and lo'u...le'u String siClause = PARSERparen1:(PARSERparen1:(erasableClauseSEP1:erasableClause { yyValue = makeString( "erasableClause", erasableClauseSEP1, "whitespace", false ) ; } / siWordSEP2:siWord { yyValue = makeString( "siWord", siWordSEP2, "whitespace", false ) ; } / SAClauseSEP3:SAClause { yyValue = makeString( "SAClause", SAClauseSEP3, "whitespace", false ) ; } ) siClauseSEP2:siClause? SIClauseSEP3:SIClause { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "siClause", siClauseSEP2, "whitespace", false ) + makeString( "SIClause", SIClauseSEP3, "whitespace", false ) ; } )+ { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String erasableClause = buClauseNoPreSEP1:buClauseNoPre !ZEIClause !BUClause { yyValue = makeString( "buClauseNoPre", buClauseNoPreSEP1, "whitespace", false ) ; } / zeiClauseNoPreSEP2:zeiClauseNoPre !ZEIClause !BUClause { yyValue = makeString( "zeiClauseNoPre", zeiClauseNoPreSEP2, "whitespace", false ) ; } ; String saWord = preZeiBuSEP1:preZeiBu { yyValue = makeString( "preZeiBu", preZeiBuSEP1, "whitespace", false ) ; } ; String siWord = preZeiBuSEP1:preZeiBu { yyValue = makeString( "preZeiBu", preZeiBuSEP1, "whitespace", false ) ; } ; String suWord = !NIhOClause !LUClause !TUhEClause !TOClause !SUClause !FAhOClause anyWordSAHandlingSEP1:anyWordSAHandling { yyValue = makeString( "anyWordSAHandling", anyWordSAHandlingSEP1, "whitespace", false ) ; } ; // --- SELMAHO --- // Do *NOT* delete the line above! String BRIVLAClause = BRIVLAPreSEP1:BRIVLAPre BRIVLAPostSEP2:BRIVLAPost { yyValue = makeString( "BRIVLAPre", BRIVLAPreSEP1, "normal", false ) + makeString( "BRIVLAPost", BRIVLAPostSEP2, "normal", false ) ; } / zeiClauseSEP3:zeiClause { yyValue = makeString( "zeiClause", zeiClauseSEP3, "normal", false ) ; } ; String BRIVLAPre = preClauseSEP1:preClause BRIVLASEP2:BRIVLA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BRIVLA", BRIVLASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BRIVLAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BRIVLANoSAHandling = preClauseSEP1:preClause BRIVLASEP2:BRIVLA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BRIVLA", BRIVLASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } / zeiClauseNoSASEP4:zeiClauseNoSA { yyValue = makeString( "zeiClauseNoSA", zeiClauseNoSASEP4, "whitespace", false ) ; } ; String CMENEClause = CMENEPreSEP1:CMENEPre CMENEPostSEP2:CMENEPost { yyValue = makeString( "CMENEPre", CMENEPreSEP1, "normal", false ) + makeString( "CMENEPost", CMENEPostSEP2, "normal", false ) ; } ; String CMENEPre = preClauseSEP1:preClause CMENESEP2:CMENE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CMENE", CMENESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CMENEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CMENENoSAHandling = preClauseSEP1:preClause CMENESEP2:CMENE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CMENE", CMENESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; String CMAVOClause = CMAVOPreSEP1:CMAVOPre CMAVOPostSEP2:CMAVOPost { yyValue = makeString( "CMAVOPre", CMAVOPreSEP1, "normal", false ) + makeString( "CMAVOPost", CMAVOPostSEP2, "normal", false ) ; } ; String CMAVOPre = preClauseSEP1:preClause CMAVOSEP2:CMAVO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CMAVO", CMAVOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CMAVOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CMAVONoSAHandling = preClauseSEP1:preClause CMAVOSEP2:CMAVO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CMAVO", CMAVOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // eks; basic afterthought logical connectives String AClause = APreSEP1:APre APostSEP2:APost { yyValue = makeString( "APre", APreSEP1, "normal", false ) + makeString( "APost", APostSEP2, "normal", false ) ; } ; String APre = preClauseSEP1:preClause ASEP2:A spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "A", ASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String APost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ANoSAHandling = preClauseSEP1:preClause ASEP2:A postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "A", ASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // modal operators String BAIClause = BAIPreSEP1:BAIPre BAIPostSEP2:BAIPost { yyValue = makeString( "BAIPre", BAIPreSEP1, "normal", false ) + makeString( "BAIPost", BAIPostSEP2, "normal", false ) ; } ; String BAIPre = preClauseSEP1:preClause BAISEP2:BAI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BAI", BAISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BAIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BAINoSAHandling = preClauseSEP1:preClause BAISEP2:BAI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BAI", BAISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // next word intensifier String BAhEClause = PARSERparen1:(BAhEPreSEP1:BAhEPre BAhEPostSEP2:BAhEPost { yyValue = makeString( "BAhEPre", BAhEPreSEP1, "normal", false ) + makeString( "BAhEPost", BAhEPostSEP2, "normal", false ) ; } )+ { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BAhEPre = BAhESEP1:BAhE spacesSEP2:spaces? { yyValue = makeString( "BAhE", BAhESEP1, "normal", false ) + makeString( "spaces", spacesSEP2, "normal", false ) ; } ; String BAhEPost = siClauseSEP1:siClause? !ZEIClause !BUClause { yyValue = makeString( "siClause", siClauseSEP1, "normal", false ) ; } ; String BAhENoSAHandling = BAhESEP1:BAhE spacesSEP2:spaces? BAhEPostSEP3:BAhEPost { yyValue = makeString( "BAhE", BAhESEP1, "whitespace", false ) + makeString( "spaces", spacesSEP2, "whitespace", false ) + makeString( "BAhEPost", BAhEPostSEP3, "whitespace", false ) ; } ; // sumti link to attach sumti to a selbri String BEClause = BEPreSEP1:BEPre BEPostSEP2:BEPost { yyValue = makeString( "BEPre", BEPreSEP1, "normal", false ) + makeString( "BEPost", BEPostSEP2, "normal", false ) ; } ; String BEPre = preClauseSEP1:preClause BESEP2:BE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BE", BESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BENoSAHandling = preClauseSEP1:preClause BESEP2:BE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BE", BESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // multiple sumti separator between BE, BEI String BEIClause = BEIPreSEP1:BEIPre BEIPostSEP2:BEIPost { yyValue = makeString( "BEIPre", BEIPreSEP1, "normal", false ) + makeString( "BEIPost", BEIPostSEP2, "normal", false ) ; } ; String BEIPre = preClauseSEP1:preClause BEISEP2:BEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BEI", BEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BEINoSAHandling = preClauseSEP1:preClause BEISEP2:BEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BEI", BEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // terminates BEBEI specified descriptors String BEhOClause = BEhOPreSEP1:BEhOPre BEhOPostSEP2:BEhOPost { yyValue = makeString( "BEhOPre", BEhOPreSEP1, "normal", false ) + makeString( "BEhOPost", BEhOPostSEP2, "normal", false ) ; } ; String BEhOPre = preClauseSEP1:preClause BEhOSEP2:BEhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BEhO", BEhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BEhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BEhONoSAHandling = preClauseSEP1:preClause BEhOSEP2:BEhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BEhO", BEhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // prefix for high-priority MEX operator String BIhEClause = BIhEPreSEP1:BIhEPre BIhEPostSEP2:BIhEPost { yyValue = makeString( "BIhEPre", BIhEPreSEP1, "normal", false ) + makeString( "BIhEPost", BIhEPostSEP2, "normal", false ) ; } ; String BIhEPre = preClauseSEP1:preClause BIhESEP2:BIhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BIhE", BIhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BIhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BIhENoSAHandling = preClauseSEP1:preClause BIhESEP2:BIhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BIhE", BIhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // interval component of JOI String BIhIClause = BIhIPreSEP1:BIhIPre BIhIPostSEP2:BIhIPost { yyValue = makeString( "BIhIPre", BIhIPreSEP1, "normal", false ) + makeString( "BIhIPost", BIhIPostSEP2, "normal", false ) ; } ; String BIhIPre = preClauseSEP1:preClause BIhISEP2:BIhI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BIhI", BIhISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BIhIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BIhINoSAHandling = preClauseSEP1:preClause BIhISEP2:BIhI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BIhI", BIhISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // joins two units with shortest scope String BOClause = BOPreSEP1:BOPre BOPostSEP2:BOPost { yyValue = makeString( "BOPre", BOPreSEP1, "normal", false ) + makeString( "BOPost", BOPostSEP2, "normal", false ) ; } ; String BOPre = preClauseSEP1:preClause BOSEP2:BO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BO", BOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BONoSAHandling = preClauseSEP1:preClause BOSEP2:BO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BO", BOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // number or lerfu-string terminator String BOIClause = BOIPreSEP1:BOIPre BOIPostSEP2:BOIPost { yyValue = makeString( "BOIPre", BOIPreSEP1, "normal", false ) + makeString( "BOIPost", BOIPostSEP2, "normal", false ) ; } ; String BOIPre = preClauseSEP1:preClause BOISEP2:BOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BOI", BOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BOINoSAHandling = preClauseSEP1:preClause BOISEP2:BOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BOI", BOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // turns any word into a BY lerfu word String BUClause = BUPreSEP1:BUPre BUPostSEP2:BUPost { yyValue = makeString( "BUPre", BUPreSEP1, "normal", false ) + makeString( "BUPost", BUPostSEP2, "normal", false ) ; } ; String BUClauseNoSA = BUPreNoSASEP1:BUPreNoSA BUSEP2:BU BUPostSEP3:BUPost { yyValue = makeString( "BUPreNoSA", BUPreNoSASEP1, "normal", false ) + makeString( "BU", BUSEP2, "normal", false ) + makeString( "BUPost", BUPostSEP3, "normal", false ) ; } ; String BUPre = preClauseSEP1:preClause BUSEP2:BU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BU", BUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BUPreNoSA = preClauseSEP1:preClause { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) ; } ; String BUPost = spacesSEP1:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) ; } ; String BUNoSAHandling = preClauseSEP1:preClause BUSEP2:BU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BU", BUSEP2, "whitespace", false ) + makeString( "spaces", spacesSEP3, "whitespace", false ) ; } ; // individual lerfu words String BYClause = BYPreSEP1:BYPre BYPostSEP2:BYPost { yyValue = makeString( "BYPre", BYPreSEP1, "normal", false ) + makeString( "BYPost", BYPostSEP2, "normal", false ) ; } / buClauseSEP3:buClause { yyValue = makeString( "buClause", buClauseSEP3, "normal", false ) ; } ; String BYPre = preClauseSEP1:preClause BYSEP2:BY spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "BY", BYSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String BYPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String BYNoSAHandling = preClauseSEP1:preClause BYSEP2:BY postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "BY", BYSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } / buClauseNoSASEP4:buClauseNoSA { yyValue = makeString( "buClauseNoSA", buClauseNoSASEP4, "whitespace", false ) ; } ; // specifies actualitypotentiality of tense String CAhAClause = CAhAPreSEP1:CAhAPre CAhAPostSEP2:CAhAPost { yyValue = makeString( "CAhAPre", CAhAPreSEP1, "normal", false ) + makeString( "CAhAPost", CAhAPostSEP2, "normal", false ) ; } ; String CAhAPre = preClauseSEP1:preClause CAhASEP2:CAhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CAhA", CAhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CAhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CAhANoSAHandling = preClauseSEP1:preClause CAhASEP2:CAhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CAhA", CAhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // afterthought intensity marker String CAIClause = CAIPreSEP1:CAIPre CAIPostSEP2:CAIPost { yyValue = makeString( "CAIPre", CAIPreSEP1, "normal", false ) + makeString( "CAIPost", CAIPostSEP2, "normal", false ) ; } ; String CAIPre = preClauseSEP1:preClause CAISEP2:CAI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CAI", CAISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CAIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CAINoSAHandling = preClauseSEP1:preClause CAISEP2:CAI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CAI", CAISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // pro-bridi assignment operator String CEIClause = CEIPreSEP1:CEIPre CEIPostSEP2:CEIPost { yyValue = makeString( "CEIPre", CEIPreSEP1, "normal", false ) + makeString( "CEIPost", CEIPostSEP2, "normal", false ) ; } ; String CEIPre = preClauseSEP1:preClause CEISEP2:CEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CEI", CEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CEINoSAHandling = preClauseSEP1:preClause CEISEP2:CEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CEI", CEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // afterthought term list connective String CEhEClause = CEhEPreSEP1:CEhEPre CEhEPostSEP2:CEhEPost { yyValue = makeString( "CEhEPre", CEhEPreSEP1, "normal", false ) + makeString( "CEhEPost", CEhEPostSEP2, "normal", false ) ; } ; String CEhEPre = preClauseSEP1:preClause CEhESEP2:CEhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CEhE", CEhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CEhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CEhENoSAHandling = preClauseSEP1:preClause CEhESEP2:CEhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CEhE", CEhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // names; require consonant end, then pause no // LA or DOI selma'o embedded, pause before if // vowel initial and preceded by a vowel // tanru inversion String COClause = COPreSEP1:COPre COPostSEP2:COPost { yyValue = makeString( "COPre", COPreSEP1, "normal", false ) + makeString( "COPost", COPostSEP2, "normal", false ) ; } ; String COPre = preClauseSEP1:preClause COSEP2:CO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CO", COSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String COPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CONoSAHandling = preClauseSEP1:preClause COSEP2:CO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CO", COSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; String COIClause = COIPreSEP1:COIPre COIPostSEP2:COIPost { yyValue = makeString( "COIPre", COIPreSEP1, "normal", false ) + makeString( "COIPost", COIPostSEP2, "normal", false ) ; } ; String COIPre = preClauseSEP1:preClause COISEP2:COI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "COI", COISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String COIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String COINoSAHandling = preClauseSEP1:preClause COISEP2:COI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "COI", COISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // vocative marker permitted inside names; must // always be followed by pause or DOI // separator between head sumti and selbri String CUClause = CUPreSEP1:CUPre CUPostSEP2:CUPost { yyValue = makeString( "CUPre", CUPreSEP1, "normal", false ) + makeString( "CUPost", CUPostSEP2, "normal", false ) ; } ; String CUPre = preClauseSEP1:preClause CUSEP2:CU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CU", CUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CUNoSAHandling = preClauseSEP1:preClause CUSEP2:CU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CU", CUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // tensemodal question String CUhEClause = CUhEPreSEP1:CUhEPre CUhEPostSEP2:CUhEPost { yyValue = makeString( "CUhEPre", CUhEPreSEP1, "normal", false ) + makeString( "CUhEPost", CUhEPostSEP2, "normal", false ) ; } ; String CUhEPre = preClauseSEP1:preClause CUhESEP2:CUhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "CUhE", CUhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String CUhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String CUhENoSAHandling = preClauseSEP1:preClause CUhESEP2:CUhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "CUhE", CUhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // cancel anaphoracataphora assignments String DAhOClause = DAhOPreSEP1:DAhOPre DAhOPostSEP2:DAhOPost { yyValue = makeString( "DAhOPre", DAhOPreSEP1, "normal", false ) + makeString( "DAhOPost", DAhOPostSEP2, "normal", false ) ; } ; String DAhOPre = preClauseSEP1:preClause DAhOSEP2:DAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "DAhO", DAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String DAhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String DAhONoSAHandling = preClauseSEP1:preClause DAhOSEP2:DAhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "DAhO", DAhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // vocative marker String DOIClause = DOIPreSEP1:DOIPre DOIPostSEP2:DOIPost { yyValue = makeString( "DOIPre", DOIPreSEP1, "normal", false ) + makeString( "DOIPost", DOIPostSEP2, "normal", false ) ; } ; String DOIPre = preClauseSEP1:preClause DOISEP2:DOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "DOI", DOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String DOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String DOINoSAHandling = preClauseSEP1:preClause DOISEP2:DOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "DOI", DOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // terminator for DOI-marked vocatives String DOhUClause = DOhUPreSEP1:DOhUPre DOhUPostSEP2:DOhUPost { yyValue = makeString( "DOhUPre", DOhUPreSEP1, "normal", false ) + makeString( "DOhUPost", DOhUPostSEP2, "normal", false ) ; } ; String DOhUPre = preClauseSEP1:preClause DOhUSEP2:DOhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "DOhU", DOhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String DOhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String DOhUNoSAHandling = preClauseSEP1:preClause DOhUSEP2:DOhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "DOhU", DOhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // modifier head generic case tag String FAClause = FAPreSEP1:FAPre FAPostSEP2:FAPost { yyValue = makeString( "FAPre", FAPreSEP1, "normal", false ) + makeString( "FAPost", FAPostSEP2, "normal", false ) ; } ; String FAPre = preClauseSEP1:preClause FASEP2:FA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FA", FASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FANoSAHandling = preClauseSEP1:preClause FASEP2:FA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FA", FASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // superdirections in space String FAhAClause = FAhAPreSEP1:FAhAPre FAhAPostSEP2:FAhAPost { yyValue = makeString( "FAhAPre", FAhAPreSEP1, "normal", false ) + makeString( "FAhAPost", FAhAPostSEP2, "normal", false ) ; } ; String FAhAPre = preClauseSEP1:preClause FAhASEP2:FAhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FAhA", FAhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FAhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FAhANoSAHandling = preClauseSEP1:preClause FAhASEP2:FAhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FAhA", FAhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // normally elided 'done pause' to indicate end // of utterance string String FAhOClause = preClauseSEP1:preClause FAhOSEP2:FAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FAhO", FAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; // space interval mod flag String FEhEClause = FEhEPreSEP1:FEhEPre FEhEPostSEP2:FEhEPost { yyValue = makeString( "FEhEPre", FEhEPreSEP1, "normal", false ) + makeString( "FEhEPost", FEhEPostSEP2, "normal", false ) ; } ; String FEhEPre = preClauseSEP1:preClause FEhESEP2:FEhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FEhE", FEhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FEhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FEhENoSAHandling = preClauseSEP1:preClause FEhESEP2:FEhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FEhE", FEhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // ends bridi to modal conversion String FEhUClause = FEhUPreSEP1:FEhUPre FEhUPostSEP2:FEhUPost { yyValue = makeString( "FEhUPre", FEhUPreSEP1, "normal", false ) + makeString( "FEhUPost", FEhUPostSEP2, "normal", false ) ; } ; String FEhUPre = preClauseSEP1:preClause FEhUSEP2:FEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FEhU", FEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FEhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FEhUNoSAHandling = preClauseSEP1:preClause FEhUSEP2:FEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FEhU", FEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // marks bridi to modal conversion String FIhOClause = FIhOPreSEP1:FIhOPre FIhOPostSEP2:FIhOPost { yyValue = makeString( "FIhOPre", FIhOPreSEP1, "normal", false ) + makeString( "FIhOPost", FIhOPostSEP2, "normal", false ) ; } ; String FIhOPre = preClauseSEP1:preClause FIhOSEP2:FIhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FIhO", FIhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FIhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FIhONoSAHandling = preClauseSEP1:preClause FIhOSEP2:FIhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FIhO", FIhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // end compound lerfu String FOIClause = FOIPreSEP1:FOIPre FOIPostSEP2:FOIPost { yyValue = makeString( "FOIPre", FOIPreSEP1, "normal", false ) + makeString( "FOIPost", FOIPostSEP2, "normal", false ) ; } ; String FOIPre = preClauseSEP1:preClause FOISEP2:FOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FOI", FOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FOINoSAHandling = preClauseSEP1:preClause FOISEP2:FOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FOI", FOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // reverse Polish flag String FUhAClause = FUhAPreSEP1:FUhAPre FUhAPostSEP2:FUhAPost { yyValue = makeString( "FUhAPre", FUhAPreSEP1, "normal", false ) + makeString( "FUhAPost", FUhAPostSEP2, "normal", false ) ; } ; String FUhAPre = preClauseSEP1:preClause FUhASEP2:FUhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FUhA", FUhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FUhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FUhANoSAHandling = preClauseSEP1:preClause FUhASEP2:FUhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FUhA", FUhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // open long scope for indicator String FUhEClause = FUhEPreSEP1:FUhEPre FUhEPostSEP2:FUhEPost { yyValue = makeString( "FUhEPre", FUhEPreSEP1, "normal", false ) + makeString( "FUhEPost", FUhEPostSEP2, "normal", false ) ; } ; String FUhEPre = preClauseSEP1:preClause FUhESEP2:FUhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FUhE", FUhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FUhEPost = !BUClause spacesSEP1:spaces? !ZEIClause !BUClause { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) ; } ; String FUhENoSAHandling = preClauseSEP1:preClause FUhESEP2:FUhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FUhE", FUhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // close long scope for indicator String FUhOClause = FUhOPreSEP1:FUhOPre FUhOPostSEP2:FUhOPost { yyValue = makeString( "FUhOPre", FUhOPreSEP1, "normal", false ) + makeString( "FUhOPost", FUhOPostSEP2, "normal", false ) ; } ; String FUhOPre = preClauseSEP1:preClause FUhOSEP2:FUhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "FUhO", FUhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String FUhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String FUhONoSAHandling = preClauseSEP1:preClause FUhOSEP2:FUhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "FUhO", FUhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // geks; forethought logical connectives String GAClause = GAPreSEP1:GAPre GAPostSEP2:GAPost { yyValue = makeString( "GAPre", GAPreSEP1, "normal", false ) + makeString( "GAPost", GAPostSEP2, "normal", false ) ; } ; String GAPre = preClauseSEP1:preClause GASEP2:GA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GA", GASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GANoSAHandling = preClauseSEP1:preClause GASEP2:GA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GA", GASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // openclosed interval markers for BIhI String GAhOClause = GAhOPreSEP1:GAhOPre GAhOPostSEP2:GAhOPost { yyValue = makeString( "GAhOPre", GAhOPreSEP1, "normal", false ) + makeString( "GAhOPost", GAhOPostSEP2, "normal", false ) ; } ; String GAhOPre = preClauseSEP1:preClause GAhOSEP2:GAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GAhO", GAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GAhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GAhONoSAHandling = preClauseSEP1:preClause GAhOSEP2:GAhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GAhO", GAhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // marker ending GOI relative clauses String GEhUClause = GEhUPreSEP1:GEhUPre GEhUPostSEP2:GEhUPost { yyValue = makeString( "GEhUPre", GEhUPreSEP1, "normal", false ) + makeString( "GEhUPost", GEhUPostSEP2, "normal", false ) ; } ; String GEhUPre = preClauseSEP1:preClause GEhUSEP2:GEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GEhU", GEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GEhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GEhUNoSAHandling = preClauseSEP1:preClause GEhUSEP2:GEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GEhU", GEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // forethought medial marker String GIClause = GIPreSEP1:GIPre GIPostSEP2:GIPost { yyValue = makeString( "GIPre", GIPreSEP1, "normal", false ) + makeString( "GIPost", GIPostSEP2, "normal", false ) ; } ; String GIPre = preClauseSEP1:preClause GISEP2:GI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GI", GISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GINoSAHandling = preClauseSEP1:preClause GISEP2:GI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GI", GISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // logical connectives for bridi-tails String GIhAClause = GIhAPreSEP1:GIhAPre GIhAPostSEP2:GIhAPost { yyValue = makeString( "GIhAPre", GIhAPreSEP1, "normal", false ) + makeString( "GIhAPost", GIhAPostSEP2, "normal", false ) ; } ; String GIhAPre = preClauseSEP1:preClause GIhASEP2:GIhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GIhA", GIhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GIhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GIhANoSAHandling = preClauseSEP1:preClause GIhASEP2:GIhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GIhA", GIhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // attaches a sumti modifier to a sumti String GOIClause = GOIPreSEP1:GOIPre GOIPostSEP2:GOIPost { yyValue = makeString( "GOIPre", GOIPreSEP1, "normal", false ) + makeString( "GOIPost", GOIPostSEP2, "normal", false ) ; } ; String GOIPre = preClauseSEP1:preClause GOISEP2:GOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GOI", GOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GOINoSAHandling = preClauseSEP1:preClause GOISEP2:GOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GOI", GOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // pro-bridi String GOhAClause = GOhAPreSEP1:GOhAPre GOhAPostSEP2:GOhAPost { yyValue = makeString( "GOhAPre", GOhAPreSEP1, "normal", false ) + makeString( "GOhAPost", GOhAPostSEP2, "normal", false ) ; } ; String GOhAPre = preClauseSEP1:preClause GOhASEP2:GOhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GOhA", GOhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GOhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GOhANoSAHandling = preClauseSEP1:preClause GOhASEP2:GOhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GOhA", GOhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // GEK for tanru units, corresponds to JEKs String GUhAClause = GUhAPreSEP1:GUhAPre GUhAPostSEP2:GUhAPost { yyValue = makeString( "GUhAPre", GUhAPreSEP1, "normal", false ) + makeString( "GUhAPost", GUhAPostSEP2, "normal", false ) ; } ; String GUhAPre = preClauseSEP1:preClause GUhASEP2:GUhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "GUhA", GUhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String GUhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String GUhANoSAHandling = preClauseSEP1:preClause GUhASEP2:GUhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "GUhA", GUhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // sentence link String IClause = sentenceSaSEP1:sentenceSa* IPreSEP2:IPre IPostSEP3:IPost { yyValue = makeString( "sentenceSa", sentenceSaSEP1, "normal", false ) + makeString( "IPre", IPreSEP2, "normal", false ) + makeString( "IPost", IPostSEP3, "normal", false ) ; } ; String IPre = preClauseSEP1:preClause ISEP2:I spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "I", ISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String IPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String INoSAHandling = preClauseSEP1:preClause ISEP2:I postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "I", ISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // jeks; logical connectives within tanru String JAClause = JAPreSEP1:JAPre JAPostSEP2:JAPost { yyValue = makeString( "JAPre", JAPreSEP1, "normal", false ) + makeString( "JAPost", JAPostSEP2, "normal", false ) ; } ; String JAPre = preClauseSEP1:preClause JASEP2:JA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "JA", JASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String JAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String JANoSAHandling = preClauseSEP1:preClause JASEP2:JA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "JA", JASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // modal conversion flag String JAIClause = JAIPreSEP1:JAIPre JAIPostSEP2:JAIPost { yyValue = makeString( "JAIPre", JAIPreSEP1, "normal", false ) + makeString( "JAIPost", JAIPostSEP2, "normal", false ) ; } ; String JAIPre = preClauseSEP1:preClause JAISEP2:JAI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "JAI", JAISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String JAIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String JAINoSAHandling = preClauseSEP1:preClause JAISEP2:JAI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "JAI", JAISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // flags an array operand String JOhIClause = JOhIPreSEP1:JOhIPre JOhIPostSEP2:JOhIPost { yyValue = makeString( "JOhIPre", JOhIPreSEP1, "normal", false ) + makeString( "JOhIPost", JOhIPostSEP2, "normal", false ) ; } ; String JOhIPre = preClauseSEP1:preClause JOhISEP2:JOhI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "JOhI", JOhISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String JOhIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String JOhINoSAHandling = preClauseSEP1:preClause JOhISEP2:JOhI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "JOhI", JOhISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // non-logical connectives String JOIClause = JOIPreSEP1:JOIPre JOIPostSEP2:JOIPost { yyValue = makeString( "JOIPre", JOIPreSEP1, "normal", false ) + makeString( "JOIPost", JOIPostSEP2, "normal", false ) ; } ; String JOIPre = preClauseSEP1:preClause JOISEP2:JOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "JOI", JOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String JOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String JOINoSAHandling = preClauseSEP1:preClause JOISEP2:JOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "JOI", JOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // left long scope marker String KEClause = KEPreSEP1:KEPre KEPostSEP2:KEPost { yyValue = makeString( "KEPre", KEPreSEP1, "normal", false ) + makeString( "KEPost", KEPostSEP2, "normal", false ) ; } ; String KEPre = preClauseSEP1:preClause KESEP2:KE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KE", KESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KENoSAHandling = preClauseSEP1:preClause KESEP2:KE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KE", KESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // right terminator for KE groups String KEhEClause = KEhEPreSEP1:KEhEPre KEhEPostSEP2:KEhEPost { yyValue = makeString( "KEhEPre", KEhEPreSEP1, "normal", false ) + makeString( "KEhEPost", KEhEPostSEP2, "normal", false ) ; } ; String KEhEPre = preClauseSEP1:preClause KEhESEP2:KEhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KEhE", KEhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KEhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KEhENoSAHandling = preClauseSEP1:preClause KEhESEP2:KEhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KEhE", KEhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // right terminator, NU abstractions String KEIClause = KEIPreSEP1:KEIPre KEIPostSEP2:KEIPost { yyValue = makeString( "KEIPre", KEIPreSEP1, "normal", false ) + makeString( "KEIPost", KEIPostSEP2, "normal", false ) ; } ; String KEIPre = preClauseSEP1:preClause KEISEP2:KEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KEI", KEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KEINoSAHandling = preClauseSEP1:preClause KEISEP2:KEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KEI", KEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // multiple utterance scope for tenses String KIClause = KIPreSEP1:KIPre KIPostSEP2:KIPost { yyValue = makeString( "KIPre", KIPreSEP1, "normal", false ) + makeString( "KIPost", KIPostSEP2, "normal", false ) ; } ; String KIPre = preClauseSEP1:preClause KISEP2:KI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KI", KISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KINoSAHandling = preClauseSEP1:preClause KISEP2:KI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KI", KISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // sumti anaphora String KOhAClause = KOhAPreSEP1:KOhAPre KOhAPostSEP2:KOhAPost { yyValue = makeString( "KOhAPre", KOhAPreSEP1, "normal", false ) + makeString( "KOhAPost", KOhAPostSEP2, "normal", false ) ; } ; String KOhAPre = preClauseSEP1:preClause KOhASEP2:KOhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KOhA", KOhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KOhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KOhANoSAHandling = preClauseSEP1:preClause KOhASEP2:KOhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KOhA", KOhASEP2, "whitespace", false ) + makeString( "spaces", spacesSEP3, "whitespace", false ) ; } ; // right terminator for descriptions, etc. String KUClause = KUPreSEP1:KUPre KUPostSEP2:KUPost { yyValue = makeString( "KUPre", KUPreSEP1, "normal", false ) + makeString( "KUPost", KUPostSEP2, "normal", false ) ; } ; String KUPre = preClauseSEP1:preClause KUSEP2:KU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KU", KUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KUNoSAHandling = preClauseSEP1:preClause KUSEP2:KU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KU", KUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // MEX forethought delimiter String KUhEClause = KUhEPreSEP1:KUhEPre KUhEPostSEP2:KUhEPost { yyValue = makeString( "KUhEPre", KUhEPreSEP1, "normal", false ) + makeString( "KUhEPost", KUhEPostSEP2, "normal", false ) ; } ; String KUhEPre = preClauseSEP1:preClause KUhESEP2:KUhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KUhE", KUhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KUhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KUhENoSAHandling = preClauseSEP1:preClause KUhESEP2:KUhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KUhE", KUhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // right terminator, NOI relative clauses String KUhOClause = KUhOPreSEP1:KUhOPre KUhOPostSEP2:KUhOPost { yyValue = makeString( "KUhOPre", KUhOPreSEP1, "normal", false ) + makeString( "KUhOPost", KUhOPostSEP2, "normal", false ) ; } ; String KUhOPre = preClauseSEP1:preClause KUhOSEP2:KUhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "KUhO", KUhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String KUhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String KUhONoSAHandling = preClauseSEP1:preClause KUhOSEP2:KUhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "KUhO", KUhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // name descriptors String LAClause = LAPreSEP1:LAPre LAPostSEP2:LAPost { yyValue = makeString( "LAPre", LAPreSEP1, "normal", false ) + makeString( "LAPost", LAPostSEP2, "normal", false ) ; } ; String LAPre = preClauseSEP1:preClause LASEP2:LA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LA", LASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LANoSAHandling = preClauseSEP1:preClause LASEP2:LA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LA", LASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // lerfu prefixes String LAUClause = LAUPreSEP1:LAUPre LAUPostSEP2:LAUPost { yyValue = makeString( "LAUPre", LAUPreSEP1, "normal", false ) + makeString( "LAUPost", LAUPostSEP2, "normal", false ) ; } ; String LAUPre = preClauseSEP1:preClause LAUSEP2:LAU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LAU", LAUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LAUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LAUNoSAHandling = preClauseSEP1:preClause LAUSEP2:LAU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LAU", LAUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // sumti qualifiers String LAhEClause = LAhEPreSEP1:LAhEPre LAhEPostSEP2:LAhEPost { yyValue = makeString( "LAhEPre", LAhEPreSEP1, "normal", false ) + makeString( "LAhEPost", LAhEPostSEP2, "normal", false ) ; } ; String LAhEPre = preClauseSEP1:preClause LAhESEP2:LAhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LAhE", LAhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LAhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LAhENoSAHandling = preClauseSEP1:preClause LAhESEP2:LAhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LAhE", LAhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // sumti descriptors String LEClause = LEPreSEP1:LEPre LEPostSEP2:LEPost { yyValue = makeString( "LEPre", LEPreSEP1, "normal", false ) + makeString( "LEPost", LEPostSEP2, "normal", false ) ; } ; String LEPre = preClauseSEP1:preClause LESEP2:LE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LE", LESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LENoSAHandling = preClauseSEP1:preClause LESEP2:LE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LE", LESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // possibly ungrammatical text right quote String LEhUClause = LEhUPreSEP1:LEhUPre LEhUPostSEP2:LEhUPost { yyValue = makeString( "LEhUPre", LEhUPreSEP1, "normal", false ) + makeString( "LEhUPost", LEhUPostSEP2, "normal", false ) ; } ; String LEhUPre = preClauseSEP1:preClause LEhUSEP2:LEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LEhU", LEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LEhUPost = spacesSEP1:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) ; } ; String LEhUClauseNoSA = LEhUPreNoSASEP1:LEhUPreNoSA LEhUPostSEP2:LEhUPost { yyValue = makeString( "LEhUPreNoSA", LEhUPreNoSASEP1, "normal", false ) + makeString( "LEhUPost", LEhUPostSEP2, "normal", false ) ; } ; String LEhUPreNoSA = preClauseSEP1:preClause LEhUSEP2:LEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LEhU", LEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LEhUNoSAHandling = preClauseSEP1:preClause LEhUSEP2:LEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LEhU", LEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // convert number to sumti String LIClause = LIPreSEP1:LIPre LIPostSEP2:LIPost { yyValue = makeString( "LIPre", LIPreSEP1, "normal", false ) + makeString( "LIPost", LIPostSEP2, "normal", false ) ; } ; String LIPre = preClauseSEP1:preClause LISEP2:LI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LI", LISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LINoSAHandling = preClauseSEP1:preClause LISEP2:LI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LI", LISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // grammatical text right quote String LIhUClause = LIhUPreSEP1:LIhUPre LIhUPostSEP2:LIhUPost { yyValue = makeString( "LIhUPre", LIhUPreSEP1, "normal", false ) + makeString( "LIhUPost", LIhUPostSEP2, "normal", false ) ; } ; String LIhUPre = preClauseSEP1:preClause LIhUSEP2:LIhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LIhU", LIhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LIhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LIhUNoSAHandling = preClauseSEP1:preClause LIhUSEP2:LIhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LIhU", LIhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // elidable terminator for LI String LOhOClause = LOhOPreSEP1:LOhOPre LOhOPostSEP2:LOhOPost { yyValue = makeString( "LOhOPre", LOhOPreSEP1, "normal", false ) + makeString( "LOhOPost", LOhOPostSEP2, "normal", false ) ; } ; String LOhOPre = preClauseSEP1:preClause LOhOSEP2:LOhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LOhO", LOhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LOhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LOhONoSAHandling = preClauseSEP1:preClause LOhOSEP2:LOhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LOhO", LOhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // possibly ungrammatical text left quote String LOhUClause = LOhUPreSEP1:LOhUPre LOhUPostSEP2:LOhUPost { yyValue = makeString( "LOhUPre", LOhUPreSEP1, "normal", false ) + makeString( "LOhUPost", LOhUPostSEP2, "normal", false ) ; } ; String LOhUPre = preClauseSEP1:preClause LOhUSEP2:LOhU spacesSEP3:spaces? PARSERparen4:(!LEhU anyWordSEP1:anyWord { yyValue = makeString( "anyWord", anyWordSEP1, "normal", false ) ; } )* LEhUClauseSEP5:LEhUClause spacesSEP6:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LOhU", LOhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) + makeString( "LEhUClause", LEhUClauseSEP5, "normal", false ) + makeString( "spaces", spacesSEP6, "normal", false ) ; } ; String LOhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LOhUNoSAHandling = preClauseSEP1:preClause LOhUSEP2:LOhU spacesSEP3:spaces? PARSERparen4:(!LEhU anyWordSEP1:anyWord { yyValue = makeString( "anyWord", anyWordSEP1, "whitespace", false ) ; } )* LEhUClauseSEP5:LEhUClause spacesSEP6:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LOhU", LOhUSEP2, "whitespace", false ) + makeString( "spaces", spacesSEP3, "whitespace", false ) + makeString( "PARSERparen4", PARSERparen4, "parserParen", false ) + makeString( "LEhUClause", LEhUClauseSEP5, "whitespace", false ) + makeString( "spaces", spacesSEP6, "whitespace", false ) ; } ; // grammatical text left quote String LUClause = LUPreSEP1:LUPre LUPostSEP2:LUPost { yyValue = makeString( "LUPre", LUPreSEP1, "normal", false ) + makeString( "LUPost", LUPostSEP2, "normal", false ) ; } ; String LUPre = preClauseSEP1:preClause LUSEP2:LU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LU", LUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LUNoSAHandling = preClauseSEP1:preClause LUSEP2:LU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LU", LUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // LAhE close delimiter String LUhUClause = LUhUPreSEP1:LUhUPre LUhUPostSEP2:LUhUPost { yyValue = makeString( "LUhUPre", LUhUPreSEP1, "normal", false ) + makeString( "LUhUPost", LUhUPostSEP2, "normal", false ) ; } ; String LUhUPre = preClauseSEP1:preClause LUhUSEP2:LUhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "LUhU", LUhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String LUhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String LUhUNoSAHandling = preClauseSEP1:preClause LUhUSEP2:LUhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "LUhU", LUhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change MEX expressions to MEX operators String MAhOClause = MAhOPreSEP1:MAhOPre MAhOPostSEP2:MAhOPost { yyValue = makeString( "MAhOPre", MAhOPreSEP1, "normal", false ) + makeString( "MAhOPost", MAhOPostSEP2, "normal", false ) ; } ; String MAhOPre = preClauseSEP1:preClause MAhOSEP2:MAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MAhO", MAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MAhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MAhONoSAHandling = preClauseSEP1:preClause MAhOSEP2:MAhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MAhO", MAhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change numbers to utterance ordinals String MAIClause = MAIPreSEP1:MAIPre MAIPostSEP2:MAIPost { yyValue = makeString( "MAIPre", MAIPreSEP1, "normal", false ) + makeString( "MAIPost", MAIPostSEP2, "normal", false ) ; } ; String MAIPre = preClauseSEP1:preClause MAISEP2:MAI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MAI", MAISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MAIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MAINoSAHandling = preClauseSEP1:preClause MAISEP2:MAI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MAI", MAISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // converts a sumti into a tanru_unit String MEClause = MEPreSEP1:MEPre MEPostSEP2:MEPost { yyValue = makeString( "MEPre", MEPreSEP1, "normal", false ) + makeString( "MEPost", MEPostSEP2, "normal", false ) ; } ; String MEPre = preClauseSEP1:preClause MESEP2:ME spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ME", MESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MENoSAHandling = preClauseSEP1:preClause MESEP2:ME postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ME", MESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // terminator for ME String MEhUClause = MEhUPreSEP1:MEhUPre MEhUPostSEP2:MEhUPost { yyValue = makeString( "MEhUPre", MEhUPreSEP1, "normal", false ) + makeString( "MEhUPost", MEhUPostSEP2, "normal", false ) ; } ; String MEhUPre = preClauseSEP1:preClause MEhUSEP2:MEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MEhU", MEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MEhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MEhUNoSAHandling = preClauseSEP1:preClause MEhUSEP2:MEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MEhU", MEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change sumti to operand, inverse of LI String MOhEClause = MOhEPreSEP1:MOhEPre MOhEPostSEP2:MOhEPost { yyValue = makeString( "MOhEPre", MOhEPreSEP1, "normal", false ) + makeString( "MOhEPost", MOhEPostSEP2, "normal", false ) ; } ; String MOhEPre = preClauseSEP1:preClause MOhESEP2:MOhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MOhE", MOhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MOhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MOhENoSAHandling = preClauseSEP1:preClause MOhESEP2:MOhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MOhE", MOhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // motion tense marker String MOhIClause = MOhIPreSEP1:MOhIPre MOhIPostSEP2:MOhIPost { yyValue = makeString( "MOhIPre", MOhIPreSEP1, "normal", false ) + makeString( "MOhIPost", MOhIPostSEP2, "normal", false ) ; } ; String MOhIPre = preClauseSEP1:preClause MOhISEP2:MOhI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MOhI", MOhISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MOhIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MOhINoSAHandling = preClauseSEP1:preClause MOhISEP2:MOhI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MOhI", MOhISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change number to selbri String MOIClause = MOIPreSEP1:MOIPre MOIPostSEP2:MOIPost { yyValue = makeString( "MOIPre", MOIPreSEP1, "normal", false ) + makeString( "MOIPost", MOIPostSEP2, "normal", false ) ; } ; String MOIPre = preClauseSEP1:preClause MOISEP2:MOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "MOI", MOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String MOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String MOINoSAHandling = preClauseSEP1:preClause MOISEP2:MOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "MOI", MOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // bridi negation String NAClause = NAPreSEP1:NAPre NAPostSEP2:NAPost { yyValue = makeString( "NAPre", NAPreSEP1, "normal", false ) + makeString( "NAPost", NAPostSEP2, "normal", false ) ; } ; String NAPre = preClauseSEP1:preClause NASEP2:NA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NA", NASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NANoSAHandling = preClauseSEP1:preClause NASEP2:NA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NA", NASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // attached to words to negate them String NAIClause = NAIPreSEP1:NAIPre NAIPostSEP2:NAIPost { yyValue = makeString( "NAIPre", NAIPreSEP1, "normal", false ) + makeString( "NAIPost", NAIPostSEP2, "normal", false ) ; } ; String NAIPre = preClauseSEP1:preClause NAISEP2:NAI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NAI", NAISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NAIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NAINoSAHandling = preClauseSEP1:preClause NAISEP2:NAI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NAI", NAISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // scalar negation String NAhEClause = NAhEPreSEP1:NAhEPre NAhEPostSEP2:NAhEPost { yyValue = makeString( "NAhEPre", NAhEPreSEP1, "normal", false ) + makeString( "NAhEPost", NAhEPostSEP2, "normal", false ) ; } ; String NAhEPre = preClauseSEP1:preClause NAhESEP2:NAhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NAhE", NAhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NAhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NAhENoSAHandling = preClauseSEP1:preClause NAhESEP2:NAhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NAhE", NAhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change a selbri into an operator String NAhUClause = NAhUPreSEP1:NAhUPre NAhUPostSEP2:NAhUPost { yyValue = makeString( "NAhUPre", NAhUPreSEP1, "normal", false ) + makeString( "NAhUPost", NAhUPostSEP2, "normal", false ) ; } ; String NAhUPre = preClauseSEP1:preClause NAhUSEP2:NAhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NAhU", NAhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NAhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NAhUNoSAHandling = preClauseSEP1:preClause NAhUSEP2:NAhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NAhU", NAhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change selbri to operand; inverse of MOI String NIhEClause = NIhEPreSEP1:NIhEPre NIhEPostSEP2:NIhEPost { yyValue = makeString( "NIhEPre", NIhEPreSEP1, "normal", false ) + makeString( "NIhEPost", NIhEPostSEP2, "normal", false ) ; } ; String NIhEPre = preClauseSEP1:preClause NIhESEP2:NIhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NIhE", NIhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NIhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NIhENoSAHandling = preClauseSEP1:preClause NIhESEP2:NIhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NIhE", NIhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // new paragraph; change of subject String NIhOClause = sentenceSaSEP1:sentenceSa* NIhOPreSEP2:NIhOPre NIhOPostSEP3:NIhOPost { yyValue = makeString( "sentenceSa", sentenceSaSEP1, "normal", false ) + makeString( "NIhOPre", NIhOPreSEP2, "normal", false ) + makeString( "NIhOPost", NIhOPostSEP3, "normal", false ) ; } ; String NIhOPre = preClauseSEP1:preClause NIhOSEP2:NIhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NIhO", NIhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NIhOPost = suClauseSEP1:suClause* postClauseSEP2:postClause { yyValue = makeString( "suClause", suClauseSEP1, "normal", false ) + makeString( "postClause", postClauseSEP2, "normal", false ) ; } ; String NIhONoSAHandling = preClauseSEP1:preClause NIhOSEP2:NIhO suClauseSEP3:suClause* postClauseSEP4:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NIhO", NIhOSEP2, "whitespace", false ) + makeString( "suClause", suClauseSEP3, "whitespace", false ) + makeString( "postClause", postClauseSEP4, "whitespace", false ) ; } ; // attaches a subordinate clause to a sumti String NOIClause = NOIPreSEP1:NOIPre NOIPostSEP2:NOIPost { yyValue = makeString( "NOIPre", NOIPreSEP1, "normal", false ) + makeString( "NOIPost", NOIPostSEP2, "normal", false ) ; } ; String NOIPre = preClauseSEP1:preClause NOISEP2:NOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NOI", NOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NOINoSAHandling = preClauseSEP1:preClause NOISEP2:NOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NOI", NOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // abstraction String NUClause = NUPreSEP1:NUPre NUPostSEP2:NUPost { yyValue = makeString( "NUPre", NUPreSEP1, "normal", false ) + makeString( "NUPost", NUPostSEP2, "normal", false ) ; } ; String NUPre = preClauseSEP1:preClause NUSEP2:NU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NU", NUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NUNoSAHandling = preClauseSEP1:preClause NUSEP2:NU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NU", NUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // change operator to selbri; inverse of MOhE String NUhAClause = NUhAPreSEP1:NUhAPre NUhAPostSEP2:NUhAPost { yyValue = makeString( "NUhAPre", NUhAPreSEP1, "normal", false ) + makeString( "NUhAPost", NUhAPostSEP2, "normal", false ) ; } ; String NUhAPre = preClauseSEP1:preClause NUhASEP2:NUhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NUhA", NUhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NUhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NUhANoSAHandling = preClauseSEP1:preClause NUhASEP2:NUhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NUhA", NUhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // marks the start of a termset String NUhIClause = NUhIPreSEP1:NUhIPre NUhIPostSEP2:NUhIPost { yyValue = makeString( "NUhIPre", NUhIPreSEP1, "normal", false ) + makeString( "NUhIPost", NUhIPostSEP2, "normal", false ) ; } ; String NUhIPre = preClauseSEP1:preClause NUhISEP2:NUhI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NUhI", NUhISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NUhIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NUhINoSAHandling = preClauseSEP1:preClause NUhISEP2:NUhI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NUhI", NUhISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // marks the middle and end of a termset String NUhUClause = NUhUPreSEP1:NUhUPre NUhUPostSEP2:NUhUPost { yyValue = makeString( "NUhUPre", NUhUPreSEP1, "normal", false ) + makeString( "NUhUPost", NUhUPostSEP2, "normal", false ) ; } ; String NUhUPre = preClauseSEP1:preClause NUhUSEP2:NUhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "NUhU", NUhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String NUhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String NUhUNoSAHandling = preClauseSEP1:preClause NUhUSEP2:NUhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "NUhU", NUhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // numbers and numeric punctuation String PAClause = PAPreSEP1:PAPre PAPostSEP2:PAPost { yyValue = makeString( "PAPre", PAPreSEP1, "normal", false ) + makeString( "PAPost", PAPostSEP2, "normal", false ) ; } ; String PAPre = preClauseSEP1:preClause PASEP2:PA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "PA", PASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String PAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String PANoSAHandling = preClauseSEP1:preClause PASEP2:PA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "PA", PASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // afterthought termset connective prefix String PEhEClause = PEhEPreSEP1:PEhEPre PEhEPostSEP2:PEhEPost { yyValue = makeString( "PEhEPre", PEhEPreSEP1, "normal", false ) + makeString( "PEhEPost", PEhEPostSEP2, "normal", false ) ; } ; String PEhEPre = preClauseSEP1:preClause PEhESEP2:PEhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "PEhE", PEhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String PEhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String PEhENoSAHandling = preClauseSEP1:preClause PEhESEP2:PEhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "PEhE", PEhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // forethought (Polish) flag String PEhOClause = PEhOPreSEP1:PEhOPre PEhOPostSEP2:PEhOPost { yyValue = makeString( "PEhOPre", PEhOPreSEP1, "normal", false ) + makeString( "PEhOPost", PEhOPostSEP2, "normal", false ) ; } ; String PEhOPre = preClauseSEP1:preClause PEhOSEP2:PEhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "PEhO", PEhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String PEhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String PEhONoSAHandling = preClauseSEP1:preClause PEhOSEP2:PEhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "PEhO", PEhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // directions in time String PUClause = PUPreSEP1:PUPre PUPostSEP2:PUPost { yyValue = makeString( "PUPre", PUPreSEP1, "normal", false ) + makeString( "PUPost", PUPostSEP2, "normal", false ) ; } ; String PUPre = preClauseSEP1:preClause PUSEP2:PU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "PU", PUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String PUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String PUNoSAHandling = preClauseSEP1:preClause PUSEP2:PU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "PU", PUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // flag for modified interpretation of GOhI String RAhOClause = RAhOPreSEP1:RAhOPre RAhOPostSEP2:RAhOPost { yyValue = makeString( "RAhOPre", RAhOPreSEP1, "normal", false ) + makeString( "RAhOPost", RAhOPostSEP2, "normal", false ) ; } ; String RAhOPre = preClauseSEP1:preClause RAhOSEP2:RAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "RAhO", RAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String RAhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String RAhONoSAHandling = preClauseSEP1:preClause RAhOSEP2:RAhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "RAhO", RAhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // converts number to extensional tense String ROIClause = ROIPreSEP1:ROIPre ROIPostSEP2:ROIPost { yyValue = makeString( "ROIPre", ROIPreSEP1, "normal", false ) + makeString( "ROIPost", ROIPostSEP2, "normal", false ) ; } ; String ROIPre = preClauseSEP1:preClause ROISEP2:ROI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ROI", ROISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ROIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ROINoSAHandling = preClauseSEP1:preClause ROISEP2:ROI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ROI", ROISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; String SAClause = SAPreSEP1:SAPre SAPostSEP2:SAPost { yyValue = makeString( "SAPre", SAPreSEP1, "normal", false ) + makeString( "SAPost", SAPostSEP2, "normal", false ) ; } ; String SAPre = preClauseSEP1:preClause SASEP2:SA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SA", SASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SAPost = spacesSEP1:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) ; } ; // metalinguistic eraser to the beginning of // the current utterance // conversions String SEClause = SEPreSEP1:SEPre SEPostSEP2:SEPost { yyValue = makeString( "SEPre", SEPreSEP1, "normal", false ) + makeString( "SEPost", SEPostSEP2, "normal", false ) ; } ; String SEPre = preClauseSEP1:preClause SESEP2:SE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SE", SESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String SENoSAHandling = preClauseSEP1:preClause SESEP2:SE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "SE", SESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // metalinguistic bridi insert marker String SEIClause = SEIPreSEP1:SEIPre SEIPostSEP2:SEIPost { yyValue = makeString( "SEIPre", SEIPreSEP1, "normal", false ) + makeString( "SEIPost", SEIPostSEP2, "normal", false ) ; } ; String SEIPre = preClauseSEP1:preClause SEISEP2:SEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SEI", SEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String SEINoSAHandling = preClauseSEP1:preClause SEISEP2:SEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "SEI", SEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // metalinguistic bridi end marker String SEhUClause = SEhUPreSEP1:SEhUPre SEhUPostSEP2:SEhUPost { yyValue = makeString( "SEhUPre", SEhUPreSEP1, "normal", false ) + makeString( "SEhUPost", SEhUPostSEP2, "normal", false ) ; } ; String SEhUPre = preClauseSEP1:preClause SEhUSEP2:SEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SEhU", SEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SEhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String SEhUNoSAHandling = preClauseSEP1:preClause SEhUSEP2:SEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "SEhU", SEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // metalinguistic single word eraser String SIClause = spacesSEP1:spaces? SISEP2:SI spacesSEP3:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "SI", SISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; // reciprocal sumti marker String SOIClause = SOIPreSEP1:SOIPre SOIPostSEP2:SOIPost { yyValue = makeString( "SOIPre", SOIPreSEP1, "normal", false ) + makeString( "SOIPost", SOIPostSEP2, "normal", false ) ; } ; String SOIPre = preClauseSEP1:preClause SOISEP2:SOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SOI", SOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String SOINoSAHandling = preClauseSEP1:preClause SOISEP2:SOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "SOI", SOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // metalinguistic eraser of the entire text String SUClause = SUPreSEP1:SUPre SUPostSEP2:SUPost { yyValue = makeString( "SUPre", SUPreSEP1, "normal", false ) + makeString( "SUPost", SUPostSEP2, "normal", false ) ; } ; String SUPre = preClauseSEP1:preClause SUSEP2:SU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "SU", SUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String SUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; // tense interval properties String TAhEClause = TAhEPreSEP1:TAhEPre TAhEPostSEP2:TAhEPost { yyValue = makeString( "TAhEPre", TAhEPreSEP1, "normal", false ) + makeString( "TAhEPost", TAhEPostSEP2, "normal", false ) ; } ; String TAhEPre = preClauseSEP1:preClause TAhESEP2:TAhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TAhE", TAhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TAhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TAhENoSAHandling = preClauseSEP1:preClause TAhESEP2:TAhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TAhE", TAhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // closing gap for MEX constructs String TEhUClause = TEhUPreSEP1:TEhUPre TEhUPostSEP2:TEhUPost { yyValue = makeString( "TEhUPre", TEhUPreSEP1, "normal", false ) + makeString( "TEhUPost", TEhUPostSEP2, "normal", false ) ; } ; String TEhUPre = preClauseSEP1:preClause TEhUSEP2:TEhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TEhU", TEhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TEhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TEhUNoSAHandling = preClauseSEP1:preClause TEhUSEP2:TEhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TEhU", TEhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // start compound lerfu String TEIClause = TEIPreSEP1:TEIPre TEIPostSEP2:TEIPost { yyValue = makeString( "TEIPre", TEIPreSEP1, "normal", false ) + makeString( "TEIPost", TEIPostSEP2, "normal", false ) ; } ; String TEIPre = preClauseSEP1:preClause TEISEP2:TEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TEI", TEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TEINoSAHandling = preClauseSEP1:preClause TEISEP2:TEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TEI", TEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // left discursive parenthesis String TOClause = TOPreSEP1:TOPre TOPostSEP2:TOPost { yyValue = makeString( "TOPre", TOPreSEP1, "normal", false ) + makeString( "TOPost", TOPostSEP2, "normal", false ) ; } ; String TOPre = preClauseSEP1:preClause TOSEP2:TO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TO", TOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TONoSAHandling = preClauseSEP1:preClause TOSEP2:TO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TO", TOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // right discursive parenthesis String TOIClause = TOIPreSEP1:TOIPre TOIPostSEP2:TOIPost { yyValue = makeString( "TOIPre", TOIPreSEP1, "normal", false ) + makeString( "TOIPost", TOIPostSEP2, "normal", false ) ; } ; String TOIPre = preClauseSEP1:preClause TOISEP2:TOI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TOI", TOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TOINoSAHandling = preClauseSEP1:preClause TOISEP2:TOI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TOI", TOISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // multiple utterance scope mark String TUhEClause = TUhEPreSEP1:TUhEPre TUhEPostSEP2:TUhEPost { yyValue = makeString( "TUhEPre", TUhEPreSEP1, "normal", false ) + makeString( "TUhEPost", TUhEPostSEP2, "normal", false ) ; } ; String TUhEPre = preClauseSEP1:preClause TUhESEP2:TUhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TUhE", TUhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TUhEPost = suClauseSEP1:suClause* postClauseSEP2:postClause { yyValue = makeString( "suClause", suClauseSEP1, "normal", false ) + makeString( "postClause", postClauseSEP2, "normal", false ) ; } ; String TUhENoSAHandling = preClauseSEP1:preClause TUhESEP2:TUhE suClauseSEP3:suClause* postClauseSEP4:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TUhE", TUhESEP2, "whitespace", false ) + makeString( "suClause", suClauseSEP3, "whitespace", false ) + makeString( "postClause", postClauseSEP4, "whitespace", false ) ; } ; // multiple utterance end scope mark String TUhUClause = TUhUPreSEP1:TUhUPre TUhUPostSEP2:TUhUPost { yyValue = makeString( "TUhUPre", TUhUPreSEP1, "normal", false ) + makeString( "TUhUPost", TUhUPostSEP2, "normal", false ) ; } ; String TUhUPre = preClauseSEP1:preClause TUhUSEP2:TUhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "TUhU", TUhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String TUhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String TUhUNoSAHandling = preClauseSEP1:preClause TUhUSEP2:TUhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "TUhU", TUhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // attitudinals, observationals, discursives String UIClause = UIPreSEP1:UIPre UIPostSEP2:UIPost { yyValue = makeString( "UIPre", UIPreSEP1, "normal", false ) + makeString( "UIPost", UIPostSEP2, "normal", false ) ; } ; String UIPre = preClauseSEP1:preClause UISEP2:UI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "UI", UISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String UIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String UINoSAHandling = preClauseSEP1:preClause UISEP2:UI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "UI", UISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // distance in space-time String VAClause = VAPreSEP1:VAPre VAPostSEP2:VAPost { yyValue = makeString( "VAPre", VAPreSEP1, "normal", false ) + makeString( "VAPost", VAPostSEP2, "normal", false ) ; } ; String VAPre = preClauseSEP1:preClause VASEP2:VA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VA", VASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VANoSAHandling = preClauseSEP1:preClause VASEP2:VA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VA", VASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // end simple bridi or bridi-tail String VAUClause = VAUPreSEP1:VAUPre VAUPostSEP2:VAUPost { yyValue = makeString( "VAUPre", VAUPreSEP1, "normal", false ) + makeString( "VAUPost", VAUPostSEP2, "normal", false ) ; } ; String VAUPre = preClauseSEP1:preClause VAUSEP2:VAU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VAU", VAUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VAUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VAUNoSAHandling = preClauseSEP1:preClause VAUSEP2:VAU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VAU", VAUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // left MEX bracket String VEIClause = VEIPreSEP1:VEIPre VEIPostSEP2:VEIPost { yyValue = makeString( "VEIPre", VEIPreSEP1, "normal", false ) + makeString( "VEIPost", VEIPostSEP2, "normal", false ) ; } ; String VEIPre = preClauseSEP1:preClause VEISEP2:VEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VEI", VEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VEIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VEINoSAHandling = preClauseSEP1:preClause VEISEP2:VEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VEI", VEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // right MEX bracket String VEhOClause = VEhOPreSEP1:VEhOPre VEhOPostSEP2:VEhOPost { yyValue = makeString( "VEhOPre", VEhOPreSEP1, "normal", false ) + makeString( "VEhOPost", VEhOPostSEP2, "normal", false ) ; } ; String VEhOPre = preClauseSEP1:preClause VEhOSEP2:VEhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VEhO", VEhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VEhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VEhONoSAHandling = preClauseSEP1:preClause VEhOSEP2:VEhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VEhO", VEhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // MEX operator String VUhUClause = VUhUPreSEP1:VUhUPre VUhUPostSEP2:VUhUPost { yyValue = makeString( "VUhUPre", VUhUPreSEP1, "normal", false ) + makeString( "VUhUPost", VUhUPostSEP2, "normal", false ) ; } ; String VUhUPre = preClauseSEP1:preClause VUhUSEP2:VUhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VUhU", VUhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VUhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VUhUNoSAHandling = preClauseSEP1:preClause VUhUSEP2:VUhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VUhU", VUhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // space-time interval size String VEhAClause = VEhAPreSEP1:VEhAPre VEhAPostSEP2:VEhAPost { yyValue = makeString( "VEhAPre", VEhAPreSEP1, "normal", false ) + makeString( "VEhAPost", VEhAPostSEP2, "normal", false ) ; } ; String VEhAPre = preClauseSEP1:preClause VEhASEP2:VEhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VEhA", VEhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VEhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VEhANoSAHandling = preClauseSEP1:preClause VEhASEP2:VEhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VEhA", VEhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // space-time dimensionality marker String VIhAClause = VIhAPreSEP1:VIhAPre VIhAPostSEP2:VIhAPost { yyValue = makeString( "VIhAPre", VIhAPreSEP1, "normal", false ) + makeString( "VIhAPost", VIhAPostSEP2, "normal", false ) ; } ; String VIhAPre = preClauseSEP1:preClause VIhASEP2:VIhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VIhA", VIhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VIhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VIhANoSAHandling = preClauseSEP1:preClause VIhASEP2:VIhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VIhA", VIhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; String VUhOClause = VUhOPreSEP1:VUhOPre VUhOPostSEP2:VUhOPost { yyValue = makeString( "VUhOPre", VUhOPreSEP1, "normal", false ) + makeString( "VUhOPost", VUhOPostSEP2, "normal", false ) ; } ; String VUhOPre = preClauseSEP1:preClause VUhOSEP2:VUhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "VUhO", VUhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String VUhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String VUhONoSAHandling = preClauseSEP1:preClause VUhOSEP2:VUhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "VUhO", VUhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // glue between logically connected sumti and relative clauses // subscripting operator String XIClause = XIPreSEP1:XIPre XIPostSEP2:XIPost { yyValue = makeString( "XIPre", XIPreSEP1, "normal", false ) + makeString( "XIPost", XIPostSEP2, "normal", false ) ; } ; String XIPre = preClauseSEP1:preClause XISEP2:XI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "XI", XISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String XIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String XINoSAHandling = preClauseSEP1:preClause XISEP2:XI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "XI", XISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // hesitation // Very very special case. Handled in the morphology section. // SPACE Y-clause <- spaces? Y spaces? // event properties - inchoative, etc. String ZAhOClause = ZAhOPreSEP1:ZAhOPre ZAhOPostSEP2:ZAhOPost { yyValue = makeString( "ZAhOPre", ZAhOPreSEP1, "normal", false ) + makeString( "ZAhOPost", ZAhOPostSEP2, "normal", false ) ; } ; String ZAhOPre = preClauseSEP1:preClause ZAhOSEP2:ZAhO spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZAhO", ZAhOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZAhOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZAhONoSAHandling = preClauseSEP1:preClause ZAhOSEP2:ZAhO postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZAhO", ZAhOSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // time interval size tense String ZEhAClause = ZEhAPreSEP1:ZEhAPre ZEhAPostSEP2:ZEhAPost { yyValue = makeString( "ZEhAPre", ZEhAPreSEP1, "normal", false ) + makeString( "ZEhAPost", ZEhAPostSEP2, "normal", false ) ; } ; String ZEhAPre = preClauseSEP1:preClause ZEhASEP2:ZEhA spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZEhA", ZEhASEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZEhAPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZEhANoSAHandling = preClauseSEP1:preClause ZEhASEP2:ZEhA postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZEhA", ZEhASEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // lujvo glue String ZEIClause = ZEIPreSEP1:ZEIPre ZEIPostSEP2:ZEIPost { yyValue = makeString( "ZEIPre", ZEIPreSEP1, "normal", false ) + makeString( "ZEIPost", ZEIPostSEP2, "normal", false ) ; } ; String ZEIClauseNoSA = ZEIPreNoSASEP1:ZEIPreNoSA ZEISEP2:ZEI ZEIPostSEP3:ZEIPost { yyValue = makeString( "ZEIPreNoSA", ZEIPreNoSASEP1, "normal", false ) + makeString( "ZEI", ZEISEP2, "normal", false ) + makeString( "ZEIPost", ZEIPostSEP3, "normal", false ) ; } ; String ZEIPre = preClauseSEP1:preClause ZEISEP2:ZEI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZEI", ZEISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZEIPreNoSA = preClauseSEP1:preClause { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) ; } ; String ZEIPost = spacesSEP1:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) ; } ; String ZEINoSAHandling = preClauseSEP1:preClause ZEISEP2:ZEI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZEI", ZEISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // time distance tense String ZIClause = ZIPreSEP1:ZIPre ZIPostSEP2:ZIPost { yyValue = makeString( "ZIPre", ZIPreSEP1, "normal", false ) + makeString( "ZIPost", ZIPostSEP2, "normal", false ) ; } ; String ZIPre = preClauseSEP1:preClause ZISEP2:ZI spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZI", ZISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZINoSAHandling = preClauseSEP1:preClause ZISEP2:ZI postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZI", ZISEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // conjoins relative clauses String ZIhEClause = ZIhEPreSEP1:ZIhEPre ZIhEPostSEP2:ZIhEPost { yyValue = makeString( "ZIhEPre", ZIhEPreSEP1, "normal", false ) + makeString( "ZIhEPost", ZIhEPostSEP2, "normal", false ) ; } ; String ZIhEPre = preClauseSEP1:preClause ZIhESEP2:ZIhE spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZIhE", ZIhESEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZIhEPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZIhENoSAHandling = preClauseSEP1:preClause ZIhESEP2:ZIhE postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZIhE", ZIhESEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; // single word metalinguistic quote marker String ZOClause = ZOPreSEP1:ZOPre ZOPostSEP2:ZOPost { yyValue = makeString( "ZOPre", ZOPreSEP1, "normal", false ) + makeString( "ZOPost", ZOPostSEP2, "normal", false ) ; } ; String ZOPre = preClauseSEP1:preClause ZOSEP2:ZO spacesSEP3:spaces? anyWordSEP4:anyWord spacesSEP5:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZO", ZOSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) + makeString( "anyWord", anyWordSEP4, "normal", false ) + makeString( "spaces", spacesSEP5, "normal", false ) ; } ; String ZOPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZONoSAHandling = preClauseSEP1:preClause ZOSEP2:ZO spacesSEP3:spaces? anyWordSEP4:anyWord spacesSEP5:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZO", ZOSEP2, "whitespace", false ) + makeString( "spaces", spacesSEP3, "whitespace", false ) + makeString( "anyWord", anyWordSEP4, "whitespace", false ) + makeString( "spaces", spacesSEP5, "whitespace", false ) ; } ; // delimited quote marker String ZOIClause = ZOIPreSEP1:ZOIPre ZOIPostSEP2:ZOIPost { yyValue = makeString( "ZOIPre", ZOIPreSEP1, "normal", false ) + makeString( "ZOIPost", ZOIPostSEP2, "normal", false ) ; } ; String ZOIPre = preClauseSEP1:preClause ZOISEP2:ZOI spacesSEP3:spaces? zoiOpenSEP4:zoiOpen zoiWordSEP5:zoiWord* zoiCloseSEP6:zoiClose spacesSEP7:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZOI", ZOISEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) + makeString( "zoiOpen", zoiOpenSEP4, "normal", false ) + makeString( "zoiWord", zoiWordSEP5, "normal", false ) + makeString( "zoiClose", zoiCloseSEP6, "normal", false ) + makeString( "spaces", spacesSEP7, "normal", false ) ; } ; String ZOIPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZOINoSAHandling = preClauseSEP1:preClause ZOISEP2:ZOI spacesSEP3:spaces? zoiOpenSEP4:zoiOpen zoiWordSEP5:zoiWord* zoiCloseSEP6:zoiClose spacesSEP7:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZOI", ZOISEP2, "whitespace", false ) + makeString( "spaces", spacesSEP3, "whitespace", false ) + makeString( "zoiOpen", zoiOpenSEP4, "whitespace", false ) + makeString( "zoiWord", zoiWordSEP5, "whitespace", false ) + makeString( "zoiClose", zoiCloseSEP6, "whitespace", false ) + makeString( "spaces", spacesSEP7, "whitespace", false ) ; } ; // prenex terminator (not elidable) String ZOhUClause = ZOhUPreSEP1:ZOhUPre ZOhUPostSEP2:ZOhUPost { yyValue = makeString( "ZOhUPre", ZOhUPreSEP1, "normal", false ) + makeString( "ZOhUPost", ZOhUPostSEP2, "normal", false ) ; } ; String ZOhUPre = preClauseSEP1:preClause ZOhUSEP2:ZOhU spacesSEP3:spaces? { yyValue = makeString( "preClause", preClauseSEP1, "normal", false ) + makeString( "ZOhU", ZOhUSEP2, "normal", false ) + makeString( "spaces", spacesSEP3, "normal", false ) ; } ; String ZOhUPost = postClauseSEP1:postClause { yyValue = makeString( "postClause", postClauseSEP1, "normal", false ) ; } ; String ZOhUNoSAHandling = preClauseSEP1:preClause ZOhUSEP2:ZOhU postClauseSEP3:postClause { yyValue = makeString( "preClause", preClauseSEP1, "whitespace", false ) + makeString( "ZOhU", ZOhUSEP2, "whitespace", false ) + makeString( "postClause", postClauseSEP3, "whitespace", false ) ; } ; //************************ // MORPHOLOGY INTERFACE // This section handles the interface with the morphology. If you are not // interested in this particular implementation of the morphology, you can // ignore everything below this point and consider the above as the full // formal grammar with terminals BRIVLA, CMENE, CMAVO, any-word, // A, BAI, ..., ZOhU, zoi-open, zoi-word, zoi-close, spaces, dot-star and EOF. //************************ // inner-word (the stuff inside BRIVLA=( ... ), for example) is an // evenly nested, arbitrary length sequence of foo=( ... ) tags with // stuff inside them. Gotta snarf it all. transient String innerWord = spaceChar (!equalsChar !spaceChar _)+ equalsChar openParen innerWord closeParen innerWord? / innerWord2; transient String innerWord2 = !closeParenChar _ innerWord2 / !closeParenChar _ &spaceChar; transient String spaceChar = ' '; transient String equalsChar = '='; transient String closeParenChar = ')'; transient String openParen = "( "; transient String closeParen = " ) "; // any single lexable Lojban words String anyWord = anyWordPreSEP1:anyWordPre innerWordSEP2:innerWord closeParenSEP3:closeParen spacesSEP4:spaces? { yyValue = makeString( "anyWordPre", anyWordPreSEP1, "normal", false ) + makeString( "innerWord", innerWordSEP2, "normal", false ) + makeString( "closeParen", closeParenSEP3, "normal", false ) + makeString( "spaces", spacesSEP4, "normal", false ) ; } ; String spaces = PARSERparen1:(spacesPreSEP1:spacesPre innerWordSEP2:innerWord closeParenSEP3:closeParen { yyValue = makeString( "spacesPre", spacesPreSEP1, "whitespace", false ) + makeString( "innerWord", innerWordSEP2, "whitespace", false ) + makeString( "closeParen", closeParenSEP3, "whitespace", false ) ; } )* { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; transient String spacesPre = " spaces=( " / " initialSpaces=( "; transient String dotStar = _*; transient String EOF = !_; String zoiOpen = anyWordPreSEP1:anyWordPre innerWordSEP2:innerWord &{ myAssign( new String(innerWordSEP2.toString()) ) } closeParenSEP3:closeParen { yyValue = makeString( "anyWordPre", anyWordPreSEP1, "normal", false ) + makeString( "innerWord", innerWordSEP2, "normal", false ) + makeString( "closeParen", closeParenSEP3, "normal", false ) ; } ; String zoiWord = spacesSEP1:spaces? zoiPrintablePreSEP2:zoiPrintablePre innerWordSEP3:innerWord &{ ! myCompare( startString, innerWordSEP3 ) } closeParenSEP4:closeParen { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "zoiPrintablePre", zoiPrintablePreSEP2, "normal", false ) + makeString( "innerWord", innerWordSEP3, "normal", false ) + makeString( "closeParen", closeParenSEP4, "normal", false ) ; } ; String zoiClose = spacesSEP1:spaces? anyWordPreSEP2:anyWordPre innerWordSEP3:innerWord &{ myCompare( startString, innerWordSEP3 ) } closeParenSEP4:closeParen spacesSEP5:spaces? { yyValue = makeString( "spaces", spacesSEP1, "normal", false ) + makeString( "anyWordPre", anyWordPreSEP2, "normal", false ) + makeString( "innerWord", innerWordSEP3, "normal", false ) + makeString( "closeParen", closeParenSEP4, "normal", false ) + makeString( "spaces", spacesSEP5, "normal", false ) ; } ; String zoiPrintablePre = anyWordPreSEP1:anyWordPre { yyValue = makeString( "anyWordPre", anyWordPreSEP1, "normal", false ) ; } / nonLojbanWordPreSEP2:nonLojbanWordPre { yyValue = makeString( "nonLojbanWordPre", nonLojbanWordPreSEP2, "normal", false ) ; } ; String anyWordPre = CMAVOWordPreSEP1:CMAVOWordPre { yyValue = makeString( "CMAVOWordPre", CMAVOWordPreSEP1, "normal", false ) ; } / CMENEWordPreSEP2:CMENEWordPre { yyValue = makeString( "CMENEWordPre", CMENEWordPreSEP2, "normal", false ) ; } / BRIVLAWordPreSEP3:BRIVLAWordPre { yyValue = makeString( "BRIVLAWordPre", BRIVLAWordPreSEP3, "normal", false ) ; } ; String knownCmavoPre = AWordPreSEP1:AWordPre { yyValue = makeString( "AWordPre", AWordPreSEP1, "normal", false ) ; } / BAIWordPreSEP2:BAIWordPre { yyValue = makeString( "BAIWordPre", BAIWordPreSEP2, "normal", false ) ; } / BAhEWordPreSEP3:BAhEWordPre { yyValue = makeString( "BAhEWordPre", BAhEWordPreSEP3, "normal", false ) ; } / BEWordPreSEP4:BEWordPre { yyValue = makeString( "BEWordPre", BEWordPreSEP4, "normal", false ) ; } / BEIWordPreSEP5:BEIWordPre { yyValue = makeString( "BEIWordPre", BEIWordPreSEP5, "normal", false ) ; } / BEhOWordPreSEP6:BEhOWordPre { yyValue = makeString( "BEhOWordPre", BEhOWordPreSEP6, "normal", false ) ; } / BIhEWordPreSEP7:BIhEWordPre { yyValue = makeString( "BIhEWordPre", BIhEWordPreSEP7, "normal", false ) ; } / BIhIWordPreSEP8:BIhIWordPre { yyValue = makeString( "BIhIWordPre", BIhIWordPreSEP8, "normal", false ) ; } / BOWordPreSEP9:BOWordPre { yyValue = makeString( "BOWordPre", BOWordPreSEP9, "normal", false ) ; } / BOIWordPreSEP10:BOIWordPre { yyValue = makeString( "BOIWordPre", BOIWordPreSEP10, "normal", false ) ; } / BUWordPreSEP11:BUWordPre { yyValue = makeString( "BUWordPre", BUWordPreSEP11, "normal", false ) ; } / BYWordPreSEP12:BYWordPre { yyValue = makeString( "BYWordPre", BYWordPreSEP12, "normal", false ) ; } / CAIWordPreSEP13:CAIWordPre { yyValue = makeString( "CAIWordPre", CAIWordPreSEP13, "normal", false ) ; } / CAhAWordPreSEP14:CAhAWordPre { yyValue = makeString( "CAhAWordPre", CAhAWordPreSEP14, "normal", false ) ; } / CEIWordPreSEP15:CEIWordPre { yyValue = makeString( "CEIWordPre", CEIWordPreSEP15, "normal", false ) ; } / CEhEWordPreSEP16:CEhEWordPre { yyValue = makeString( "CEhEWordPre", CEhEWordPreSEP16, "normal", false ) ; } / COWordPreSEP17:COWordPre { yyValue = makeString( "COWordPre", COWordPreSEP17, "normal", false ) ; } / COIWordPreSEP18:COIWordPre { yyValue = makeString( "COIWordPre", COIWordPreSEP18, "normal", false ) ; } / CUWordPreSEP19:CUWordPre { yyValue = makeString( "CUWordPre", CUWordPreSEP19, "normal", false ) ; } / CUhEWordPreSEP20:CUhEWordPre { yyValue = makeString( "CUhEWordPre", CUhEWordPreSEP20, "normal", false ) ; } / DAhOWordPreSEP21:DAhOWordPre { yyValue = makeString( "DAhOWordPre", DAhOWordPreSEP21, "normal", false ) ; } / DOIWordPreSEP22:DOIWordPre { yyValue = makeString( "DOIWordPre", DOIWordPreSEP22, "normal", false ) ; } / DOhUWordPreSEP23:DOhUWordPre { yyValue = makeString( "DOhUWordPre", DOhUWordPreSEP23, "normal", false ) ; } / FAWordPreSEP24:FAWordPre { yyValue = makeString( "FAWordPre", FAWordPreSEP24, "normal", false ) ; } / FAhAWordPreSEP25:FAhAWordPre { yyValue = makeString( "FAhAWordPre", FAhAWordPreSEP25, "normal", false ) ; } / FAhOWordPreSEP26:FAhOWordPre { yyValue = makeString( "FAhOWordPre", FAhOWordPreSEP26, "normal", false ) ; } / FEhEWordPreSEP27:FEhEWordPre { yyValue = makeString( "FEhEWordPre", FEhEWordPreSEP27, "normal", false ) ; } / FEhUWordPreSEP28:FEhUWordPre { yyValue = makeString( "FEhUWordPre", FEhUWordPreSEP28, "normal", false ) ; } / FIhOWordPreSEP29:FIhOWordPre { yyValue = makeString( "FIhOWordPre", FIhOWordPreSEP29, "normal", false ) ; } / FOIWordPreSEP30:FOIWordPre { yyValue = makeString( "FOIWordPre", FOIWordPreSEP30, "normal", false ) ; } / FUhAWordPreSEP31:FUhAWordPre { yyValue = makeString( "FUhAWordPre", FUhAWordPreSEP31, "normal", false ) ; } / FUhEWordPreSEP32:FUhEWordPre { yyValue = makeString( "FUhEWordPre", FUhEWordPreSEP32, "normal", false ) ; } / FUhOWordPreSEP33:FUhOWordPre { yyValue = makeString( "FUhOWordPre", FUhOWordPreSEP33, "normal", false ) ; } / GAWordPreSEP34:GAWordPre { yyValue = makeString( "GAWordPre", GAWordPreSEP34, "normal", false ) ; } / GAhOWordPreSEP35:GAhOWordPre { yyValue = makeString( "GAhOWordPre", GAhOWordPreSEP35, "normal", false ) ; } / GEhUWordPreSEP36:GEhUWordPre { yyValue = makeString( "GEhUWordPre", GEhUWordPreSEP36, "normal", false ) ; } / GIWordPreSEP37:GIWordPre { yyValue = makeString( "GIWordPre", GIWordPreSEP37, "normal", false ) ; } / GIhAWordPreSEP38:GIhAWordPre { yyValue = makeString( "GIhAWordPre", GIhAWordPreSEP38, "normal", false ) ; } / GOIWordPreSEP39:GOIWordPre { yyValue = makeString( "GOIWordPre", GOIWordPreSEP39, "normal", false ) ; } / GOhAWordPreSEP40:GOhAWordPre { yyValue = makeString( "GOhAWordPre", GOhAWordPreSEP40, "normal", false ) ; } / GUhAWordPreSEP41:GUhAWordPre { yyValue = makeString( "GUhAWordPre", GUhAWordPreSEP41, "normal", false ) ; } / IWordPreSEP42:IWordPre { yyValue = makeString( "IWordPre", IWordPreSEP42, "normal", false ) ; } / JAWordPreSEP43:JAWordPre { yyValue = makeString( "JAWordPre", JAWordPreSEP43, "normal", false ) ; } / JAIWordPreSEP44:JAIWordPre { yyValue = makeString( "JAIWordPre", JAIWordPreSEP44, "normal", false ) ; } / JOIWordPreSEP45:JOIWordPre { yyValue = makeString( "JOIWordPre", JOIWordPreSEP45, "normal", false ) ; } / JOhIWordPreSEP46:JOhIWordPre { yyValue = makeString( "JOhIWordPre", JOhIWordPreSEP46, "normal", false ) ; } / KEWordPreSEP47:KEWordPre { yyValue = makeString( "KEWordPre", KEWordPreSEP47, "normal", false ) ; } / KEIWordPreSEP48:KEIWordPre { yyValue = makeString( "KEIWordPre", KEIWordPreSEP48, "normal", false ) ; } / KEhEWordPreSEP49:KEhEWordPre { yyValue = makeString( "KEhEWordPre", KEhEWordPreSEP49, "normal", false ) ; } / KIWordPreSEP50:KIWordPre { yyValue = makeString( "KIWordPre", KIWordPreSEP50, "normal", false ) ; } / KOhAWordPreSEP51:KOhAWordPre { yyValue = makeString( "KOhAWordPre", KOhAWordPreSEP51, "normal", false ) ; } / KUWordPreSEP52:KUWordPre { yyValue = makeString( "KUWordPre", KUWordPreSEP52, "normal", false ) ; } / KUhEWordPreSEP53:KUhEWordPre { yyValue = makeString( "KUhEWordPre", KUhEWordPreSEP53, "normal", false ) ; } / KUhOWordPreSEP54:KUhOWordPre { yyValue = makeString( "KUhOWordPre", KUhOWordPreSEP54, "normal", false ) ; } / LAWordPreSEP55:LAWordPre { yyValue = makeString( "LAWordPre", LAWordPreSEP55, "normal", false ) ; } / LAUWordPreSEP56:LAUWordPre { yyValue = makeString( "LAUWordPre", LAUWordPreSEP56, "normal", false ) ; } / LAhEWordPreSEP57:LAhEWordPre { yyValue = makeString( "LAhEWordPre", LAhEWordPreSEP57, "normal", false ) ; } / LEWordPreSEP58:LEWordPre { yyValue = makeString( "LEWordPre", LEWordPreSEP58, "normal", false ) ; } / LEhUWordPreSEP59:LEhUWordPre { yyValue = makeString( "LEhUWordPre", LEhUWordPreSEP59, "normal", false ) ; } / LIWordPreSEP60:LIWordPre { yyValue = makeString( "LIWordPre", LIWordPreSEP60, "normal", false ) ; } / LIhUWordPreSEP61:LIhUWordPre { yyValue = makeString( "LIhUWordPre", LIhUWordPreSEP61, "normal", false ) ; } / LOhOWordPreSEP62:LOhOWordPre { yyValue = makeString( "LOhOWordPre", LOhOWordPreSEP62, "normal", false ) ; } / LOhUWordPreSEP63:LOhUWordPre { yyValue = makeString( "LOhUWordPre", LOhUWordPreSEP63, "normal", false ) ; } / LUWordPreSEP64:LUWordPre { yyValue = makeString( "LUWordPre", LUWordPreSEP64, "normal", false ) ; } / LUhUWordPreSEP65:LUhUWordPre { yyValue = makeString( "LUhUWordPre", LUhUWordPreSEP65, "normal", false ) ; } / MAIWordPreSEP66:MAIWordPre { yyValue = makeString( "MAIWordPre", MAIWordPreSEP66, "normal", false ) ; } / MAhOWordPreSEP67:MAhOWordPre { yyValue = makeString( "MAhOWordPre", MAhOWordPreSEP67, "normal", false ) ; } / MEWordPreSEP68:MEWordPre { yyValue = makeString( "MEWordPre", MEWordPreSEP68, "normal", false ) ; } / MEhUWordPreSEP69:MEhUWordPre { yyValue = makeString( "MEhUWordPre", MEhUWordPreSEP69, "normal", false ) ; } / MOIWordPreSEP70:MOIWordPre { yyValue = makeString( "MOIWordPre", MOIWordPreSEP70, "normal", false ) ; } / MOhEWordPreSEP71:MOhEWordPre { yyValue = makeString( "MOhEWordPre", MOhEWordPreSEP71, "normal", false ) ; } / MOhIWordPreSEP72:MOhIWordPre { yyValue = makeString( "MOhIWordPre", MOhIWordPreSEP72, "normal", false ) ; } / NAWordPreSEP73:NAWordPre { yyValue = makeString( "NAWordPre", NAWordPreSEP73, "normal", false ) ; } / NAIWordPreSEP74:NAIWordPre { yyValue = makeString( "NAIWordPre", NAIWordPreSEP74, "normal", false ) ; } / NAhEWordPreSEP75:NAhEWordPre { yyValue = makeString( "NAhEWordPre", NAhEWordPreSEP75, "normal", false ) ; } / NAhUWordPreSEP76:NAhUWordPre { yyValue = makeString( "NAhUWordPre", NAhUWordPreSEP76, "normal", false ) ; } / NIhEWordPreSEP77:NIhEWordPre { yyValue = makeString( "NIhEWordPre", NIhEWordPreSEP77, "normal", false ) ; } / NIhOWordPreSEP78:NIhOWordPre { yyValue = makeString( "NIhOWordPre", NIhOWordPreSEP78, "normal", false ) ; } / NOIWordPreSEP79:NOIWordPre { yyValue = makeString( "NOIWordPre", NOIWordPreSEP79, "normal", false ) ; } / NUWordPreSEP80:NUWordPre { yyValue = makeString( "NUWordPre", NUWordPreSEP80, "normal", false ) ; } / NUhAWordPreSEP81:NUhAWordPre { yyValue = makeString( "NUhAWordPre", NUhAWordPreSEP81, "normal", false ) ; } / NUhIWordPreSEP82:NUhIWordPre { yyValue = makeString( "NUhIWordPre", NUhIWordPreSEP82, "normal", false ) ; } / NUhUWordPreSEP83:NUhUWordPre { yyValue = makeString( "NUhUWordPre", NUhUWordPreSEP83, "normal", false ) ; } / PAWordPreSEP84:PAWordPre { yyValue = makeString( "PAWordPre", PAWordPreSEP84, "normal", false ) ; } / PEhEWordPreSEP85:PEhEWordPre { yyValue = makeString( "PEhEWordPre", PEhEWordPreSEP85, "normal", false ) ; } / PEhOWordPreSEP86:PEhOWordPre { yyValue = makeString( "PEhOWordPre", PEhOWordPreSEP86, "normal", false ) ; } / PUWordPreSEP87:PUWordPre { yyValue = makeString( "PUWordPre", PUWordPreSEP87, "normal", false ) ; } / RAhOWordPreSEP88:RAhOWordPre { yyValue = makeString( "RAhOWordPre", RAhOWordPreSEP88, "normal", false ) ; } / ROIWordPreSEP89:ROIWordPre { yyValue = makeString( "ROIWordPre", ROIWordPreSEP89, "normal", false ) ; } / SAWordPreSEP90:SAWordPre { yyValue = makeString( "SAWordPre", SAWordPreSEP90, "normal", false ) ; } / SEWordPreSEP91:SEWordPre { yyValue = makeString( "SEWordPre", SEWordPreSEP91, "normal", false ) ; } / SEIWordPreSEP92:SEIWordPre { yyValue = makeString( "SEIWordPre", SEIWordPreSEP92, "normal", false ) ; } / SEhUWordPreSEP93:SEhUWordPre { yyValue = makeString( "SEhUWordPre", SEhUWordPreSEP93, "normal", false ) ; } / SIWordPreSEP94:SIWordPre { yyValue = makeString( "SIWordPre", SIWordPreSEP94, "normal", false ) ; } / SOIWordPreSEP95:SOIWordPre { yyValue = makeString( "SOIWordPre", SOIWordPreSEP95, "normal", false ) ; } / SUWordPreSEP96:SUWordPre { yyValue = makeString( "SUWordPre", SUWordPreSEP96, "normal", false ) ; } / TAhEWordPreSEP97:TAhEWordPre { yyValue = makeString( "TAhEWordPre", TAhEWordPreSEP97, "normal", false ) ; } / TEIWordPreSEP98:TEIWordPre { yyValue = makeString( "TEIWordPre", TEIWordPreSEP98, "normal", false ) ; } / TEhUWordPreSEP99:TEhUWordPre { yyValue = makeString( "TEhUWordPre", TEhUWordPreSEP99, "normal", false ) ; } / TOWordPreSEP100:TOWordPre { yyValue = makeString( "TOWordPre", TOWordPreSEP100, "normal", false ) ; } / TOIWordPreSEP101:TOIWordPre { yyValue = makeString( "TOIWordPre", TOIWordPreSEP101, "normal", false ) ; } / TUhEWordPreSEP102:TUhEWordPre { yyValue = makeString( "TUhEWordPre", TUhEWordPreSEP102, "normal", false ) ; } / TUhUWordPreSEP103:TUhUWordPre { yyValue = makeString( "TUhUWordPre", TUhUWordPreSEP103, "normal", false ) ; } / UIWordPreSEP104:UIWordPre { yyValue = makeString( "UIWordPre", UIWordPreSEP104, "normal", false ) ; } / VAWordPreSEP105:VAWordPre { yyValue = makeString( "VAWordPre", VAWordPreSEP105, "normal", false ) ; } / VAUWordPreSEP106:VAUWordPre { yyValue = makeString( "VAUWordPre", VAUWordPreSEP106, "normal", false ) ; } / VEIWordPreSEP107:VEIWordPre { yyValue = makeString( "VEIWordPre", VEIWordPreSEP107, "normal", false ) ; } / VEhAWordPreSEP108:VEhAWordPre { yyValue = makeString( "VEhAWordPre", VEhAWordPreSEP108, "normal", false ) ; } / VEhOWordPreSEP109:VEhOWordPre { yyValue = makeString( "VEhOWordPre", VEhOWordPreSEP109, "normal", false ) ; } / VIhAWordPreSEP110:VIhAWordPre { yyValue = makeString( "VIhAWordPre", VIhAWordPreSEP110, "normal", false ) ; } / VUhOWordPreSEP111:VUhOWordPre { yyValue = makeString( "VUhOWordPre", VUhOWordPreSEP111, "normal", false ) ; } / VUhUWordPreSEP112:VUhUWordPre { yyValue = makeString( "VUhUWordPre", VUhUWordPreSEP112, "normal", false ) ; } / XIWordPreSEP113:XIWordPre { yyValue = makeString( "XIWordPre", XIWordPreSEP113, "normal", false ) ; } / ZAhOWordPreSEP114:ZAhOWordPre { yyValue = makeString( "ZAhOWordPre", ZAhOWordPreSEP114, "normal", false ) ; } / ZEIWordPreSEP115:ZEIWordPre { yyValue = makeString( "ZEIWordPre", ZEIWordPreSEP115, "normal", false ) ; } / ZEhAWordPreSEP116:ZEhAWordPre { yyValue = makeString( "ZEhAWordPre", ZEhAWordPreSEP116, "normal", false ) ; } / ZIWordPreSEP117:ZIWordPre { yyValue = makeString( "ZIWordPre", ZIWordPreSEP117, "normal", false ) ; } / ZIhEWordPreSEP118:ZIhEWordPre { yyValue = makeString( "ZIhEWordPre", ZIhEWordPreSEP118, "normal", false ) ; } / ZOWordPreSEP119:ZOWordPre { yyValue = makeString( "ZOWordPre", ZOWordPreSEP119, "normal", false ) ; } / ZOIWordPreSEP120:ZOIWordPre { yyValue = makeString( "ZOIWordPre", ZOIWordPreSEP120, "normal", false ) ; } / ZOhUWordPreSEP121:ZOhUWordPre { yyValue = makeString( "ZOhUWordPre", ZOhUWordPreSEP121, "normal", false ) ; } ; transient String nonLojbanWordPre = " nonLojbanWord=( "; transient String CMAVOWordPre = " CMAVO=( " ; transient String CMAVO = CMAVOWordPre innerWord closeParen; transient String BRIVLAWordPre = " BRIVLA=( " ; transient String BRIVLA = BRIVLAWordPre innerWord closeParen; transient String CMENEWordPre = " CMENE=( " ; transient String CMENE = CMENEWordPre innerWord closeParen; transient String A = AWordPre innerWord closeParen closeParen; transient String AWordPre = " CMAVO=( A=( "; transient String BAI = BAIWordPre innerWord closeParen closeParen; transient String BAIWordPre = " CMAVO=( BAI=( "; transient String BAhE = BAhEWordPre innerWord closeParen closeParen; transient String BAhEWordPre = " CMAVO=( BAhE=( "; transient String BE = BEWordPre innerWord closeParen closeParen; transient String BEWordPre = " CMAVO=( BE=( "; transient String BEI = BEIWordPre innerWord closeParen closeParen; transient String BEIWordPre = " CMAVO=( BEI=( "; transient String BEhO = BEhOWordPre innerWord closeParen closeParen; transient String BEhOWordPre = " CMAVO=( BEhO=( "; transient String BIhE = BIhEWordPre innerWord closeParen closeParen; transient String BIhEWordPre = " CMAVO=( BIhE=( "; transient String BIhI = BIhIWordPre innerWord closeParen closeParen; transient String BIhIWordPre = " CMAVO=( BIhI=( "; transient String BO = BOWordPre innerWord closeParen closeParen; transient String BOWordPre = " CMAVO=( BO=( "; transient String BOI = BOIWordPre innerWord closeParen closeParen; transient String BOIWordPre = " CMAVO=( BOI=( "; transient String BU = BUWordPre innerWord closeParen closeParen; transient String BUWordPre = " CMAVO=( BU=( "; transient String BY = BYWordPre innerWord closeParen closeParen; transient String BYWordPre = " CMAVO=( BY=( "; transient String CAhA = CAhAWordPre innerWord closeParen closeParen; transient String CAhAWordPre = " CMAVO=( CAhA=( "; transient String CAI = CAIWordPre innerWord closeParen closeParen; transient String CAIWordPre = " CMAVO=( CAI=( "; transient String CEI = CEIWordPre innerWord closeParen closeParen; transient String CEIWordPre = " CMAVO=( CEI=( "; transient String CEhE = CEhEWordPre innerWord closeParen closeParen; transient String CEhEWordPre = " CMAVO=( CEhE=( "; transient String CO = COWordPre innerWord closeParen closeParen; transient String COWordPre = " CMAVO=( CO=( "; transient String COI = COIWordPre innerWord closeParen closeParen; transient String COIWordPre = " CMAVO=( COI=( "; transient String CU = CUWordPre innerWord closeParen closeParen; transient String CUWordPre = " CMAVO=( CU=( "; transient String CUhE = CUhEWordPre innerWord closeParen closeParen; transient String CUhEWordPre = " CMAVO=( CUhE=( "; transient String DAhO = DAhOWordPre innerWord closeParen closeParen; transient String DAhOWordPre = " CMAVO=( DAhO=( "; transient String DOI = DOIWordPre innerWord closeParen closeParen; transient String DOIWordPre = " CMAVO=( DOI=( "; transient String DOhU = DOhUWordPre innerWord closeParen closeParen; transient String DOhUWordPre = " CMAVO=( DOhU=( "; transient String FA = FAWordPre innerWord closeParen closeParen; transient String FAWordPre = " CMAVO=( FA=( "; transient String FAhA = FAhAWordPre innerWord closeParen closeParen; transient String FAhAWordPre = " CMAVO=( FAhA=( "; transient String FAhO = FAhOWordPre innerWord closeParen closeParen; transient String FAhOWordPre = " CMAVO=( FAhO=( "; transient String FEhE = FEhEWordPre innerWord closeParen closeParen; transient String FEhEWordPre = " CMAVO=( FEhE=( "; transient String FEhU = FEhUWordPre innerWord closeParen closeParen; transient String FEhUWordPre = " CMAVO=( FEhU=( "; transient String FIhO = FIhOWordPre innerWord closeParen closeParen; transient String FIhOWordPre = " CMAVO=( FIhO=( "; transient String FOI = FOIWordPre innerWord closeParen closeParen; transient String FOIWordPre = " CMAVO=( FOI=( "; transient String FUhA = FUhAWordPre innerWord closeParen closeParen; transient String FUhAWordPre = " CMAVO=( FUhA=( "; transient String FUhE = FUhEWordPre innerWord closeParen closeParen; transient String FUhEWordPre = " CMAVO=( FUhE=( "; transient String FUhO = FUhOWordPre innerWord closeParen closeParen; transient String FUhOWordPre = " CMAVO=( FUhO=( "; transient String GA = GAWordPre innerWord closeParen closeParen; transient String GAWordPre = " CMAVO=( GA=( "; transient String GAhO = GAhOWordPre innerWord closeParen closeParen; transient String GAhOWordPre = " CMAVO=( GAhO=( "; transient String GEhU = GEhUWordPre innerWord closeParen closeParen; transient String GEhUWordPre = " CMAVO=( GEhU=( "; transient String GI = GIWordPre innerWord closeParen closeParen; transient String GIWordPre = " CMAVO=( GI=( "; transient String GIhA = GIhAWordPre innerWord closeParen closeParen; transient String GIhAWordPre = " CMAVO=( GIhA=( "; transient String GOI = GOIWordPre innerWord closeParen closeParen; transient String GOIWordPre = " CMAVO=( GOI=( "; transient String GOhA = GOhAWordPre innerWord closeParen closeParen; transient String GOhAWordPre = " CMAVO=( GOhA=( "; transient String GUhA = GUhAWordPre innerWord closeParen closeParen; transient String GUhAWordPre = " CMAVO=( GUhA=( "; transient String I = IWordPre innerWord closeParen closeParen; transient String IWordPre = " CMAVO=( I=( "; transient String JA = JAWordPre innerWord closeParen closeParen; transient String JAWordPre = " CMAVO=( JA=( "; transient String JAI = JAIWordPre innerWord closeParen closeParen; transient String JAIWordPre = " CMAVO=( JAI=( "; transient String JOhI = JOhIWordPre innerWord closeParen closeParen; transient String JOhIWordPre = " CMAVO=( JOhI=( "; transient String JOI = JOIWordPre innerWord closeParen closeParen; transient String JOIWordPre = " CMAVO=( JOI=( "; transient String KE = KEWordPre innerWord closeParen closeParen; transient String KEWordPre = " CMAVO=( KE=( "; transient String KEhE = KEhEWordPre innerWord closeParen closeParen; transient String KEhEWordPre = " CMAVO=( KEhE=( "; transient String KEI = KEIWordPre innerWord closeParen closeParen; transient String KEIWordPre = " CMAVO=( KEI=( "; transient String KI = KIWordPre innerWord closeParen closeParen; transient String KIWordPre = " CMAVO=( KI=( "; transient String KOhA = KOhAWordPre innerWord closeParen closeParen; transient String KOhAWordPre = " CMAVO=( KOhA=( "; transient String KU = KUWordPre innerWord closeParen closeParen; transient String KUWordPre = " CMAVO=( KU=( "; transient String KUhE = KUhEWordPre innerWord closeParen closeParen; transient String KUhEWordPre = " CMAVO=( KUhE=( "; transient String KUhO = KUhOWordPre innerWord closeParen closeParen; transient String KUhOWordPre = " CMAVO=( KUhO=( "; transient String LA = LAWordPre innerWord closeParen closeParen; transient String LAWordPre = " CMAVO=( LA=( "; transient String LAU = LAUWordPre innerWord closeParen closeParen; transient String LAUWordPre = " CMAVO=( LAU=( "; transient String LAhE = LAhEWordPre innerWord closeParen closeParen; transient String LAhEWordPre = " CMAVO=( LAhE=( "; transient String LE = LEWordPre innerWord closeParen closeParen; transient String LEWordPre = " CMAVO=( LE=( "; transient String LEhU = LEhUWordPre innerWord closeParen closeParen; transient String LEhUWordPre = " CMAVO=( LEhU=( "; transient String LI = LIWordPre innerWord closeParen closeParen; transient String LIWordPre = " CMAVO=( LI=( "; transient String LIhU = LIhUWordPre innerWord closeParen closeParen; transient String LIhUWordPre = " CMAVO=( LIhU=( "; transient String LOhO = LOhOWordPre innerWord closeParen closeParen; transient String LOhOWordPre = " CMAVO=( LOhO=( "; transient String LOhU = LOhUWordPre innerWord closeParen closeParen; transient String LOhUWordPre = " CMAVO=( LOhU=( "; transient String LU = LUWordPre innerWord closeParen closeParen; transient String LUWordPre = " CMAVO=( LU=( "; transient String LUhU = LUhUWordPre innerWord closeParen closeParen; transient String LUhUWordPre = " CMAVO=( LUhU=( "; transient String MAhO = MAhOWordPre innerWord closeParen closeParen; transient String MAhOWordPre = " CMAVO=( MAhO=( "; transient String MAI = MAIWordPre innerWord closeParen closeParen; transient String MAIWordPre = " CMAVO=( MAI=( "; transient String ME = MEWordPre innerWord closeParen closeParen; transient String MEWordPre = " CMAVO=( ME=( "; transient String MEhU = MEhUWordPre innerWord closeParen closeParen; transient String MEhUWordPre = " CMAVO=( MEhU=( "; transient String MOhE = MOhEWordPre innerWord closeParen closeParen; transient String MOhEWordPre = " CMAVO=( MOhE=( "; transient String MOhI = MOhIWordPre innerWord closeParen closeParen; transient String MOhIWordPre = " CMAVO=( MOhI=( "; transient String MOI = MOIWordPre innerWord closeParen closeParen; transient String MOIWordPre = " CMAVO=( MOI=( "; transient String NA = NAWordPre innerWord closeParen closeParen; transient String NAWordPre = " CMAVO=( NA=( "; transient String NAI = NAIWordPre innerWord closeParen closeParen; transient String NAIWordPre = " CMAVO=( NAI=( "; transient String NAhE = NAhEWordPre innerWord closeParen closeParen; transient String NAhEWordPre = " CMAVO=( NAhE=( "; transient String NAhU = NAhUWordPre innerWord closeParen closeParen; transient String NAhUWordPre = " CMAVO=( NAhU=( "; transient String NIhE = NIhEWordPre innerWord closeParen closeParen; transient String NIhEWordPre = " CMAVO=( NIhE=( "; transient String NIhO = NIhOWordPre innerWord closeParen closeParen; transient String NIhOWordPre = " CMAVO=( NIhO=( "; transient String NOI = NOIWordPre innerWord closeParen closeParen; transient String NOIWordPre = " CMAVO=( NOI=( "; transient String NU = NUWordPre innerWord closeParen closeParen; transient String NUWordPre = " CMAVO=( NU=( "; transient String NUhA = NUhAWordPre innerWord closeParen closeParen; transient String NUhAWordPre = " CMAVO=( NUhA=( "; transient String NUhI = NUhIWordPre innerWord closeParen closeParen; transient String NUhIWordPre = " CMAVO=( NUhI=( "; transient String NUhU = NUhUWordPre innerWord closeParen closeParen; transient String NUhUWordPre = " CMAVO=( NUhU=( "; transient String PA = PAWordPre innerWord closeParen closeParen; transient String PAWordPre = " CMAVO=( PA=( "; transient String PEhE = PEhEWordPre innerWord closeParen closeParen; transient String PEhEWordPre = " CMAVO=( PEhE=( "; transient String PEhO = PEhOWordPre innerWord closeParen closeParen; transient String PEhOWordPre = " CMAVO=( PEhO=( "; transient String PU = PUWordPre innerWord closeParen closeParen; transient String PUWordPre = " CMAVO=( PU=( "; transient String RAhO = RAhOWordPre innerWord closeParen closeParen; transient String RAhOWordPre = " CMAVO=( RAhO=( "; transient String ROI = ROIWordPre innerWord closeParen closeParen; transient String ROIWordPre = " CMAVO=( ROI=( "; transient String SA = SAWordPre innerWord closeParen closeParen; transient String SAWordPre = " CMAVO=( SA=( "; transient String SE = SEWordPre innerWord closeParen closeParen; transient String SEWordPre = " CMAVO=( SE=( "; transient String SEI = SEIWordPre innerWord closeParen closeParen; transient String SEIWordPre = " CMAVO=( SEI=( "; transient String SEhU = SEhUWordPre innerWord closeParen closeParen; transient String SEhUWordPre = " CMAVO=( SEhU=( "; transient String SI = SIWordPre innerWord closeParen closeParen; transient String SIWordPre = " CMAVO=( SI=( "; transient String SOI = SOIWordPre innerWord closeParen closeParen; transient String SOIWordPre = " CMAVO=( SOI=( "; transient String SU = SUWordPre innerWord closeParen closeParen; transient String SUWordPre = " CMAVO=( SU=( "; transient String TAhE = TAhEWordPre innerWord closeParen closeParen; transient String TAhEWordPre = " CMAVO=( TAhE=( "; transient String TEhU = TEhUWordPre innerWord closeParen closeParen; transient String TEhUWordPre = " CMAVO=( TEhU=( "; transient String TEI = TEIWordPre innerWord closeParen closeParen; transient String TEIWordPre = " CMAVO=( TEI=( "; transient String TO = TOWordPre innerWord closeParen closeParen; transient String TOWordPre = " CMAVO=( TO=( "; transient String TOI = TOIWordPre innerWord closeParen closeParen; transient String TOIWordPre = " CMAVO=( TOI=( "; transient String TUhE = TUhEWordPre innerWord closeParen closeParen; transient String TUhEWordPre = " CMAVO=( TUhE=( "; transient String TUhU = TUhUWordPre innerWord closeParen closeParen; transient String TUhUWordPre = " CMAVO=( TUhU=( "; transient String UI = UIWordPre innerWord closeParen closeParen; transient String UIWordPre = " CMAVO=( UI=( "; transient String VA = VAWordPre innerWord closeParen closeParen; transient String VAWordPre = " CMAVO=( VA=( "; transient String VAU = VAUWordPre innerWord closeParen closeParen; transient String VAUWordPre = " CMAVO=( VAU=( "; transient String VEI = VEIWordPre innerWord closeParen closeParen; transient String VEIWordPre = " CMAVO=( VEI=( "; transient String VEhO = VEhOWordPre innerWord closeParen closeParen; transient String VEhOWordPre = " CMAVO=( VEhO=( "; transient String VUhU = VUhUWordPre innerWord closeParen closeParen; transient String VUhUWordPre = " CMAVO=( VUhU=( "; transient String VEhA = VEhAWordPre innerWord closeParen closeParen; transient String VEhAWordPre = " CMAVO=( VEhA=( "; transient String VIhA = VIhAWordPre innerWord closeParen closeParen; transient String VIhAWordPre = " CMAVO=( VIhA=( "; transient String VUhO = VUhOWordPre innerWord closeParen closeParen; transient String VUhOWordPre = " CMAVO=( VUhO=( "; transient String XI = XIWordPre innerWord closeParen closeParen; transient String XIWordPre = " CMAVO=( XI=( "; // Y <- Y-word-pre inner-word close-paren close-paren // Y-word-pre <- " CMAVO=( Y=( " transient String ZAhO = ZAhOWordPre innerWord closeParen closeParen; transient String ZAhOWordPre = " CMAVO=( ZAhO=( "; transient String ZEhA = ZEhAWordPre innerWord closeParen closeParen; transient String ZEhAWordPre = " CMAVO=( ZEhA=( "; transient String ZEI = ZEIWordPre innerWord closeParen closeParen; transient String ZEIWordPre = " CMAVO=( ZEI=( "; transient String ZI = ZIWordPre innerWord closeParen closeParen; transient String ZIWordPre = " CMAVO=( ZI=( "; transient String ZIhE = ZIhEWordPre innerWord closeParen closeParen; transient String ZIhEWordPre = " CMAVO=( ZIhE=( "; transient String ZO = ZOWordPre innerWord closeParen closeParen; transient String ZOWordPre = " CMAVO=( ZO=( "; transient String ZOI = ZOIWordPre innerWord closeParen closeParen; transient String ZOIWordPre = " CMAVO=( ZOI=( "; transient String ZOhU = ZOhUWordPre innerWord closeParen closeParen; transient String ZOhUWordPre = " CMAVO=( ZOhU=( "; // --- General Morphology --- // Ignore the -morph bits here if searching for these non-terminals. //; out of date: BU is before spaces in front so we can catch Y + BU before anything else. public String morphology = initialSpacesMorphSEP1:initialSpacesMorph? PARSERparen2:( PARSERparen1:( CMAVOMorphSEP1:CMAVOMorph { yyValue = makeString( "CMAVOMorph", CMAVOMorphSEP1, "public", false ) ; } / BRIVLAMorphSEP2:BRIVLAMorph { yyValue = makeString( "BRIVLAMorph", BRIVLAMorphSEP2, "public", false ) ; } / CMENEMorphSEP3:CMENEMorph { yyValue = makeString( "CMENEMorph", CMENEMorphSEP3, "public", false ) ; } / nonLojbanWordMorphSEP4:nonLojbanWordMorph { yyValue = makeString( "nonLojbanWordMorph", nonLojbanWordMorphSEP4, "public", false ) ; } ) spacesMorphSEP2:spacesMorph? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "spacesMorph", spacesMorphSEP2, "public", false ) ; } )* { yyValue = makeString( "initialSpacesMorph", initialSpacesMorphSEP1, "public", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; // morphology <- (BU-clause-morph / spaces-morph)* (any-word-morph spaces-morph?)* EOF-morph // --- MORPHOLOGY FILE --- // Do *NOT* delete the line above! // any single lexable Lojban words //any-word <- CMAVO / BRIVLA / CMENE / non-lojban-word String CMENEMorph = cmeneMorphSEP1:cmeneMorph { yyValue = makeString( "cmeneMorph", cmeneMorphSEP1, "normal", false ) ; } ; String BRIVLAMorph = gismuMorphSEP1:gismuMorph { yyValue = makeString( "gismuMorph", gismuMorphSEP1, "normal", false ) ; } / lujvoMorphSEP2:lujvoMorph { yyValue = makeString( "lujvoMorph", lujvoMorphSEP2, "normal", false ) ; } / fuhivlaMorphSEP3:fuhivlaMorph { yyValue = makeString( "fuhivlaMorph", fuhivlaMorphSEP3, "normal", false ) ; } ; //CMAVO <- !A !BAI !BAhE !BE !BEI !BEhO !BIhE !BIhI !BO !BOI !BU !BY !CAhA !CAI !CEI !CEhE !CO !COI !CU !CUhE !DAhO !DOI !DOhU !FA !FAhA !FAhO !FEhE !FEhU !FIhO !FOI !FUhA !FUhE !FUhO !GA !GAhO !GEhU !GI !GIhA !GOI !GOhA !GUhA !I !JA !JAI !JOhI !JOI !KE !KEhE !KEI !KI !KOhA !KU !KUhE !KUhO !LA !LAU !LAhE !LE !LEhU !LI !LIhU !LOhO !LOhU !LU !LUhU !MAhO !MAI !ME !MEhU !MOhE !MOhI !MOI !NA !NAI !NAhE !NAhU !NIhE !NIhO !NOI !NU !NUhA !NUhI !NUhU !PA !PEhE !PEhO !PU !RAhO !ROI !SA !SE !SEI !SEhU !SI !SOI !SU !TAhE !TEhU !TEI !TO !TOI !TUhE !TUhU !UI !VA !VAU !VEI !VEhO !VUhU !VEhA !VIhA !VUhO !XI !ZAhO !ZEhA !ZEI !ZI !ZIhE !ZO !ZOI !ZOhU cmavo String CMAVOMorph = AMorphSEP1:AMorph { yyValue = makeString( "AMorph", AMorphSEP1, "normal", false ) ; } / BAIMorphSEP2:BAIMorph { yyValue = makeString( "BAIMorph", BAIMorphSEP2, "normal", false ) ; } / BAhEMorphSEP3:BAhEMorph { yyValue = makeString( "BAhEMorph", BAhEMorphSEP3, "normal", false ) ; } / BEMorphSEP4:BEMorph { yyValue = makeString( "BEMorph", BEMorphSEP4, "normal", false ) ; } / BEIMorphSEP5:BEIMorph { yyValue = makeString( "BEIMorph", BEIMorphSEP5, "normal", false ) ; } / BEhOMorphSEP6:BEhOMorph { yyValue = makeString( "BEhOMorph", BEhOMorphSEP6, "normal", false ) ; } / BIhEMorphSEP7:BIhEMorph { yyValue = makeString( "BIhEMorph", BIhEMorphSEP7, "normal", false ) ; } / BIhIMorphSEP8:BIhIMorph { yyValue = makeString( "BIhIMorph", BIhIMorphSEP8, "normal", false ) ; } / BOMorphSEP9:BOMorph { yyValue = makeString( "BOMorph", BOMorphSEP9, "normal", false ) ; } / BOIMorphSEP10:BOIMorph { yyValue = makeString( "BOIMorph", BOIMorphSEP10, "normal", false ) ; } / BUMorphSEP11:BUMorph { yyValue = makeString( "BUMorph", BUMorphSEP11, "normal", false ) ; } / BYMorphSEP12:BYMorph { yyValue = makeString( "BYMorph", BYMorphSEP12, "normal", false ) ; } / CAhAMorphSEP13:CAhAMorph { yyValue = makeString( "CAhAMorph", CAhAMorphSEP13, "normal", false ) ; } / CAIMorphSEP14:CAIMorph { yyValue = makeString( "CAIMorph", CAIMorphSEP14, "normal", false ) ; } / CEIMorphSEP15:CEIMorph { yyValue = makeString( "CEIMorph", CEIMorphSEP15, "normal", false ) ; } / CEhEMorphSEP16:CEhEMorph { yyValue = makeString( "CEhEMorph", CEhEMorphSEP16, "normal", false ) ; } / COMorphSEP17:COMorph { yyValue = makeString( "COMorph", COMorphSEP17, "normal", false ) ; } / COIMorphSEP18:COIMorph { yyValue = makeString( "COIMorph", COIMorphSEP18, "normal", false ) ; } / CUMorphSEP19:CUMorph { yyValue = makeString( "CUMorph", CUMorphSEP19, "normal", false ) ; } / CUhEMorphSEP20:CUhEMorph { yyValue = makeString( "CUhEMorph", CUhEMorphSEP20, "normal", false ) ; } / DAhOMorphSEP21:DAhOMorph { yyValue = makeString( "DAhOMorph", DAhOMorphSEP21, "normal", false ) ; } / DOIMorphSEP22:DOIMorph { yyValue = makeString( "DOIMorph", DOIMorphSEP22, "normal", false ) ; } / DOhUMorphSEP23:DOhUMorph { yyValue = makeString( "DOhUMorph", DOhUMorphSEP23, "normal", false ) ; } / FAMorphSEP24:FAMorph { yyValue = makeString( "FAMorph", FAMorphSEP24, "normal", false ) ; } / FAhAMorphSEP25:FAhAMorph { yyValue = makeString( "FAhAMorph", FAhAMorphSEP25, "normal", false ) ; } / FAhOMorphSEP26:FAhOMorph { yyValue = makeString( "FAhOMorph", FAhOMorphSEP26, "normal", false ) ; } / FEhEMorphSEP27:FEhEMorph { yyValue = makeString( "FEhEMorph", FEhEMorphSEP27, "normal", false ) ; } / FEhUMorphSEP28:FEhUMorph { yyValue = makeString( "FEhUMorph", FEhUMorphSEP28, "normal", false ) ; } / FIhOMorphSEP29:FIhOMorph { yyValue = makeString( "FIhOMorph", FIhOMorphSEP29, "normal", false ) ; } / FOIMorphSEP30:FOIMorph { yyValue = makeString( "FOIMorph", FOIMorphSEP30, "normal", false ) ; } / FUhAMorphSEP31:FUhAMorph { yyValue = makeString( "FUhAMorph", FUhAMorphSEP31, "normal", false ) ; } / FUhEMorphSEP32:FUhEMorph { yyValue = makeString( "FUhEMorph", FUhEMorphSEP32, "normal", false ) ; } / FUhOMorphSEP33:FUhOMorph { yyValue = makeString( "FUhOMorph", FUhOMorphSEP33, "normal", false ) ; } / GAMorphSEP34:GAMorph { yyValue = makeString( "GAMorph", GAMorphSEP34, "normal", false ) ; } / GAhOMorphSEP35:GAhOMorph { yyValue = makeString( "GAhOMorph", GAhOMorphSEP35, "normal", false ) ; } / GEhUMorphSEP36:GEhUMorph { yyValue = makeString( "GEhUMorph", GEhUMorphSEP36, "normal", false ) ; } / GIMorphSEP37:GIMorph { yyValue = makeString( "GIMorph", GIMorphSEP37, "normal", false ) ; } / GIhAMorphSEP38:GIhAMorph { yyValue = makeString( "GIhAMorph", GIhAMorphSEP38, "normal", false ) ; } / GOIMorphSEP39:GOIMorph { yyValue = makeString( "GOIMorph", GOIMorphSEP39, "normal", false ) ; } / GOhAMorphSEP40:GOhAMorph { yyValue = makeString( "GOhAMorph", GOhAMorphSEP40, "normal", false ) ; } / GUhAMorphSEP41:GUhAMorph { yyValue = makeString( "GUhAMorph", GUhAMorphSEP41, "normal", false ) ; } / IMorphSEP42:IMorph { yyValue = makeString( "IMorph", IMorphSEP42, "normal", false ) ; } / JAMorphSEP43:JAMorph { yyValue = makeString( "JAMorph", JAMorphSEP43, "normal", false ) ; } / JAIMorphSEP44:JAIMorph { yyValue = makeString( "JAIMorph", JAIMorphSEP44, "normal", false ) ; } / JOhIMorphSEP45:JOhIMorph { yyValue = makeString( "JOhIMorph", JOhIMorphSEP45, "normal", false ) ; } / JOIMorphSEP46:JOIMorph { yyValue = makeString( "JOIMorph", JOIMorphSEP46, "normal", false ) ; } / KEMorphSEP47:KEMorph { yyValue = makeString( "KEMorph", KEMorphSEP47, "normal", false ) ; } / KEhEMorphSEP48:KEhEMorph { yyValue = makeString( "KEhEMorph", KEhEMorphSEP48, "normal", false ) ; } / KEIMorphSEP49:KEIMorph { yyValue = makeString( "KEIMorph", KEIMorphSEP49, "normal", false ) ; } / KIMorphSEP50:KIMorph { yyValue = makeString( "KIMorph", KIMorphSEP50, "normal", false ) ; } / KOhAMorphSEP51:KOhAMorph { yyValue = makeString( "KOhAMorph", KOhAMorphSEP51, "normal", false ) ; } / KUMorphSEP52:KUMorph { yyValue = makeString( "KUMorph", KUMorphSEP52, "normal", false ) ; } / KUhEMorphSEP53:KUhEMorph { yyValue = makeString( "KUhEMorph", KUhEMorphSEP53, "normal", false ) ; } / KUhOMorphSEP54:KUhOMorph { yyValue = makeString( "KUhOMorph", KUhOMorphSEP54, "normal", false ) ; } / LAMorphSEP55:LAMorph { yyValue = makeString( "LAMorph", LAMorphSEP55, "normal", false ) ; } / LAUMorphSEP56:LAUMorph { yyValue = makeString( "LAUMorph", LAUMorphSEP56, "normal", false ) ; } / LAhEMorphSEP57:LAhEMorph { yyValue = makeString( "LAhEMorph", LAhEMorphSEP57, "normal", false ) ; } / LEMorphSEP58:LEMorph { yyValue = makeString( "LEMorph", LEMorphSEP58, "normal", false ) ; } / LEhUMorphSEP59:LEhUMorph { yyValue = makeString( "LEhUMorph", LEhUMorphSEP59, "normal", false ) ; } / LIMorphSEP60:LIMorph { yyValue = makeString( "LIMorph", LIMorphSEP60, "normal", false ) ; } / LIhUMorphSEP61:LIhUMorph { yyValue = makeString( "LIhUMorph", LIhUMorphSEP61, "normal", false ) ; } / LOhOMorphSEP62:LOhOMorph { yyValue = makeString( "LOhOMorph", LOhOMorphSEP62, "normal", false ) ; } / LOhUMorphSEP63:LOhUMorph { yyValue = makeString( "LOhUMorph", LOhUMorphSEP63, "normal", false ) ; } / LUMorphSEP64:LUMorph { yyValue = makeString( "LUMorph", LUMorphSEP64, "normal", false ) ; } / LUhUMorphSEP65:LUhUMorph { yyValue = makeString( "LUhUMorph", LUhUMorphSEP65, "normal", false ) ; } / MAhOMorphSEP66:MAhOMorph { yyValue = makeString( "MAhOMorph", MAhOMorphSEP66, "normal", false ) ; } / MAIMorphSEP67:MAIMorph { yyValue = makeString( "MAIMorph", MAIMorphSEP67, "normal", false ) ; } / MEMorphSEP68:MEMorph { yyValue = makeString( "MEMorph", MEMorphSEP68, "normal", false ) ; } / MEhUMorphSEP69:MEhUMorph { yyValue = makeString( "MEhUMorph", MEhUMorphSEP69, "normal", false ) ; } / MOhEMorphSEP70:MOhEMorph { yyValue = makeString( "MOhEMorph", MOhEMorphSEP70, "normal", false ) ; } / MOhIMorphSEP71:MOhIMorph { yyValue = makeString( "MOhIMorph", MOhIMorphSEP71, "normal", false ) ; } / MOIMorphSEP72:MOIMorph { yyValue = makeString( "MOIMorph", MOIMorphSEP72, "normal", false ) ; } / NAMorphSEP73:NAMorph { yyValue = makeString( "NAMorph", NAMorphSEP73, "normal", false ) ; } / NAIMorphSEP74:NAIMorph { yyValue = makeString( "NAIMorph", NAIMorphSEP74, "normal", false ) ; } / NAhEMorphSEP75:NAhEMorph { yyValue = makeString( "NAhEMorph", NAhEMorphSEP75, "normal", false ) ; } / NAhUMorphSEP76:NAhUMorph { yyValue = makeString( "NAhUMorph", NAhUMorphSEP76, "normal", false ) ; } / NIhEMorphSEP77:NIhEMorph { yyValue = makeString( "NIhEMorph", NIhEMorphSEP77, "normal", false ) ; } / NIhOMorphSEP78:NIhOMorph { yyValue = makeString( "NIhOMorph", NIhOMorphSEP78, "normal", false ) ; } / NOIMorphSEP79:NOIMorph { yyValue = makeString( "NOIMorph", NOIMorphSEP79, "normal", false ) ; } / NUMorphSEP80:NUMorph { yyValue = makeString( "NUMorph", NUMorphSEP80, "normal", false ) ; } / NUhAMorphSEP81:NUhAMorph { yyValue = makeString( "NUhAMorph", NUhAMorphSEP81, "normal", false ) ; } / NUhIMorphSEP82:NUhIMorph { yyValue = makeString( "NUhIMorph", NUhIMorphSEP82, "normal", false ) ; } / NUhUMorphSEP83:NUhUMorph { yyValue = makeString( "NUhUMorph", NUhUMorphSEP83, "normal", false ) ; } / PAMorphSEP84:PAMorph { yyValue = makeString( "PAMorph", PAMorphSEP84, "normal", false ) ; } / PEhEMorphSEP85:PEhEMorph { yyValue = makeString( "PEhEMorph", PEhEMorphSEP85, "normal", false ) ; } / PEhOMorphSEP86:PEhOMorph { yyValue = makeString( "PEhOMorph", PEhOMorphSEP86, "normal", false ) ; } / PUMorphSEP87:PUMorph { yyValue = makeString( "PUMorph", PUMorphSEP87, "normal", false ) ; } / RAhOMorphSEP88:RAhOMorph { yyValue = makeString( "RAhOMorph", RAhOMorphSEP88, "normal", false ) ; } / ROIMorphSEP89:ROIMorph { yyValue = makeString( "ROIMorph", ROIMorphSEP89, "normal", false ) ; } / SAMorphSEP90:SAMorph { yyValue = makeString( "SAMorph", SAMorphSEP90, "normal", false ) ; } / SEMorphSEP91:SEMorph { yyValue = makeString( "SEMorph", SEMorphSEP91, "normal", false ) ; } / SEIMorphSEP92:SEIMorph { yyValue = makeString( "SEIMorph", SEIMorphSEP92, "normal", false ) ; } / SEhUMorphSEP93:SEhUMorph { yyValue = makeString( "SEhUMorph", SEhUMorphSEP93, "normal", false ) ; } / SIMorphSEP94:SIMorph { yyValue = makeString( "SIMorph", SIMorphSEP94, "normal", false ) ; } / SOIMorphSEP95:SOIMorph { yyValue = makeString( "SOIMorph", SOIMorphSEP95, "normal", false ) ; } / SUMorphSEP96:SUMorph { yyValue = makeString( "SUMorph", SUMorphSEP96, "normal", false ) ; } / TAhEMorphSEP97:TAhEMorph { yyValue = makeString( "TAhEMorph", TAhEMorphSEP97, "normal", false ) ; } / TEhUMorphSEP98:TEhUMorph { yyValue = makeString( "TEhUMorph", TEhUMorphSEP98, "normal", false ) ; } / TEIMorphSEP99:TEIMorph { yyValue = makeString( "TEIMorph", TEIMorphSEP99, "normal", false ) ; } / TOMorphSEP100:TOMorph { yyValue = makeString( "TOMorph", TOMorphSEP100, "normal", false ) ; } / TOIMorphSEP101:TOIMorph { yyValue = makeString( "TOIMorph", TOIMorphSEP101, "normal", false ) ; } / TUhEMorphSEP102:TUhEMorph { yyValue = makeString( "TUhEMorph", TUhEMorphSEP102, "normal", false ) ; } / TUhUMorphSEP103:TUhUMorph { yyValue = makeString( "TUhUMorph", TUhUMorphSEP103, "normal", false ) ; } / UIMorphSEP104:UIMorph { yyValue = makeString( "UIMorph", UIMorphSEP104, "normal", false ) ; } / VAMorphSEP105:VAMorph { yyValue = makeString( "VAMorph", VAMorphSEP105, "normal", false ) ; } / VAUMorphSEP106:VAUMorph { yyValue = makeString( "VAUMorph", VAUMorphSEP106, "normal", false ) ; } / VEIMorphSEP107:VEIMorph { yyValue = makeString( "VEIMorph", VEIMorphSEP107, "normal", false ) ; } / VEhOMorphSEP108:VEhOMorph { yyValue = makeString( "VEhOMorph", VEhOMorphSEP108, "normal", false ) ; } / VUhUMorphSEP109:VUhUMorph { yyValue = makeString( "VUhUMorph", VUhUMorphSEP109, "normal", false ) ; } / VEhAMorphSEP110:VEhAMorph { yyValue = makeString( "VEhAMorph", VEhAMorphSEP110, "normal", false ) ; } / VIhAMorphSEP111:VIhAMorph { yyValue = makeString( "VIhAMorph", VIhAMorphSEP111, "normal", false ) ; } / VUhOMorphSEP112:VUhOMorph { yyValue = makeString( "VUhOMorph", VUhOMorphSEP112, "normal", false ) ; } / XIMorphSEP113:XIMorph { yyValue = makeString( "XIMorph", XIMorphSEP113, "normal", false ) ; } / ZAhOMorphSEP114:ZAhOMorph { yyValue = makeString( "ZAhOMorph", ZAhOMorphSEP114, "normal", false ) ; } / ZEhAMorphSEP115:ZEhAMorph { yyValue = makeString( "ZEhAMorph", ZEhAMorphSEP115, "normal", false ) ; } / ZEIMorphSEP116:ZEIMorph { yyValue = makeString( "ZEIMorph", ZEIMorphSEP116, "normal", false ) ; } / ZIMorphSEP117:ZIMorph { yyValue = makeString( "ZIMorph", ZIMorphSEP117, "normal", false ) ; } / ZIhEMorphSEP118:ZIhEMorph { yyValue = makeString( "ZIhEMorph", ZIhEMorphSEP118, "normal", false ) ; } / ZOMorphSEP119:ZOMorph { yyValue = makeString( "ZOMorph", ZOMorphSEP119, "normal", false ) ; } / ZOIMorphSEP120:ZOIMorph { yyValue = makeString( "ZOIMorph", ZOIMorphSEP120, "normal", false ) ; } / ZOhUMorphSEP121:ZOhUMorph { yyValue = makeString( "ZOhUMorph", ZOhUMorphSEP121, "normal", false ) ; } / cmavoMorphSEP122:cmavoMorph { yyValue = makeString( "cmavoMorph", cmavoMorphSEP122, "normal", false ) ; } ; // --- MORPHOLOGY --- // This is a Parsing Expression Grammar for the morphology of Lojban. // See http://www.pdos.lcs.mit.edu/~baford/packrat/ // // All rules have the form // // name <- peg-expression // // which means that the grammatical construct "name" is parsed using // "peg-expression". // // 1) Concatenation is expressed by juxtaposition with no operator symbol. // 2) / represents *ORDERED* alternation (choice). If the first // option succeeds, the others will never be checked. // 3) ? indicates that the element to the left is optional. // 4) * represents optional repetition of the construct to the left. // 5) + represents one-or-more repetition of the construct to the left. // 6) () serves to indicate the grouping of the other operators. // 7) & indicates that the element to the right must follow (but the // marked element itself does not absorb anything). // 8) ! indicates that the element to the right must not follow (the // marked element itself does not absorb anything). // 9) . represents any character. // 10) ' ' or " " represents a literal string. // 11) [] represents a character class. // // Repetitions grab as much as they can. // // // --- GRAMMAR --- // This grammar classifies words by their morphological class (cmene, // gismu, lujvo, fuhivla, cmavo, and non-lojban-word). // //The final section sorts cmavo into grammatical classes (A, BAI, BAhE, ..., ZOhU). // // mi'e ((xorxes)) //------------------------------------------------------------------- String wordsMorph = pauseMorphSEP1:pauseMorph? PARSERparen2:(wordMorphSEP1:wordMorph pauseMorphSEP2:pauseMorph? { yyValue = makeString( "wordMorph", wordMorphSEP1, "morphology", false ) + makeString( "pauseMorph", pauseMorphSEP2, "morphology", false ) ; } )* { yyValue = makeString( "pauseMorph", pauseMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String wordMorph = lojbanWordMorphSEP1:lojbanWordMorph { yyValue = makeString( "lojbanWordMorph", lojbanWordMorphSEP1, "morphology", false ) ; } / nonLojbanWordMorphSEP2:nonLojbanWordMorph { yyValue = makeString( "nonLojbanWordMorph", nonLojbanWordMorphSEP2, "morphology", false ) ; } ; String lojbanWordMorph = cmeneMorphSEP1:cmeneMorph { yyValue = makeString( "cmeneMorph", cmeneMorphSEP1, "morphology", false ) ; } / cmavoMorphSEP2:cmavoMorph { yyValue = makeString( "cmavoMorph", cmavoMorphSEP2, "morphology", false ) ; } / brivlaMorphSEP3:brivlaMorph { yyValue = makeString( "brivlaMorph", brivlaMorphSEP3, "morphology", false ) ; } ; //------------------------------------------------------------------- String cmeneMorph = !hMorph &consonantFinalMorph codaMorphSEP1:codaMorph? PARSERparen2:(anySyllableMorphSEP1:anySyllableMorph { yyValue = makeString( "anySyllableMorph", anySyllableMorphSEP1, "morphology", false ) ; } / digitMorphSEP2:digitMorph { yyValue = makeString( "digitMorph", digitMorphSEP2, "morphology", false ) ; } )* &pauseMorph { yyValue = makeString( "codaMorph", codaMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String consonantFinalMorph = PARSERparen1:(nonSpaceMorphSEP1:nonSpaceMorph &nonSpaceMorph { yyValue = makeString( "nonSpaceMorph", nonSpaceMorphSEP1, "morphology", false ) ; } )* consonantMorphSEP2:consonantMorph &pauseMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) ; } ; //cmene <- !h cmene-syllable* &consonant coda? consonantal-syllable* onset &pause //cmene-syllable <- !doi-la-lai-lahi coda? consonantal-syllable* onset nucleus / digit //doi-la-lai-lahi <- (d o i / l a (h? i)?) !h !nucleus //------------------------------------------------------------------- String cmavoMorph = !cmeneMorph !CVCyLujvoMorph cmavoFormMorphSEP1:cmavoFormMorph &postWordMorph { yyValue = makeString( "cmavoFormMorph", cmavoFormMorphSEP1, "morphology", false ) ; } ; String CVCyLujvoMorph = CVCRafsiMorphSEP1:CVCRafsiMorph yMorphSEP2:yMorph hMorphSEP3:hMorph? initialRafsiMorphSEP4:initialRafsiMorph* brivlaCoreMorphSEP5:brivlaCoreMorph { yyValue = makeString( "CVCRafsiMorph", CVCRafsiMorphSEP1, "morphology", false ) + makeString( "yMorph", yMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "initialRafsiMorph", initialRafsiMorphSEP4, "morphology", false ) + makeString( "brivlaCoreMorph", brivlaCoreMorphSEP5, "morphology", false ) ; } / stressedCVCRafsiMorphSEP6:stressedCVCRafsiMorph yMorphSEP7:yMorph shortFinalRafsiMorphSEP8:shortFinalRafsiMorph { yyValue = makeString( "stressedCVCRafsiMorph", stressedCVCRafsiMorphSEP6, "morphology", false ) + makeString( "yMorph", yMorphSEP7, "morphology", false ) + makeString( "shortFinalRafsiMorph", shortFinalRafsiMorphSEP8, "morphology", false ) ; } ; String cmavoFormMorph = !hMorph !clusterMorph onsetMorphSEP1:onsetMorph PARSERparen2:(nucleusMorphSEP1:nucleusMorph hMorphSEP2:hMorph { yyValue = makeString( "nucleusMorph", nucleusMorphSEP1, "morphology", false ) + makeString( "hMorph", hMorphSEP2, "morphology", false ) ; } )* PARSERparen3:(!stressedMorph nucleusMorphSEP1:nucleusMorph { yyValue = makeString( "nucleusMorph", nucleusMorphSEP1, "morphology", false ) ; } / nucleusMorphSEP2:nucleusMorph !clusterMorph { yyValue = makeString( "nucleusMorph", nucleusMorphSEP2, "morphology", false ) ; } ) { yyValue = makeString( "onsetMorph", onsetMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) ; } / yMorphSEP4:yMorph+ { yyValue = makeString( "yMorph", yMorphSEP4, "morphology", false ) ; } / digitMorphSEP5:digitMorph { yyValue = makeString( "digitMorph", digitMorphSEP5, "morphology", false ) ; } ; //------------------------------------------------------------------- String brivlaMorph = !cmavoMorph initialRafsiMorphSEP1:initialRafsiMorph* brivlaCoreMorphSEP2:brivlaCoreMorph { yyValue = makeString( "initialRafsiMorph", initialRafsiMorphSEP1, "morphology", false ) + makeString( "brivlaCoreMorph", brivlaCoreMorphSEP2, "morphology", false ) ; } ; String brivlaCoreMorph = fuhivlaMorphSEP1:fuhivlaMorph { yyValue = makeString( "fuhivlaMorph", fuhivlaMorphSEP1, "morphology", false ) ; } / gismuMorphSEP2:gismuMorph { yyValue = makeString( "gismuMorph", gismuMorphSEP2, "morphology", false ) ; } / CVVFinalRafsiMorphSEP3:CVVFinalRafsiMorph { yyValue = makeString( "CVVFinalRafsiMorph", CVVFinalRafsiMorphSEP3, "morphology", false ) ; } / stressedInitialRafsiMorphSEP4:stressedInitialRafsiMorph shortFinalRafsiMorphSEP5:shortFinalRafsiMorph { yyValue = makeString( "stressedInitialRafsiMorph", stressedInitialRafsiMorphSEP4, "morphology", false ) + makeString( "shortFinalRafsiMorph", shortFinalRafsiMorphSEP5, "morphology", false ) ; } ; String stressedInitialRafsiMorph = stressedExtendedRafsiMorphSEP1:stressedExtendedRafsiMorph { yyValue = makeString( "stressedExtendedRafsiMorph", stressedExtendedRafsiMorphSEP1, "morphology", false ) ; } / stressedYRafsiMorphSEP2:stressedYRafsiMorph { yyValue = makeString( "stressedYRafsiMorph", stressedYRafsiMorphSEP2, "morphology", false ) ; } / stressedYLessRafsiMorphSEP3:stressedYLessRafsiMorph { yyValue = makeString( "stressedYLessRafsiMorph", stressedYLessRafsiMorphSEP3, "morphology", false ) ; } ; String initialRafsiMorph = extendedRafsiMorphSEP1:extendedRafsiMorph { yyValue = makeString( "extendedRafsiMorph", extendedRafsiMorphSEP1, "morphology", false ) ; } / yRafsiMorphSEP2:yRafsiMorph { yyValue = makeString( "yRafsiMorph", yRafsiMorphSEP2, "morphology", false ) ; } / !anyExtendedRafsiMorph yLessRafsiMorphSEP3:yLessRafsiMorph { yyValue = makeString( "yLessRafsiMorph", yLessRafsiMorphSEP3, "morphology", false ) ; } ; //------------------------------------------------------------------- String anyExtendedRafsiMorph = fuhivlaMorphSEP1:fuhivlaMorph { yyValue = makeString( "fuhivlaMorph", fuhivlaMorphSEP1, "morphology", false ) ; } / extendedRafsiMorphSEP2:extendedRafsiMorph { yyValue = makeString( "extendedRafsiMorph", extendedRafsiMorphSEP2, "morphology", false ) ; } / stressedExtendedRafsiMorphSEP3:stressedExtendedRafsiMorph { yyValue = makeString( "stressedExtendedRafsiMorph", stressedExtendedRafsiMorphSEP3, "morphology", false ) ; } ; String fuhivlaMorph = fuhivlaHeadMorphSEP1:fuhivlaHeadMorph stressedSyllableMorphSEP2:stressedSyllableMorph consonantalSyllableMorphSEP3:consonantalSyllableMorph* finalSyllableMorphSEP4:finalSyllableMorph { yyValue = makeString( "fuhivlaHeadMorph", fuhivlaHeadMorphSEP1, "morphology", false ) + makeString( "stressedSyllableMorph", stressedSyllableMorphSEP2, "morphology", false ) + makeString( "consonantalSyllableMorph", consonantalSyllableMorphSEP3, "morphology", false ) + makeString( "finalSyllableMorph", finalSyllableMorphSEP4, "morphology", false ) ; } ; String stressedExtendedRafsiMorph = stressedBrivlaRafsiMorphSEP1:stressedBrivlaRafsiMorph { yyValue = makeString( "stressedBrivlaRafsiMorph", stressedBrivlaRafsiMorphSEP1, "morphology", false ) ; } / stressedFuhivlaRafsiMorphSEP2:stressedFuhivlaRafsiMorph { yyValue = makeString( "stressedFuhivlaRafsiMorph", stressedFuhivlaRafsiMorphSEP2, "morphology", false ) ; } ; String extendedRafsiMorph = brivlaRafsiMorphSEP1:brivlaRafsiMorph { yyValue = makeString( "brivlaRafsiMorph", brivlaRafsiMorphSEP1, "morphology", false ) ; } / fuhivlaRafsiMorphSEP2:fuhivlaRafsiMorph { yyValue = makeString( "fuhivlaRafsiMorph", fuhivlaRafsiMorphSEP2, "morphology", false ) ; } ; String stressedBrivlaRafsiMorph = &unstressedSyllableMorph brivlaHeadMorphSEP1:brivlaHeadMorph stressedSyllableMorphSEP2:stressedSyllableMorph hMorphSEP3:hMorph yMorphSEP4:yMorph { yyValue = makeString( "brivlaHeadMorph", brivlaHeadMorphSEP1, "morphology", false ) + makeString( "stressedSyllableMorph", stressedSyllableMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "yMorph", yMorphSEP4, "morphology", false ) ; } ; String brivlaRafsiMorph = &(syllableMorph consonantalSyllableMorph* syllableMorph) brivlaHeadMorphSEP1:brivlaHeadMorph hMorphSEP2:hMorph yMorphSEP3:yMorph hMorphSEP4:hMorph? { yyValue = makeString( "brivlaHeadMorph", brivlaHeadMorphSEP1, "morphology", false ) + makeString( "hMorph", hMorphSEP2, "morphology", false ) + makeString( "yMorph", yMorphSEP3, "morphology", false ) + makeString( "hMorph", hMorphSEP4, "morphology", false ) ; } ; String stressedFuhivlaRafsiMorph = fuhivlaHeadMorphSEP1:fuhivlaHeadMorph stressedSyllableMorphSEP2:stressedSyllableMorph &consonantMorph onsetMorphSEP3:onsetMorph yMorphSEP4:yMorph { yyValue = makeString( "fuhivlaHeadMorph", fuhivlaHeadMorphSEP1, "morphology", false ) + makeString( "stressedSyllableMorph", stressedSyllableMorphSEP2, "morphology", false ) + makeString( "onsetMorph", onsetMorphSEP3, "morphology", false ) + makeString( "yMorph", yMorphSEP4, "morphology", false ) ; } ; String fuhivlaRafsiMorph = &unstressedSyllableMorph fuhivlaHeadMorphSEP1:fuhivlaHeadMorph &consonantMorph onsetMorphSEP2:onsetMorph yMorphSEP3:yMorph hMorphSEP4:hMorph? { yyValue = makeString( "fuhivlaHeadMorph", fuhivlaHeadMorphSEP1, "morphology", false ) + makeString( "onsetMorph", onsetMorphSEP2, "morphology", false ) + makeString( "yMorph", yMorphSEP3, "morphology", false ) + makeString( "hMorph", hMorphSEP4, "morphology", false ) ; } ; String fuhivlaHeadMorph = !rafsiStringMorph brivlaHeadMorphSEP1:brivlaHeadMorph { yyValue = makeString( "brivlaHeadMorph", brivlaHeadMorphSEP1, "morphology", false ) ; } ; String brivlaHeadMorph = !cmavoMorph !slinkuhiMorph !hMorph &onsetMorph unstressedSyllableMorphSEP1:unstressedSyllableMorph* { yyValue = makeString( "unstressedSyllableMorph", unstressedSyllableMorphSEP1, "morphology", false ) ; } ; String slinkuhiMorph = consonantMorphSEP1:consonantMorph rafsiStringMorphSEP2:rafsiStringMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "rafsiStringMorph", rafsiStringMorphSEP2, "morphology", false ) ; } ; String rafsiStringMorph = yLessRafsiMorphSEP1:yLessRafsiMorph* PARSERparen2:(gismuMorphSEP1:gismuMorph { yyValue = makeString( "gismuMorph", gismuMorphSEP1, "morphology", false ) ; } / CVVFinalRafsiMorphSEP2:CVVFinalRafsiMorph { yyValue = makeString( "CVVFinalRafsiMorph", CVVFinalRafsiMorphSEP2, "morphology", false ) ; } / stressedYLessRafsiMorphSEP3:stressedYLessRafsiMorph shortFinalRafsiMorphSEP4:shortFinalRafsiMorph { yyValue = makeString( "stressedYLessRafsiMorph", stressedYLessRafsiMorphSEP3, "morphology", false ) + makeString( "shortFinalRafsiMorph", shortFinalRafsiMorphSEP4, "morphology", false ) ; } / yRafsiMorphSEP5:yRafsiMorph { yyValue = makeString( "yRafsiMorph", yRafsiMorphSEP5, "morphology", false ) ; } / stressedYRafsiMorphSEP6:stressedYRafsiMorph { yyValue = makeString( "stressedYRafsiMorph", stressedYRafsiMorphSEP6, "morphology", false ) ; } / stressedYLessRafsiMorphSEP7:stressedYLessRafsiMorph? initialPairMorphSEP8:initialPairMorph yMorphSEP9:yMorph { yyValue = makeString( "stressedYLessRafsiMorph", stressedYLessRafsiMorphSEP7, "morphology", false ) + makeString( "initialPairMorph", initialPairMorphSEP8, "morphology", false ) + makeString( "yMorph", yMorphSEP9, "morphology", false ) ; } ) { yyValue = makeString( "yLessRafsiMorph", yLessRafsiMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; //------------------------------------------------------------------- String gismuMorph = stressedLongRafsiMorphSEP1:stressedLongRafsiMorph &finalSyllableMorph vowelMorphSEP2:vowelMorph &postWordMorph { yyValue = makeString( "stressedLongRafsiMorph", stressedLongRafsiMorphSEP1, "morphology", false ) + makeString( "vowelMorph", vowelMorphSEP2, "morphology", false ) ; } ; String CVVFinalRafsiMorph = consonantMorphSEP1:consonantMorph stressedVowelMorphSEP2:stressedVowelMorph hMorphSEP3:hMorph &finalSyllableMorph vowelMorphSEP4:vowelMorph &postWordMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "stressedVowelMorph", stressedVowelMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "vowelMorph", vowelMorphSEP4, "morphology", false ) ; } ; String shortFinalRafsiMorph = &finalSyllableMorph PARSERparen1:(consonantMorphSEP1:consonantMorph diphthongMorphSEP2:diphthongMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "diphthongMorph", diphthongMorphSEP2, "morphology", false ) ; } / initialPairMorphSEP3:initialPairMorph vowelMorphSEP4:vowelMorph { yyValue = makeString( "initialPairMorph", initialPairMorphSEP3, "morphology", false ) + makeString( "vowelMorph", vowelMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String stressedYRafsiMorph = PARSERparen1:(stressedLongRafsiMorphSEP1:stressedLongRafsiMorph { yyValue = makeString( "stressedLongRafsiMorph", stressedLongRafsiMorphSEP1, "morphology", false ) ; } / stressedCVCRafsiMorphSEP2:stressedCVCRafsiMorph { yyValue = makeString( "stressedCVCRafsiMorph", stressedCVCRafsiMorphSEP2, "morphology", false ) ; } ) yMorphSEP2:yMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "yMorph", yMorphSEP2, "morphology", false ) ; } ; String stressedYLessRafsiMorph = stressedCVCRafsiMorphSEP1:stressedCVCRafsiMorph !yMorph { yyValue = makeString( "stressedCVCRafsiMorph", stressedCVCRafsiMorphSEP1, "morphology", false ) ; } / stressedCCVRafsiMorphSEP2:stressedCCVRafsiMorph { yyValue = makeString( "stressedCCVRafsiMorph", stressedCCVRafsiMorphSEP2, "morphology", false ) ; } / stressedCVVRafsiMorphSEP3:stressedCVVRafsiMorph { yyValue = makeString( "stressedCVVRafsiMorph", stressedCVVRafsiMorphSEP3, "morphology", false ) ; } ; String stressedLongRafsiMorph = PARSERparen1:(stressedCCVRafsiMorphSEP1:stressedCCVRafsiMorph { yyValue = makeString( "stressedCCVRafsiMorph", stressedCCVRafsiMorphSEP1, "morphology", false ) ; } / stressedCVCRafsiMorphSEP2:stressedCVCRafsiMorph { yyValue = makeString( "stressedCVCRafsiMorph", stressedCVCRafsiMorphSEP2, "morphology", false ) ; } ) consonantMorphSEP2:consonantMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) ; } ; String stressedCVCRafsiMorph = consonantMorphSEP1:consonantMorph stressedVowelMorphSEP2:stressedVowelMorph consonantMorphSEP3:consonantMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "stressedVowelMorph", stressedVowelMorphSEP2, "morphology", false ) + makeString( "consonantMorph", consonantMorphSEP3, "morphology", false ) ; } ; String stressedCCVRafsiMorph = initialPairMorphSEP1:initialPairMorph stressedVowelMorphSEP2:stressedVowelMorph { yyValue = makeString( "initialPairMorph", initialPairMorphSEP1, "morphology", false ) + makeString( "stressedVowelMorph", stressedVowelMorphSEP2, "morphology", false ) ; } ; String stressedCVVRafsiMorph = consonantMorphSEP1:consonantMorph PARSERparen2:(unstressedVowelMorphSEP1:unstressedVowelMorph hMorphSEP2:hMorph stressedVowelMorphSEP3:stressedVowelMorph { yyValue = makeString( "unstressedVowelMorph", unstressedVowelMorphSEP1, "morphology", false ) + makeString( "hMorph", hMorphSEP2, "morphology", false ) + makeString( "stressedVowelMorph", stressedVowelMorphSEP3, "morphology", false ) ; } / stressedDiphthongMorphSEP4:stressedDiphthongMorph { yyValue = makeString( "stressedDiphthongMorph", stressedDiphthongMorphSEP4, "morphology", false ) ; } ) rHyphenMorphSEP3:rHyphenMorph? { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "rHyphenMorph", rHyphenMorphSEP3, "morphology", false ) ; } ; String yRafsiMorph = PARSERparen1:(longRafsiMorphSEP1:longRafsiMorph { yyValue = makeString( "longRafsiMorph", longRafsiMorphSEP1, "morphology", false ) ; } / CVCRafsiMorphSEP2:CVCRafsiMorph { yyValue = makeString( "CVCRafsiMorph", CVCRafsiMorphSEP2, "morphology", false ) ; } ) yMorphSEP2:yMorph hMorphSEP3:hMorph? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "yMorph", yMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) ; } ; String yLessRafsiMorph = !yRafsiMorph PARSERparen1:(CVCRafsiMorphSEP1:CVCRafsiMorph !yMorph { yyValue = makeString( "CVCRafsiMorph", CVCRafsiMorphSEP1, "morphology", false ) ; } / CCVRafsiMorphSEP2:CCVRafsiMorph { yyValue = makeString( "CCVRafsiMorph", CCVRafsiMorphSEP2, "morphology", false ) ; } / CVVRafsiMorphSEP3:CVVRafsiMorph { yyValue = makeString( "CVVRafsiMorph", CVVRafsiMorphSEP3, "morphology", false ) ; } ) !anyExtendedRafsiMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String longRafsiMorph = PARSERparen1:(CCVRafsiMorphSEP1:CCVRafsiMorph { yyValue = makeString( "CCVRafsiMorph", CCVRafsiMorphSEP1, "morphology", false ) ; } / CVCRafsiMorphSEP2:CVCRafsiMorph { yyValue = makeString( "CVCRafsiMorph", CVCRafsiMorphSEP2, "morphology", false ) ; } ) consonantMorphSEP2:consonantMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) ; } ; String CVCRafsiMorph = consonantMorphSEP1:consonantMorph unstressedVowelMorphSEP2:unstressedVowelMorph consonantMorphSEP3:consonantMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "unstressedVowelMorph", unstressedVowelMorphSEP2, "morphology", false ) + makeString( "consonantMorph", consonantMorphSEP3, "morphology", false ) ; } ; String CCVRafsiMorph = initialPairMorphSEP1:initialPairMorph unstressedVowelMorphSEP2:unstressedVowelMorph { yyValue = makeString( "initialPairMorph", initialPairMorphSEP1, "morphology", false ) + makeString( "unstressedVowelMorph", unstressedVowelMorphSEP2, "morphology", false ) ; } ; String CVVRafsiMorph = consonantMorphSEP1:consonantMorph PARSERparen2:(unstressedVowelMorphSEP1:unstressedVowelMorph hMorphSEP2:hMorph unstressedVowelMorphSEP3:unstressedVowelMorph { yyValue = makeString( "unstressedVowelMorph", unstressedVowelMorphSEP1, "morphology", false ) + makeString( "hMorph", hMorphSEP2, "morphology", false ) + makeString( "unstressedVowelMorph", unstressedVowelMorphSEP3, "morphology", false ) ; } / unstressedDiphthongMorphSEP4:unstressedDiphthongMorph { yyValue = makeString( "unstressedDiphthongMorph", unstressedDiphthongMorphSEP4, "morphology", false ) ; } ) rHyphenMorphSEP3:rHyphenMorph? { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) + makeString( "rHyphenMorph", rHyphenMorphSEP3, "morphology", false ) ; } ; String rHyphenMorph = rMorphSEP1:rMorph &consonantMorph { yyValue = makeString( "rMorph", rMorphSEP1, "morphology", false ) ; } / nMorphSEP2:nMorph &rMorph { yyValue = makeString( "nMorph", nMorphSEP2, "morphology", false ) ; } ; //------------------------------------------------------------------- String finalSyllableMorph = onsetMorphSEP1:onsetMorph !yMorph !stressedMorph nucleusMorphSEP2:nucleusMorph !cmeneMorph &postWordMorph { yyValue = makeString( "onsetMorph", onsetMorphSEP1, "morphology", false ) + makeString( "nucleusMorph", nucleusMorphSEP2, "morphology", false ) ; } ; String stressedSyllableMorph = &stressedMorph syllableMorphSEP1:syllableMorph { yyValue = makeString( "syllableMorph", syllableMorphSEP1, "morphology", false ) ; } / syllableMorphSEP2:syllableMorph &stressMorph { yyValue = makeString( "syllableMorph", syllableMorphSEP2, "morphology", false ) ; } ; String stressedDiphthongMorph = &stressedMorph diphthongMorphSEP1:diphthongMorph { yyValue = makeString( "diphthongMorph", diphthongMorphSEP1, "morphology", false ) ; } / diphthongMorphSEP2:diphthongMorph &stressMorph { yyValue = makeString( "diphthongMorph", diphthongMorphSEP2, "morphology", false ) ; } ; String stressedVowelMorph = &stressedMorph vowelMorphSEP1:vowelMorph { yyValue = makeString( "vowelMorph", vowelMorphSEP1, "morphology", false ) ; } / vowelMorphSEP2:vowelMorph &stressMorph { yyValue = makeString( "vowelMorph", vowelMorphSEP2, "morphology", false ) ; } ; String unstressedSyllableMorph = !stressedMorph syllableMorphSEP1:syllableMorph !stressMorph { yyValue = makeString( "syllableMorph", syllableMorphSEP1, "morphology", false ) ; } / consonantalSyllableMorphSEP2:consonantalSyllableMorph { yyValue = makeString( "consonantalSyllableMorph", consonantalSyllableMorphSEP2, "morphology", false ) ; } ; String unstressedDiphthongMorph = !stressedMorph diphthongMorphSEP1:diphthongMorph !stressMorph { yyValue = makeString( "diphthongMorph", diphthongMorphSEP1, "morphology", false ) ; } ; String unstressedVowelMorph = !stressedMorph vowelMorphSEP1:vowelMorph !stressMorph { yyValue = makeString( "vowelMorph", vowelMorphSEP1, "morphology", false ) ; } ; String stressMorph = consonantMorphSEP1:consonantMorph* yMorphSEP2:yMorph? syllableMorphSEP3:syllableMorph pauseMorphSEP4:pauseMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "yMorph", yMorphSEP2, "morphology", false ) + makeString( "syllableMorph", syllableMorphSEP3, "morphology", false ) + makeString( "pauseMorph", pauseMorphSEP4, "morphology", false ) ; } ; String stressedMorph = onsetMorphSEP1:onsetMorph commaMorphSEP2:commaMorph* SQUARESEP3:[AEIOU] { yyValue = makeString( "onsetMorph", onsetMorphSEP1, "morphology", false ) + makeString( "commaMorph", commaMorphSEP2, "morphology", false ) + makeString( "SQUARE", SQUARESEP3, "parserParen", false ) ; } ; String anySyllableMorph = onsetMorphSEP1:onsetMorph nucleusMorphSEP2:nucleusMorph codaMorphSEP3:codaMorph? { yyValue = makeString( "onsetMorph", onsetMorphSEP1, "morphology", false ) + makeString( "nucleusMorph", nucleusMorphSEP2, "morphology", false ) + makeString( "codaMorph", codaMorphSEP3, "morphology", false ) ; } / consonantalSyllableMorphSEP4:consonantalSyllableMorph { yyValue = makeString( "consonantalSyllableMorph", consonantalSyllableMorphSEP4, "morphology", false ) ; } ; String syllableMorph = onsetMorphSEP1:onsetMorph !yMorph nucleusMorphSEP2:nucleusMorph codaMorphSEP3:codaMorph? { yyValue = makeString( "onsetMorph", onsetMorphSEP1, "morphology", false ) + makeString( "nucleusMorph", nucleusMorphSEP2, "morphology", false ) + makeString( "codaMorph", codaMorphSEP3, "morphology", false ) ; } ; String consonantalSyllableMorph = consonantMorphSEP1:consonantMorph syllabicMorphSEP2:syllabicMorph &(consonantalSyllableMorph / onsetMorph) PARSERparen3:(consonantMorphSEP1:consonantMorph &spacesMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) ; } )? { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "syllabicMorph", syllabicMorphSEP2, "morphology", false ) + makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) ; } ; String codaMorph = !anySyllableMorph consonantMorphSEP1:consonantMorph &anySyllableMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) ; } / syllabicMorphSEP2:syllabicMorph? consonantMorphSEP3:consonantMorph? &pauseMorph { yyValue = makeString( "syllabicMorph", syllabicMorphSEP2, "morphology", false ) + makeString( "consonantMorph", consonantMorphSEP3, "morphology", false ) ; } ; String onsetMorph = hMorphSEP1:hMorph { yyValue = makeString( "hMorph", hMorphSEP1, "morphology", false ) ; } / consonantMorphSEP2:consonantMorph? glideMorphSEP3:glideMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) + makeString( "glideMorph", glideMorphSEP3, "morphology", false ) ; } / initialMorphSEP4:initialMorph { yyValue = makeString( "initialMorph", initialMorphSEP4, "morphology", false ) ; } ; String nucleusMorph = vowelMorphSEP1:vowelMorph { yyValue = makeString( "vowelMorph", vowelMorphSEP1, "morphology", false ) ; } / diphthongMorphSEP2:diphthongMorph { yyValue = makeString( "diphthongMorph", diphthongMorphSEP2, "morphology", false ) ; } / yMorphSEP3:yMorph !nucleusMorph { yyValue = makeString( "yMorph", yMorphSEP3, "morphology", false ) ; } ; //----------------------------------------------------------------- String glideMorph = PARSERparen1:(iMorphSEP1:iMorph { yyValue = makeString( "iMorph", iMorphSEP1, "morphology", false ) ; } / uMorphSEP2:uMorph { yyValue = makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &nucleusMorph !glideMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String diphthongMorph = PARSERparen1:(aMorphSEP1:aMorph iMorphSEP2:iMorph { yyValue = makeString( "aMorph", aMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } / aMorphSEP3:aMorph uMorphSEP4:uMorph { yyValue = makeString( "aMorph", aMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / eMorphSEP5:eMorph iMorphSEP6:iMorph { yyValue = makeString( "eMorph", eMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / oMorphSEP7:oMorph iMorphSEP8:iMorph { yyValue = makeString( "oMorph", oMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) ; } ) !nucleusMorph !glideMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String vowelMorph = PARSERparen1:(aMorphSEP1:aMorph { yyValue = makeString( "aMorph", aMorphSEP1, "morphology", false ) ; } / eMorphSEP2:eMorph { yyValue = makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } / iMorphSEP3:iMorph { yyValue = makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / oMorphSEP4:oMorph { yyValue = makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / uMorphSEP5:uMorph { yyValue = makeString( "uMorph", uMorphSEP5, "morphology", false ) ; } ) !nucleusMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String aMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[aA] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String eMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[eE] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String iMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[iI] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String oMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[oO] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String uMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[uU] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String yMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[yY] { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; //------------------------------------------------------------------- String clusterMorph = consonantMorphSEP1:consonantMorph consonantMorphSEP2:consonantMorph+ { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) ; } ; String initialPairMorph = &initialMorph consonantMorphSEP1:consonantMorph consonantMorphSEP2:consonantMorph !consonantMorph { yyValue = makeString( "consonantMorph", consonantMorphSEP1, "morphology", false ) + makeString( "consonantMorph", consonantMorphSEP2, "morphology", false ) ; } ; String initialMorph = PARSERparen1:(affricateMorphSEP1:affricateMorph { yyValue = makeString( "affricateMorph", affricateMorphSEP1, "morphology", false ) ; } / sibilantMorphSEP2:sibilantMorph? otherMorphSEP3:otherMorph? liquidMorphSEP4:liquidMorph? { yyValue = makeString( "sibilantMorph", sibilantMorphSEP2, "morphology", false ) + makeString( "otherMorph", otherMorphSEP3, "morphology", false ) + makeString( "liquidMorph", liquidMorphSEP4, "morphology", false ) ; } ) !consonantMorph !glideMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String affricateMorph = tMorphSEP1:tMorph cMorphSEP2:cMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "cMorph", cMorphSEP2, "morphology", false ) ; } / tMorphSEP3:tMorph sMorphSEP4:sMorph { yyValue = makeString( "tMorph", tMorphSEP3, "morphology", false ) + makeString( "sMorph", sMorphSEP4, "morphology", false ) ; } / dMorphSEP5:dMorph jMorphSEP6:jMorph { yyValue = makeString( "dMorph", dMorphSEP5, "morphology", false ) + makeString( "jMorph", jMorphSEP6, "morphology", false ) ; } / dMorphSEP7:dMorph zMorphSEP8:zMorph { yyValue = makeString( "dMorph", dMorphSEP7, "morphology", false ) + makeString( "zMorph", zMorphSEP8, "morphology", false ) ; } ; String liquidMorph = lMorphSEP1:lMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) ; } / rMorphSEP2:rMorph { yyValue = makeString( "rMorph", rMorphSEP2, "morphology", false ) ; } ; String otherMorph = pMorphSEP1:pMorph { yyValue = makeString( "pMorph", pMorphSEP1, "morphology", false ) ; } / tMorphSEP2:tMorph !lMorph { yyValue = makeString( "tMorph", tMorphSEP2, "morphology", false ) ; } / kMorphSEP3:kMorph { yyValue = makeString( "kMorph", kMorphSEP3, "morphology", false ) ; } / fMorphSEP4:fMorph { yyValue = makeString( "fMorph", fMorphSEP4, "morphology", false ) ; } / xMorphSEP5:xMorph { yyValue = makeString( "xMorph", xMorphSEP5, "morphology", false ) ; } / bMorphSEP6:bMorph { yyValue = makeString( "bMorph", bMorphSEP6, "morphology", false ) ; } / dMorphSEP7:dMorph !lMorph { yyValue = makeString( "dMorph", dMorphSEP7, "morphology", false ) ; } / gMorphSEP8:gMorph { yyValue = makeString( "gMorph", gMorphSEP8, "morphology", false ) ; } / vMorphSEP9:vMorph { yyValue = makeString( "vMorph", vMorphSEP9, "morphology", false ) ; } / mMorphSEP10:mMorph { yyValue = makeString( "mMorph", mMorphSEP10, "morphology", false ) ; } / nMorphSEP11:nMorph !liquidMorph { yyValue = makeString( "nMorph", nMorphSEP11, "morphology", false ) ; } ; String sibilantMorph = cMorphSEP1:cMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) ; } / sMorphSEP2:sMorph !xMorph { yyValue = makeString( "sMorph", sMorphSEP2, "morphology", false ) ; } / PARSERparen3:(jMorphSEP1:jMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) ; } / zMorphSEP2:zMorph { yyValue = makeString( "zMorph", zMorphSEP2, "morphology", false ) ; } ) !nMorph !liquidMorph { yyValue = makeString( "PARSERparen3", PARSERparen3, "parserParen", false ) ; } ; String consonantMorph = voicedMorphSEP1:voicedMorph { yyValue = makeString( "voicedMorph", voicedMorphSEP1, "morphology", false ) ; } / unvoicedMorphSEP2:unvoicedMorph { yyValue = makeString( "unvoicedMorph", unvoicedMorphSEP2, "morphology", false ) ; } / syllabicMorphSEP3:syllabicMorph { yyValue = makeString( "syllabicMorph", syllabicMorphSEP3, "morphology", false ) ; } ; String syllabicMorph = lMorphSEP1:lMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) ; } / mMorphSEP2:mMorph { yyValue = makeString( "mMorph", mMorphSEP2, "morphology", false ) ; } / nMorphSEP3:nMorph { yyValue = makeString( "nMorph", nMorphSEP3, "morphology", false ) ; } / rMorphSEP4:rMorph { yyValue = makeString( "rMorph", rMorphSEP4, "morphology", false ) ; } ; String voicedMorph = bMorphSEP1:bMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) ; } / dMorphSEP2:dMorph { yyValue = makeString( "dMorph", dMorphSEP2, "morphology", false ) ; } / gMorphSEP3:gMorph { yyValue = makeString( "gMorph", gMorphSEP3, "morphology", false ) ; } / jMorphSEP4:jMorph { yyValue = makeString( "jMorph", jMorphSEP4, "morphology", false ) ; } / vMorphSEP5:vMorph { yyValue = makeString( "vMorph", vMorphSEP5, "morphology", false ) ; } / zMorphSEP6:zMorph { yyValue = makeString( "zMorph", zMorphSEP6, "morphology", false ) ; } ; String unvoicedMorph = cMorphSEP1:cMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) ; } / fMorphSEP2:fMorph { yyValue = makeString( "fMorph", fMorphSEP2, "morphology", false ) ; } / kMorphSEP3:kMorph { yyValue = makeString( "kMorph", kMorphSEP3, "morphology", false ) ; } / pMorphSEP4:pMorph { yyValue = makeString( "pMorph", pMorphSEP4, "morphology", false ) ; } / sMorphSEP5:sMorph { yyValue = makeString( "sMorph", sMorphSEP5, "morphology", false ) ; } / tMorphSEP6:tMorph { yyValue = makeString( "tMorph", tMorphSEP6, "morphology", false ) ; } / xMorphSEP7:xMorph { yyValue = makeString( "xMorph", xMorphSEP7, "morphology", false ) ; } ; String lMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[lL] !hMorph !lMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String mMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[mM] !hMorph !mMorph !zMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String nMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[nN] !hMorph !nMorph !affricateMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String rMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[rR] !hMorph !rMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String bMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[bB] !hMorph !bMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String dMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[dD] !hMorph !dMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String gMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[gG] !hMorph !gMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String vMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[vV] !hMorph !vMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String jMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[jJ] !hMorph !jMorph !zMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String zMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[zZ] !hMorph !zMorph !jMorph !unvoicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String sMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[sS] !hMorph !sMorph !cMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String cMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[cC] !hMorph !cMorph !sMorph !xMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String xMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[xX] !hMorph !xMorph !cMorph !kMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String kMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[kK] !hMorph !kMorph !xMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String fMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[fF] !hMorph !fMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String pMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[pP] !hMorph !pMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String tMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[tT] !hMorph !tMorph !voicedMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String hMorph = commaMorphSEP1:commaMorph* SQUARESEP2:['h] &nucleusMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; //------------------------------------------------------------------- String digitMorph = commaMorphSEP1:commaMorph* SQUARESEP2:[0123456789] !hMorph !nucleusMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "SQUARE", SQUARESEP2, "parserParen", false ) ; } ; String postWordMorph = pauseMorphSEP1:pauseMorph { yyValue = makeString( "pauseMorph", pauseMorphSEP1, "morphology", false ) ; } / !nucleusMorph lojbanWordMorphSEP2:lojbanWordMorph { yyValue = makeString( "lojbanWordMorph", lojbanWordMorphSEP2, "morphology", false ) ; } ; String pauseMorph = commaMorphSEP1:commaMorph* spaceCharMorphSEP2:spaceCharMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "spaceCharMorph", spaceCharMorphSEP2, "morphology", false ) ; } / EOFMorphSEP3:EOFMorph { yyValue = makeString( "EOFMorph", EOFMorphSEP3, "morphology", false ) ; } ; String EOFMorph = commaMorphSEP1:commaMorph* !_ { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) ; } ; String commaMorph = SQUARESEP1:[,] { yyValue = makeString( "SQUARE", SQUARESEP1, "parserParen", false ) ; } ; String nonLojbanWordMorph = !lojbanWordMorph nonSpaceMorphSEP1:nonSpaceMorph+ { yyValue = makeString( "nonSpaceMorph", nonSpaceMorphSEP1, "morphology", false ) ; } ; transient String nonSpaceMorph = !spaceCharMorph _; transient String spaceCharMorph = [.\t\n\r?!\u0020]; //------------------------------------------------------------------- String spacesMorph = !YMorph initialSpacesMorphSEP1:initialSpacesMorph { yyValue = makeString( "initialSpacesMorph", initialSpacesMorphSEP1, "morphology", false ) ; } ; String initialSpacesMorph = PARSERparen1:(commaMorphSEP1:commaMorph* spaceCharMorphSEP2:spaceCharMorph { yyValue = makeString( "commaMorph", commaMorphSEP1, "morphology", false ) + makeString( "spaceCharMorph", spaceCharMorphSEP2, "morphology", false ) ; } / !ybuMorph YMorphSEP3:YMorph { yyValue = makeString( "YMorph", YMorphSEP3, "morphology", false ) ; } )+ EOFMorphSEP2:EOFMorph? { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) + makeString( "EOFMorph", EOFMorphSEP2, "morphology", false ) ; } / EOFMorphSEP3:EOFMorph { yyValue = makeString( "EOFMorph", EOFMorphSEP3, "morphology", false ) ; } ; String ybuMorph = YMorphSEP1:YMorph spaceCharMorphSEP2:spaceCharMorph* BUMorphSEP3:BUMorph { yyValue = makeString( "YMorph", YMorphSEP1, "morphology", false ) + makeString( "spaceCharMorph", spaceCharMorphSEP2, "morphology", false ) + makeString( "BUMorph", BUMorphSEP3, "morphology", false ) ; } ; String lujvoMorph = !gismuMorph !fuhivlaMorph brivlaMorphSEP1:brivlaMorph { yyValue = makeString( "brivlaMorph", brivlaMorphSEP1, "morphology", false ) ; } ; //------------------------------------------------------------------- String AMorph = &cmavoMorph PARSERparen1:( aMorphSEP1:aMorph { yyValue = makeString( "aMorph", aMorphSEP1, "morphology", false ) ; } / eMorphSEP2:eMorph { yyValue = makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } / jMorphSEP3:jMorph iMorphSEP4:iMorph { yyValue = makeString( "jMorph", jMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / oMorphSEP5:oMorph { yyValue = makeString( "oMorph", oMorphSEP5, "morphology", false ) ; } / uMorphSEP6:uMorph { yyValue = makeString( "uMorph", uMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BAIMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph uMorphSEP2:uMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / sMorphSEP5:sMorph iMorphSEP6:iMorph hMorphSEP7:hMorph uMorphSEP8:uMorph { yyValue = makeString( "sMorph", sMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "uMorph", uMorphSEP8, "morphology", false ) ; } / zMorphSEP9:zMorph aMorphSEP10:aMorph uMorphSEP11:uMorph { yyValue = makeString( "zMorph", zMorphSEP9, "morphology", false ) + makeString( "aMorph", aMorphSEP10, "morphology", false ) + makeString( "uMorph", uMorphSEP11, "morphology", false ) ; } / kMorphSEP12:kMorph iMorphSEP13:iMorph hMorphSEP14:hMorph iMorphSEP15:iMorph { yyValue = makeString( "kMorph", kMorphSEP12, "morphology", false ) + makeString( "iMorph", iMorphSEP13, "morphology", false ) + makeString( "hMorph", hMorphSEP14, "morphology", false ) + makeString( "iMorph", iMorphSEP15, "morphology", false ) ; } / dMorphSEP16:dMorph uMorphSEP17:uMorph hMorphSEP18:hMorph iMorphSEP19:iMorph { yyValue = makeString( "dMorph", dMorphSEP16, "morphology", false ) + makeString( "uMorph", uMorphSEP17, "morphology", false ) + makeString( "hMorph", hMorphSEP18, "morphology", false ) + makeString( "iMorph", iMorphSEP19, "morphology", false ) ; } / cMorphSEP20:cMorph uMorphSEP21:uMorph hMorphSEP22:hMorph uMorphSEP23:uMorph { yyValue = makeString( "cMorph", cMorphSEP20, "morphology", false ) + makeString( "uMorph", uMorphSEP21, "morphology", false ) + makeString( "hMorph", hMorphSEP22, "morphology", false ) + makeString( "uMorph", uMorphSEP23, "morphology", false ) ; } / tMorphSEP24:tMorph uMorphSEP25:uMorph hMorphSEP26:hMorph iMorphSEP27:iMorph { yyValue = makeString( "tMorph", tMorphSEP24, "morphology", false ) + makeString( "uMorph", uMorphSEP25, "morphology", false ) + makeString( "hMorph", hMorphSEP26, "morphology", false ) + makeString( "iMorph", iMorphSEP27, "morphology", false ) ; } / tMorphSEP28:tMorph iMorphSEP29:iMorph hMorphSEP30:hMorph uMorphSEP31:uMorph { yyValue = makeString( "tMorph", tMorphSEP28, "morphology", false ) + makeString( "iMorph", iMorphSEP29, "morphology", false ) + makeString( "hMorph", hMorphSEP30, "morphology", false ) + makeString( "uMorph", uMorphSEP31, "morphology", false ) ; } / dMorphSEP32:dMorph iMorphSEP33:iMorph hMorphSEP34:hMorph oMorphSEP35:oMorph { yyValue = makeString( "dMorph", dMorphSEP32, "morphology", false ) + makeString( "iMorph", iMorphSEP33, "morphology", false ) + makeString( "hMorph", hMorphSEP34, "morphology", false ) + makeString( "oMorph", oMorphSEP35, "morphology", false ) ; } / jMorphSEP36:jMorph iMorphSEP37:iMorph hMorphSEP38:hMorph uMorphSEP39:uMorph { yyValue = makeString( "jMorph", jMorphSEP36, "morphology", false ) + makeString( "iMorph", iMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "uMorph", uMorphSEP39, "morphology", false ) ; } / rMorphSEP40:rMorph iMorphSEP41:iMorph hMorphSEP42:hMorph aMorphSEP43:aMorph { yyValue = makeString( "rMorph", rMorphSEP40, "morphology", false ) + makeString( "iMorph", iMorphSEP41, "morphology", false ) + makeString( "hMorph", hMorphSEP42, "morphology", false ) + makeString( "aMorph", aMorphSEP43, "morphology", false ) ; } / nMorphSEP44:nMorph iMorphSEP45:iMorph hMorphSEP46:hMorph iMorphSEP47:iMorph { yyValue = makeString( "nMorph", nMorphSEP44, "morphology", false ) + makeString( "iMorph", iMorphSEP45, "morphology", false ) + makeString( "hMorph", hMorphSEP46, "morphology", false ) + makeString( "iMorph", iMorphSEP47, "morphology", false ) ; } / mMorphSEP48:mMorph uMorphSEP49:uMorph hMorphSEP50:hMorph iMorphSEP51:iMorph { yyValue = makeString( "mMorph", mMorphSEP48, "morphology", false ) + makeString( "uMorph", uMorphSEP49, "morphology", false ) + makeString( "hMorph", hMorphSEP50, "morphology", false ) + makeString( "iMorph", iMorphSEP51, "morphology", false ) ; } / kMorphSEP52:kMorph iMorphSEP53:iMorph hMorphSEP54:hMorph uMorphSEP55:uMorph { yyValue = makeString( "kMorph", kMorphSEP52, "morphology", false ) + makeString( "iMorph", iMorphSEP53, "morphology", false ) + makeString( "hMorph", hMorphSEP54, "morphology", false ) + makeString( "uMorph", uMorphSEP55, "morphology", false ) ; } / vMorphSEP56:vMorph aMorphSEP57:aMorph hMorphSEP58:hMorph uMorphSEP59:uMorph { yyValue = makeString( "vMorph", vMorphSEP56, "morphology", false ) + makeString( "aMorph", aMorphSEP57, "morphology", false ) + makeString( "hMorph", hMorphSEP58, "morphology", false ) + makeString( "uMorph", uMorphSEP59, "morphology", false ) ; } / kMorphSEP60:kMorph oMorphSEP61:oMorph iMorphSEP62:iMorph { yyValue = makeString( "kMorph", kMorphSEP60, "morphology", false ) + makeString( "oMorph", oMorphSEP61, "morphology", false ) + makeString( "iMorph", iMorphSEP62, "morphology", false ) ; } / cMorphSEP63:cMorph aMorphSEP64:aMorph hMorphSEP65:hMorph iMorphSEP66:iMorph { yyValue = makeString( "cMorph", cMorphSEP63, "morphology", false ) + makeString( "aMorph", aMorphSEP64, "morphology", false ) + makeString( "hMorph", hMorphSEP65, "morphology", false ) + makeString( "iMorph", iMorphSEP66, "morphology", false ) ; } / tMorphSEP67:tMorph aMorphSEP68:aMorph hMorphSEP69:hMorph iMorphSEP70:iMorph { yyValue = makeString( "tMorph", tMorphSEP67, "morphology", false ) + makeString( "aMorph", aMorphSEP68, "morphology", false ) + makeString( "hMorph", hMorphSEP69, "morphology", false ) + makeString( "iMorph", iMorphSEP70, "morphology", false ) ; } / pMorphSEP71:pMorph uMorphSEP72:uMorph hMorphSEP73:hMorph eMorphSEP74:eMorph { yyValue = makeString( "pMorph", pMorphSEP71, "morphology", false ) + makeString( "uMorph", uMorphSEP72, "morphology", false ) + makeString( "hMorph", hMorphSEP73, "morphology", false ) + makeString( "eMorph", eMorphSEP74, "morphology", false ) ; } / jMorphSEP75:jMorph aMorphSEP76:aMorph hMorphSEP77:hMorph iMorphSEP78:iMorph { yyValue = makeString( "jMorph", jMorphSEP75, "morphology", false ) + makeString( "aMorph", aMorphSEP76, "morphology", false ) + makeString( "hMorph", hMorphSEP77, "morphology", false ) + makeString( "iMorph", iMorphSEP78, "morphology", false ) ; } / kMorphSEP79:kMorph aMorphSEP80:aMorph iMorphSEP81:iMorph { yyValue = makeString( "kMorph", kMorphSEP79, "morphology", false ) + makeString( "aMorph", aMorphSEP80, "morphology", false ) + makeString( "iMorph", iMorphSEP81, "morphology", false ) ; } / bMorphSEP82:bMorph aMorphSEP83:aMorph iMorphSEP84:iMorph { yyValue = makeString( "bMorph", bMorphSEP82, "morphology", false ) + makeString( "aMorph", aMorphSEP83, "morphology", false ) + makeString( "iMorph", iMorphSEP84, "morphology", false ) ; } / fMorphSEP85:fMorph iMorphSEP86:iMorph hMorphSEP87:hMorph eMorphSEP88:eMorph { yyValue = makeString( "fMorph", fMorphSEP85, "morphology", false ) + makeString( "iMorph", iMorphSEP86, "morphology", false ) + makeString( "hMorph", hMorphSEP87, "morphology", false ) + makeString( "eMorph", eMorphSEP88, "morphology", false ) ; } / dMorphSEP89:dMorph eMorphSEP90:eMorph hMorphSEP91:hMorph iMorphSEP92:iMorph { yyValue = makeString( "dMorph", dMorphSEP89, "morphology", false ) + makeString( "eMorph", eMorphSEP90, "morphology", false ) + makeString( "hMorph", hMorphSEP91, "morphology", false ) + makeString( "iMorph", iMorphSEP92, "morphology", false ) ; } / cMorphSEP93:cMorph iMorphSEP94:iMorph hMorphSEP95:hMorph oMorphSEP96:oMorph { yyValue = makeString( "cMorph", cMorphSEP93, "morphology", false ) + makeString( "iMorph", iMorphSEP94, "morphology", false ) + makeString( "hMorph", hMorphSEP95, "morphology", false ) + makeString( "oMorph", oMorphSEP96, "morphology", false ) ; } / mMorphSEP97:mMorph aMorphSEP98:aMorph uMorphSEP99:uMorph { yyValue = makeString( "mMorph", mMorphSEP97, "morphology", false ) + makeString( "aMorph", aMorphSEP98, "morphology", false ) + makeString( "uMorph", uMorphSEP99, "morphology", false ) ; } / mMorphSEP100:mMorph uMorphSEP101:uMorph hMorphSEP102:hMorph uMorphSEP103:uMorph { yyValue = makeString( "mMorph", mMorphSEP100, "morphology", false ) + makeString( "uMorph", uMorphSEP101, "morphology", false ) + makeString( "hMorph", hMorphSEP102, "morphology", false ) + makeString( "uMorph", uMorphSEP103, "morphology", false ) ; } / rMorphSEP104:rMorph iMorphSEP105:iMorph hMorphSEP106:hMorph iMorphSEP107:iMorph { yyValue = makeString( "rMorph", rMorphSEP104, "morphology", false ) + makeString( "iMorph", iMorphSEP105, "morphology", false ) + makeString( "hMorph", hMorphSEP106, "morphology", false ) + makeString( "iMorph", iMorphSEP107, "morphology", false ) ; } / rMorphSEP108:rMorph aMorphSEP109:aMorph hMorphSEP110:hMorph iMorphSEP111:iMorph { yyValue = makeString( "rMorph", rMorphSEP108, "morphology", false ) + makeString( "aMorph", aMorphSEP109, "morphology", false ) + makeString( "hMorph", hMorphSEP110, "morphology", false ) + makeString( "iMorph", iMorphSEP111, "morphology", false ) ; } / kMorphSEP112:kMorph aMorphSEP113:aMorph hMorphSEP114:hMorph aMorphSEP115:aMorph { yyValue = makeString( "kMorph", kMorphSEP112, "morphology", false ) + makeString( "aMorph", aMorphSEP113, "morphology", false ) + makeString( "hMorph", hMorphSEP114, "morphology", false ) + makeString( "aMorph", aMorphSEP115, "morphology", false ) ; } / pMorphSEP116:pMorph aMorphSEP117:aMorph hMorphSEP118:hMorph uMorphSEP119:uMorph { yyValue = makeString( "pMorph", pMorphSEP116, "morphology", false ) + makeString( "aMorph", aMorphSEP117, "morphology", false ) + makeString( "hMorph", hMorphSEP118, "morphology", false ) + makeString( "uMorph", uMorphSEP119, "morphology", false ) ; } / pMorphSEP120:pMorph aMorphSEP121:aMorph hMorphSEP122:hMorph aMorphSEP123:aMorph { yyValue = makeString( "pMorph", pMorphSEP120, "morphology", false ) + makeString( "aMorph", aMorphSEP121, "morphology", false ) + makeString( "hMorph", hMorphSEP122, "morphology", false ) + makeString( "aMorph", aMorphSEP123, "morphology", false ) ; } / lMorphSEP124:lMorph eMorphSEP125:eMorph hMorphSEP126:hMorph aMorphSEP127:aMorph { yyValue = makeString( "lMorph", lMorphSEP124, "morphology", false ) + makeString( "eMorph", eMorphSEP125, "morphology", false ) + makeString( "hMorph", hMorphSEP126, "morphology", false ) + makeString( "aMorph", aMorphSEP127, "morphology", false ) ; } / kMorphSEP128:kMorph uMorphSEP129:uMorph hMorphSEP130:hMorph uMorphSEP131:uMorph { yyValue = makeString( "kMorph", kMorphSEP128, "morphology", false ) + makeString( "uMorph", uMorphSEP129, "morphology", false ) + makeString( "hMorph", hMorphSEP130, "morphology", false ) + makeString( "uMorph", uMorphSEP131, "morphology", false ) ; } / tMorphSEP132:tMorph aMorphSEP133:aMorph iMorphSEP134:iMorph { yyValue = makeString( "tMorph", tMorphSEP132, "morphology", false ) + makeString( "aMorph", aMorphSEP133, "morphology", false ) + makeString( "iMorph", iMorphSEP134, "morphology", false ) ; } / bMorphSEP135:bMorph aMorphSEP136:aMorph uMorphSEP137:uMorph { yyValue = makeString( "bMorph", bMorphSEP135, "morphology", false ) + makeString( "aMorph", aMorphSEP136, "morphology", false ) + makeString( "uMorph", uMorphSEP137, "morphology", false ) ; } / mMorphSEP138:mMorph aMorphSEP139:aMorph hMorphSEP140:hMorph iMorphSEP141:iMorph { yyValue = makeString( "mMorph", mMorphSEP138, "morphology", false ) + makeString( "aMorph", aMorphSEP139, "morphology", false ) + makeString( "hMorph", hMorphSEP140, "morphology", false ) + makeString( "iMorph", iMorphSEP141, "morphology", false ) ; } / cMorphSEP142:cMorph iMorphSEP143:iMorph hMorphSEP144:hMorph eMorphSEP145:eMorph { yyValue = makeString( "cMorph", cMorphSEP142, "morphology", false ) + makeString( "iMorph", iMorphSEP143, "morphology", false ) + makeString( "hMorph", hMorphSEP144, "morphology", false ) + makeString( "eMorph", eMorphSEP145, "morphology", false ) ; } / fMorphSEP146:fMorph aMorphSEP147:aMorph uMorphSEP148:uMorph { yyValue = makeString( "fMorph", fMorphSEP146, "morphology", false ) + makeString( "aMorph", aMorphSEP147, "morphology", false ) + makeString( "uMorph", uMorphSEP148, "morphology", false ) ; } / pMorphSEP149:pMorph oMorphSEP150:oMorph hMorphSEP151:hMorph iMorphSEP152:iMorph { yyValue = makeString( "pMorph", pMorphSEP149, "morphology", false ) + makeString( "oMorph", oMorphSEP150, "morphology", false ) + makeString( "hMorph", hMorphSEP151, "morphology", false ) + makeString( "iMorph", iMorphSEP152, "morphology", false ) ; } / cMorphSEP153:cMorph aMorphSEP154:aMorph uMorphSEP155:uMorph { yyValue = makeString( "cMorph", cMorphSEP153, "morphology", false ) + makeString( "aMorph", aMorphSEP154, "morphology", false ) + makeString( "uMorph", uMorphSEP155, "morphology", false ) ; } / mMorphSEP156:mMorph aMorphSEP157:aMorph hMorphSEP158:hMorph eMorphSEP159:eMorph { yyValue = makeString( "mMorph", mMorphSEP156, "morphology", false ) + makeString( "aMorph", aMorphSEP157, "morphology", false ) + makeString( "hMorph", hMorphSEP158, "morphology", false ) + makeString( "eMorph", eMorphSEP159, "morphology", false ) ; } / cMorphSEP160:cMorph iMorphSEP161:iMorph hMorphSEP162:hMorph uMorphSEP163:uMorph { yyValue = makeString( "cMorph", cMorphSEP160, "morphology", false ) + makeString( "iMorph", iMorphSEP161, "morphology", false ) + makeString( "hMorph", hMorphSEP162, "morphology", false ) + makeString( "uMorph", uMorphSEP163, "morphology", false ) ; } / rMorphSEP164:rMorph aMorphSEP165:aMorph hMorphSEP166:hMorph aMorphSEP167:aMorph { yyValue = makeString( "rMorph", rMorphSEP164, "morphology", false ) + makeString( "aMorph", aMorphSEP165, "morphology", false ) + makeString( "hMorph", hMorphSEP166, "morphology", false ) + makeString( "aMorph", aMorphSEP167, "morphology", false ) ; } / pMorphSEP168:pMorph uMorphSEP169:uMorph hMorphSEP170:hMorph aMorphSEP171:aMorph { yyValue = makeString( "pMorph", pMorphSEP168, "morphology", false ) + makeString( "uMorph", uMorphSEP169, "morphology", false ) + makeString( "hMorph", hMorphSEP170, "morphology", false ) + makeString( "aMorph", aMorphSEP171, "morphology", false ) ; } / lMorphSEP172:lMorph iMorphSEP173:iMorph hMorphSEP174:hMorph eMorphSEP175:eMorph { yyValue = makeString( "lMorph", lMorphSEP172, "morphology", false ) + makeString( "iMorph", iMorphSEP173, "morphology", false ) + makeString( "hMorph", hMorphSEP174, "morphology", false ) + makeString( "eMorph", eMorphSEP175, "morphology", false ) ; } / lMorphSEP176:lMorph aMorphSEP177:aMorph hMorphSEP178:hMorph uMorphSEP179:uMorph { yyValue = makeString( "lMorph", lMorphSEP176, "morphology", false ) + makeString( "aMorph", aMorphSEP177, "morphology", false ) + makeString( "hMorph", hMorphSEP178, "morphology", false ) + makeString( "uMorph", uMorphSEP179, "morphology", false ) ; } / bMorphSEP180:bMorph aMorphSEP181:aMorph hMorphSEP182:hMorph iMorphSEP183:iMorph { yyValue = makeString( "bMorph", bMorphSEP180, "morphology", false ) + makeString( "aMorph", aMorphSEP181, "morphology", false ) + makeString( "hMorph", hMorphSEP182, "morphology", false ) + makeString( "iMorph", iMorphSEP183, "morphology", false ) ; } / kMorphSEP184:kMorph aMorphSEP185:aMorph hMorphSEP186:hMorph iMorphSEP187:iMorph { yyValue = makeString( "kMorph", kMorphSEP184, "morphology", false ) + makeString( "aMorph", aMorphSEP185, "morphology", false ) + makeString( "hMorph", hMorphSEP186, "morphology", false ) + makeString( "iMorph", iMorphSEP187, "morphology", false ) ; } / sMorphSEP188:sMorph aMorphSEP189:aMorph uMorphSEP190:uMorph { yyValue = makeString( "sMorph", sMorphSEP188, "morphology", false ) + makeString( "aMorph", aMorphSEP189, "morphology", false ) + makeString( "uMorph", uMorphSEP190, "morphology", false ) ; } / fMorphSEP191:fMorph aMorphSEP192:aMorph hMorphSEP193:hMorph eMorphSEP194:eMorph { yyValue = makeString( "fMorph", fMorphSEP191, "morphology", false ) + makeString( "aMorph", aMorphSEP192, "morphology", false ) + makeString( "hMorph", hMorphSEP193, "morphology", false ) + makeString( "eMorph", eMorphSEP194, "morphology", false ) ; } / bMorphSEP195:bMorph eMorphSEP196:eMorph hMorphSEP197:hMorph iMorphSEP198:iMorph { yyValue = makeString( "bMorph", bMorphSEP195, "morphology", false ) + makeString( "eMorph", eMorphSEP196, "morphology", false ) + makeString( "hMorph", hMorphSEP197, "morphology", false ) + makeString( "iMorph", iMorphSEP198, "morphology", false ) ; } / tMorphSEP199:tMorph iMorphSEP200:iMorph hMorphSEP201:hMorph iMorphSEP202:iMorph { yyValue = makeString( "tMorph", tMorphSEP199, "morphology", false ) + makeString( "iMorph", iMorphSEP200, "morphology", false ) + makeString( "hMorph", hMorphSEP201, "morphology", false ) + makeString( "iMorph", iMorphSEP202, "morphology", false ) ; } / jMorphSEP203:jMorph aMorphSEP204:aMorph hMorphSEP205:hMorph eMorphSEP206:eMorph { yyValue = makeString( "jMorph", jMorphSEP203, "morphology", false ) + makeString( "aMorph", aMorphSEP204, "morphology", false ) + makeString( "hMorph", hMorphSEP205, "morphology", false ) + makeString( "eMorph", eMorphSEP206, "morphology", false ) ; } / gMorphSEP207:gMorph aMorphSEP208:aMorph hMorphSEP209:hMorph aMorphSEP210:aMorph { yyValue = makeString( "gMorph", gMorphSEP207, "morphology", false ) + makeString( "aMorph", aMorphSEP208, "morphology", false ) + makeString( "hMorph", hMorphSEP209, "morphology", false ) + makeString( "aMorph", aMorphSEP210, "morphology", false ) ; } / vMorphSEP211:vMorph aMorphSEP212:aMorph hMorphSEP213:hMorph oMorphSEP214:oMorph { yyValue = makeString( "vMorph", vMorphSEP211, "morphology", false ) + makeString( "aMorph", aMorphSEP212, "morphology", false ) + makeString( "hMorph", hMorphSEP213, "morphology", false ) + makeString( "oMorph", oMorphSEP214, "morphology", false ) ; } / jMorphSEP215:jMorph iMorphSEP216:iMorph hMorphSEP217:hMorph oMorphSEP218:oMorph { yyValue = makeString( "jMorph", jMorphSEP215, "morphology", false ) + makeString( "iMorph", iMorphSEP216, "morphology", false ) + makeString( "hMorph", hMorphSEP217, "morphology", false ) + makeString( "oMorph", oMorphSEP218, "morphology", false ) ; } / mMorphSEP219:mMorph eMorphSEP220:eMorph hMorphSEP221:hMorph aMorphSEP222:aMorph { yyValue = makeString( "mMorph", mMorphSEP219, "morphology", false ) + makeString( "eMorph", eMorphSEP220, "morphology", false ) + makeString( "hMorph", hMorphSEP221, "morphology", false ) + makeString( "aMorph", aMorphSEP222, "morphology", false ) ; } / dMorphSEP223:dMorph oMorphSEP224:oMorph hMorphSEP225:hMorph eMorphSEP226:eMorph { yyValue = makeString( "dMorph", dMorphSEP223, "morphology", false ) + makeString( "oMorph", oMorphSEP224, "morphology", false ) + makeString( "hMorph", hMorphSEP225, "morphology", false ) + makeString( "eMorph", eMorphSEP226, "morphology", false ) ; } / jMorphSEP227:jMorph iMorphSEP228:iMorph hMorphSEP229:hMorph eMorphSEP230:eMorph { yyValue = makeString( "jMorph", jMorphSEP227, "morphology", false ) + makeString( "iMorph", iMorphSEP228, "morphology", false ) + makeString( "hMorph", hMorphSEP229, "morphology", false ) + makeString( "eMorph", eMorphSEP230, "morphology", false ) ; } / pMorphSEP231:pMorph iMorphSEP232:iMorph hMorphSEP233:hMorph oMorphSEP234:oMorph { yyValue = makeString( "pMorph", pMorphSEP231, "morphology", false ) + makeString( "iMorph", iMorphSEP232, "morphology", false ) + makeString( "hMorph", hMorphSEP233, "morphology", false ) + makeString( "oMorph", oMorphSEP234, "morphology", false ) ; } / gMorphSEP235:gMorph aMorphSEP236:aMorph uMorphSEP237:uMorph { yyValue = makeString( "gMorph", gMorphSEP235, "morphology", false ) + makeString( "aMorph", aMorphSEP236, "morphology", false ) + makeString( "uMorph", uMorphSEP237, "morphology", false ) ; } / zMorphSEP238:zMorph uMorphSEP239:uMorph hMorphSEP240:hMorph eMorphSEP241:eMorph { yyValue = makeString( "zMorph", zMorphSEP238, "morphology", false ) + makeString( "uMorph", uMorphSEP239, "morphology", false ) + makeString( "hMorph", hMorphSEP240, "morphology", false ) + makeString( "eMorph", eMorphSEP241, "morphology", false ) ; } / mMorphSEP242:mMorph eMorphSEP243:eMorph hMorphSEP244:hMorph eMorphSEP245:eMorph { yyValue = makeString( "mMorph", mMorphSEP242, "morphology", false ) + makeString( "eMorph", eMorphSEP243, "morphology", false ) + makeString( "hMorph", hMorphSEP244, "morphology", false ) + makeString( "eMorph", eMorphSEP245, "morphology", false ) ; } / rMorphSEP246:rMorph aMorphSEP247:aMorph iMorphSEP248:iMorph { yyValue = makeString( "rMorph", rMorphSEP246, "morphology", false ) + makeString( "aMorph", aMorphSEP247, "morphology", false ) + makeString( "iMorph", iMorphSEP248, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BAhEMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph aMorphSEP2:aMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / zMorphSEP5:zMorph aMorphSEP6:aMorph hMorphSEP7:hMorph eMorphSEP8:eMorph { yyValue = makeString( "zMorph", zMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BEMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph eMorphSEP2:eMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BEIMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BEhOMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph eMorphSEP2:eMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BIhEMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph iMorphSEP2:iMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BIhIMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph iMorphSEP2:iMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / bMorphSEP5:bMorph iMorphSEP6:iMorph hMorphSEP7:hMorph oMorphSEP8:oMorph { yyValue = makeString( "bMorph", bMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } / bMorphSEP9:bMorph iMorphSEP10:iMorph hMorphSEP11:hMorph iMorphSEP12:iMorph { yyValue = makeString( "bMorph", bMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "iMorph", iMorphSEP12, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BOMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph oMorphSEP2:oMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BOIMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BUMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph uMorphSEP2:uMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String BYMorph = ybuMorphSEP1:ybuMorph { yyValue = makeString( "ybuMorph", ybuMorphSEP1, "morphology", false ) ; } / &cmavoMorph PARSERparen2:( jMorphSEP1:jMorph oMorphSEP2:oMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / rMorphSEP5:rMorph uMorphSEP6:uMorph hMorphSEP7:hMorph oMorphSEP8:oMorph { yyValue = makeString( "rMorph", rMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } / gMorphSEP9:gMorph eMorphSEP10:eMorph hMorphSEP11:hMorph oMorphSEP12:oMorph { yyValue = makeString( "gMorph", gMorphSEP9, "morphology", false ) + makeString( "eMorph", eMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) ; } / jMorphSEP13:jMorph eMorphSEP14:eMorph hMorphSEP15:hMorph oMorphSEP16:oMorph { yyValue = makeString( "jMorph", jMorphSEP13, "morphology", false ) + makeString( "eMorph", eMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "oMorph", oMorphSEP16, "morphology", false ) ; } / lMorphSEP17:lMorph oMorphSEP18:oMorph hMorphSEP19:hMorph aMorphSEP20:aMorph { yyValue = makeString( "lMorph", lMorphSEP17, "morphology", false ) + makeString( "oMorph", oMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "aMorph", aMorphSEP20, "morphology", false ) ; } / nMorphSEP21:nMorph aMorphSEP22:aMorph hMorphSEP23:hMorph aMorphSEP24:aMorph { yyValue = makeString( "nMorph", nMorphSEP21, "morphology", false ) + makeString( "aMorph", aMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "aMorph", aMorphSEP24, "morphology", false ) ; } / sMorphSEP25:sMorph eMorphSEP26:eMorph hMorphSEP27:hMorph eMorphSEP28:eMorph { yyValue = makeString( "sMorph", sMorphSEP25, "morphology", false ) + makeString( "eMorph", eMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "eMorph", eMorphSEP28, "morphology", false ) ; } / tMorphSEP29:tMorph oMorphSEP30:oMorph hMorphSEP31:hMorph aMorphSEP32:aMorph { yyValue = makeString( "tMorph", tMorphSEP29, "morphology", false ) + makeString( "oMorph", oMorphSEP30, "morphology", false ) + makeString( "hMorph", hMorphSEP31, "morphology", false ) + makeString( "aMorph", aMorphSEP32, "morphology", false ) ; } / gMorphSEP33:gMorph aMorphSEP34:aMorph hMorphSEP35:hMorph eMorphSEP36:eMorph { yyValue = makeString( "gMorph", gMorphSEP33, "morphology", false ) + makeString( "aMorph", aMorphSEP34, "morphology", false ) + makeString( "hMorph", hMorphSEP35, "morphology", false ) + makeString( "eMorph", eMorphSEP36, "morphology", false ) ; } / yMorphSEP37:yMorph hMorphSEP38:hMorph yMorphSEP39:yMorph { yyValue = makeString( "yMorph", yMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "yMorph", yMorphSEP39, "morphology", false ) ; } / bMorphSEP40:bMorph yMorphSEP41:yMorph { yyValue = makeString( "bMorph", bMorphSEP40, "morphology", false ) + makeString( "yMorph", yMorphSEP41, "morphology", false ) ; } / cMorphSEP42:cMorph yMorphSEP43:yMorph { yyValue = makeString( "cMorph", cMorphSEP42, "morphology", false ) + makeString( "yMorph", yMorphSEP43, "morphology", false ) ; } / dMorphSEP44:dMorph yMorphSEP45:yMorph { yyValue = makeString( "dMorph", dMorphSEP44, "morphology", false ) + makeString( "yMorph", yMorphSEP45, "morphology", false ) ; } / fMorphSEP46:fMorph yMorphSEP47:yMorph { yyValue = makeString( "fMorph", fMorphSEP46, "morphology", false ) + makeString( "yMorph", yMorphSEP47, "morphology", false ) ; } / gMorphSEP48:gMorph yMorphSEP49:yMorph { yyValue = makeString( "gMorph", gMorphSEP48, "morphology", false ) + makeString( "yMorph", yMorphSEP49, "morphology", false ) ; } / jMorphSEP50:jMorph yMorphSEP51:yMorph { yyValue = makeString( "jMorph", jMorphSEP50, "morphology", false ) + makeString( "yMorph", yMorphSEP51, "morphology", false ) ; } / kMorphSEP52:kMorph yMorphSEP53:yMorph { yyValue = makeString( "kMorph", kMorphSEP52, "morphology", false ) + makeString( "yMorph", yMorphSEP53, "morphology", false ) ; } / lMorphSEP54:lMorph yMorphSEP55:yMorph { yyValue = makeString( "lMorph", lMorphSEP54, "morphology", false ) + makeString( "yMorph", yMorphSEP55, "morphology", false ) ; } / mMorphSEP56:mMorph yMorphSEP57:yMorph { yyValue = makeString( "mMorph", mMorphSEP56, "morphology", false ) + makeString( "yMorph", yMorphSEP57, "morphology", false ) ; } / nMorphSEP58:nMorph yMorphSEP59:yMorph { yyValue = makeString( "nMorph", nMorphSEP58, "morphology", false ) + makeString( "yMorph", yMorphSEP59, "morphology", false ) ; } / pMorphSEP60:pMorph yMorphSEP61:yMorph { yyValue = makeString( "pMorph", pMorphSEP60, "morphology", false ) + makeString( "yMorph", yMorphSEP61, "morphology", false ) ; } / rMorphSEP62:rMorph yMorphSEP63:yMorph { yyValue = makeString( "rMorph", rMorphSEP62, "morphology", false ) + makeString( "yMorph", yMorphSEP63, "morphology", false ) ; } / sMorphSEP64:sMorph yMorphSEP65:yMorph { yyValue = makeString( "sMorph", sMorphSEP64, "morphology", false ) + makeString( "yMorph", yMorphSEP65, "morphology", false ) ; } / tMorphSEP66:tMorph yMorphSEP67:yMorph { yyValue = makeString( "tMorph", tMorphSEP66, "morphology", false ) + makeString( "yMorph", yMorphSEP67, "morphology", false ) ; } / vMorphSEP68:vMorph yMorphSEP69:yMorph { yyValue = makeString( "vMorph", vMorphSEP68, "morphology", false ) + makeString( "yMorph", yMorphSEP69, "morphology", false ) ; } / xMorphSEP70:xMorph yMorphSEP71:yMorph { yyValue = makeString( "xMorph", xMorphSEP70, "morphology", false ) + makeString( "yMorph", yMorphSEP71, "morphology", false ) ; } / zMorphSEP72:zMorph yMorphSEP73:yMorph { yyValue = makeString( "zMorph", zMorphSEP72, "morphology", false ) + makeString( "yMorph", yMorphSEP73, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen2", PARSERparen2, "parserParen", false ) ; } ; String CAhAMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph aMorphSEP2:aMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / pMorphSEP5:pMorph uMorphSEP6:uMorph hMorphSEP7:hMorph iMorphSEP8:iMorph { yyValue = makeString( "pMorph", pMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) ; } / nMorphSEP9:nMorph uMorphSEP10:uMorph hMorphSEP11:hMorph oMorphSEP12:oMorph { yyValue = makeString( "nMorph", nMorphSEP9, "morphology", false ) + makeString( "uMorph", uMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) ; } / kMorphSEP13:kMorph aMorphSEP14:aMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "kMorph", kMorphSEP13, "morphology", false ) + makeString( "aMorph", aMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String CAIMorph = &cmavoMorph PARSERparen1:( pMorphSEP1:pMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "pMorph", pMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / cMorphSEP4:cMorph aMorphSEP5:aMorph iMorphSEP6:iMorph { yyValue = makeString( "cMorph", cMorphSEP4, "morphology", false ) + makeString( "aMorph", aMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / cMorphSEP7:cMorph uMorphSEP8:uMorph hMorphSEP9:hMorph iMorphSEP10:iMorph { yyValue = makeString( "cMorph", cMorphSEP7, "morphology", false ) + makeString( "uMorph", uMorphSEP8, "morphology", false ) + makeString( "hMorph", hMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) ; } / sMorphSEP11:sMorph aMorphSEP12:aMorph iMorphSEP13:iMorph { yyValue = makeString( "sMorph", sMorphSEP11, "morphology", false ) + makeString( "aMorph", aMorphSEP12, "morphology", false ) + makeString( "iMorph", iMorphSEP13, "morphology", false ) ; } / rMorphSEP14:rMorph uMorphSEP15:uMorph hMorphSEP16:hMorph eMorphSEP17:eMorph { yyValue = makeString( "rMorph", rMorphSEP14, "morphology", false ) + makeString( "uMorph", uMorphSEP15, "morphology", false ) + makeString( "hMorph", hMorphSEP16, "morphology", false ) + makeString( "eMorph", eMorphSEP17, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String CEIMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String CEhEMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph eMorphSEP2:eMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String COMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph oMorphSEP2:oMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String COIMorph = &cmavoMorph PARSERparen1:( jMorphSEP1:jMorph uMorphSEP2:uMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / cMorphSEP5:cMorph oMorphSEP6:oMorph iMorphSEP7:iMorph { yyValue = makeString( "cMorph", cMorphSEP5, "morphology", false ) + makeString( "oMorph", oMorphSEP6, "morphology", false ) + makeString( "iMorph", iMorphSEP7, "morphology", false ) ; } / fMorphSEP8:fMorph iMorphSEP9:iMorph hMorphSEP10:hMorph iMorphSEP11:iMorph { yyValue = makeString( "fMorph", fMorphSEP8, "morphology", false ) + makeString( "iMorph", iMorphSEP9, "morphology", false ) + makeString( "hMorph", hMorphSEP10, "morphology", false ) + makeString( "iMorph", iMorphSEP11, "morphology", false ) ; } / tMorphSEP12:tMorph aMorphSEP13:aMorph hMorphSEP14:hMorph aMorphSEP15:aMorph { yyValue = makeString( "tMorph", tMorphSEP12, "morphology", false ) + makeString( "aMorph", aMorphSEP13, "morphology", false ) + makeString( "hMorph", hMorphSEP14, "morphology", false ) + makeString( "aMorph", aMorphSEP15, "morphology", false ) ; } / mMorphSEP16:mMorph uMorphSEP17:uMorph hMorphSEP18:hMorph oMorphSEP19:oMorph { yyValue = makeString( "mMorph", mMorphSEP16, "morphology", false ) + makeString( "uMorph", uMorphSEP17, "morphology", false ) + makeString( "hMorph", hMorphSEP18, "morphology", false ) + makeString( "oMorph", oMorphSEP19, "morphology", false ) ; } / fMorphSEP20:fMorph eMorphSEP21:eMorph hMorphSEP22:hMorph oMorphSEP23:oMorph { yyValue = makeString( "fMorph", fMorphSEP20, "morphology", false ) + makeString( "eMorph", eMorphSEP21, "morphology", false ) + makeString( "hMorph", hMorphSEP22, "morphology", false ) + makeString( "oMorph", oMorphSEP23, "morphology", false ) ; } / cMorphSEP24:cMorph oMorphSEP25:oMorph hMorphSEP26:hMorph oMorphSEP27:oMorph { yyValue = makeString( "cMorph", cMorphSEP24, "morphology", false ) + makeString( "oMorph", oMorphSEP25, "morphology", false ) + makeString( "hMorph", hMorphSEP26, "morphology", false ) + makeString( "oMorph", oMorphSEP27, "morphology", false ) ; } / pMorphSEP28:pMorph eMorphSEP29:eMorph hMorphSEP30:hMorph uMorphSEP31:uMorph { yyValue = makeString( "pMorph", pMorphSEP28, "morphology", false ) + makeString( "eMorph", eMorphSEP29, "morphology", false ) + makeString( "hMorph", hMorphSEP30, "morphology", false ) + makeString( "uMorph", uMorphSEP31, "morphology", false ) ; } / kMorphSEP32:kMorph eMorphSEP33:eMorph hMorphSEP34:hMorph oMorphSEP35:oMorph { yyValue = makeString( "kMorph", kMorphSEP32, "morphology", false ) + makeString( "eMorph", eMorphSEP33, "morphology", false ) + makeString( "hMorph", hMorphSEP34, "morphology", false ) + makeString( "oMorph", oMorphSEP35, "morphology", false ) ; } / nMorphSEP36:nMorph uMorphSEP37:uMorph hMorphSEP38:hMorph eMorphSEP39:eMorph { yyValue = makeString( "nMorph", nMorphSEP36, "morphology", false ) + makeString( "uMorph", uMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "eMorph", eMorphSEP39, "morphology", false ) ; } / rMorphSEP40:rMorph eMorphSEP41:eMorph hMorphSEP42:hMorph iMorphSEP43:iMorph { yyValue = makeString( "rMorph", rMorphSEP40, "morphology", false ) + makeString( "eMorph", eMorphSEP41, "morphology", false ) + makeString( "hMorph", hMorphSEP42, "morphology", false ) + makeString( "iMorph", iMorphSEP43, "morphology", false ) ; } / bMorphSEP44:bMorph eMorphSEP45:eMorph hMorphSEP46:hMorph eMorphSEP47:eMorph { yyValue = makeString( "bMorph", bMorphSEP44, "morphology", false ) + makeString( "eMorph", eMorphSEP45, "morphology", false ) + makeString( "hMorph", hMorphSEP46, "morphology", false ) + makeString( "eMorph", eMorphSEP47, "morphology", false ) ; } / jMorphSEP48:jMorph eMorphSEP49:eMorph hMorphSEP50:hMorph eMorphSEP51:eMorph { yyValue = makeString( "jMorph", jMorphSEP48, "morphology", false ) + makeString( "eMorph", eMorphSEP49, "morphology", false ) + makeString( "hMorph", hMorphSEP50, "morphology", false ) + makeString( "eMorph", eMorphSEP51, "morphology", false ) ; } / mMorphSEP52:mMorph iMorphSEP53:iMorph hMorphSEP54:hMorph eMorphSEP55:eMorph { yyValue = makeString( "mMorph", mMorphSEP52, "morphology", false ) + makeString( "iMorph", iMorphSEP53, "morphology", false ) + makeString( "hMorph", hMorphSEP54, "morphology", false ) + makeString( "eMorph", eMorphSEP55, "morphology", false ) ; } / kMorphSEP56:kMorph iMorphSEP57:iMorph hMorphSEP58:hMorph eMorphSEP59:eMorph { yyValue = makeString( "kMorph", kMorphSEP56, "morphology", false ) + makeString( "iMorph", iMorphSEP57, "morphology", false ) + makeString( "hMorph", hMorphSEP58, "morphology", false ) + makeString( "eMorph", eMorphSEP59, "morphology", false ) ; } / vMorphSEP60:vMorph iMorphSEP61:iMorph hMorphSEP62:hMorph oMorphSEP63:oMorph { yyValue = makeString( "vMorph", vMorphSEP60, "morphology", false ) + makeString( "iMorph", iMorphSEP61, "morphology", false ) + makeString( "hMorph", hMorphSEP62, "morphology", false ) + makeString( "oMorph", oMorphSEP63, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String CUMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph uMorphSEP2:uMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String CUhEMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph uMorphSEP2:uMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / nMorphSEP5:nMorph aMorphSEP6:aMorph uMorphSEP7:uMorph { yyValue = makeString( "nMorph", nMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "uMorph", uMorphSEP7, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String DAhOMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph aMorphSEP2:aMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String DOIMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String DOhUMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph oMorphSEP2:oMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FAMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph aMorphSEP2:aMorph iMorphSEP3:iMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / fMorphSEP4:fMorph aMorphSEP5:aMorph { yyValue = makeString( "fMorph", fMorphSEP4, "morphology", false ) + makeString( "aMorph", aMorphSEP5, "morphology", false ) ; } / fMorphSEP6:fMorph eMorphSEP7:eMorph { yyValue = makeString( "fMorph", fMorphSEP6, "morphology", false ) + makeString( "eMorph", eMorphSEP7, "morphology", false ) ; } / fMorphSEP8:fMorph oMorphSEP9:oMorph { yyValue = makeString( "fMorph", fMorphSEP8, "morphology", false ) + makeString( "oMorph", oMorphSEP9, "morphology", false ) ; } / fMorphSEP10:fMorph uMorphSEP11:uMorph { yyValue = makeString( "fMorph", fMorphSEP10, "morphology", false ) + makeString( "uMorph", uMorphSEP11, "morphology", false ) ; } / fMorphSEP12:fMorph iMorphSEP13:iMorph hMorphSEP14:hMorph aMorphSEP15:aMorph { yyValue = makeString( "fMorph", fMorphSEP12, "morphology", false ) + makeString( "iMorph", iMorphSEP13, "morphology", false ) + makeString( "hMorph", hMorphSEP14, "morphology", false ) + makeString( "aMorph", aMorphSEP15, "morphology", false ) ; } / fMorphSEP16:fMorph iMorphSEP17:iMorph { yyValue = makeString( "fMorph", fMorphSEP16, "morphology", false ) + makeString( "iMorph", iMorphSEP17, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FAhAMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph uMorphSEP2:uMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / bMorphSEP5:bMorph eMorphSEP6:eMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "bMorph", bMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / nMorphSEP9:nMorph eMorphSEP10:eMorph hMorphSEP11:hMorph uMorphSEP12:uMorph { yyValue = makeString( "nMorph", nMorphSEP9, "morphology", false ) + makeString( "eMorph", eMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / vMorphSEP13:vMorph uMorphSEP14:uMorph hMorphSEP15:hMorph aMorphSEP16:aMorph { yyValue = makeString( "vMorph", vMorphSEP13, "morphology", false ) + makeString( "uMorph", uMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "aMorph", aMorphSEP16, "morphology", false ) ; } / gMorphSEP17:gMorph aMorphSEP18:aMorph hMorphSEP19:hMorph uMorphSEP20:uMorph { yyValue = makeString( "gMorph", gMorphSEP17, "morphology", false ) + makeString( "aMorph", aMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "uMorph", uMorphSEP20, "morphology", false ) ; } / tMorphSEP21:tMorph iMorphSEP22:iMorph hMorphSEP23:hMorph aMorphSEP24:aMorph { yyValue = makeString( "tMorph", tMorphSEP21, "morphology", false ) + makeString( "iMorph", iMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "aMorph", aMorphSEP24, "morphology", false ) ; } / nMorphSEP25:nMorph iMorphSEP26:iMorph hMorphSEP27:hMorph aMorphSEP28:aMorph { yyValue = makeString( "nMorph", nMorphSEP25, "morphology", false ) + makeString( "iMorph", iMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "aMorph", aMorphSEP28, "morphology", false ) ; } / cMorphSEP29:cMorph aMorphSEP30:aMorph hMorphSEP31:hMorph uMorphSEP32:uMorph { yyValue = makeString( "cMorph", cMorphSEP29, "morphology", false ) + makeString( "aMorph", aMorphSEP30, "morphology", false ) + makeString( "hMorph", hMorphSEP31, "morphology", false ) + makeString( "uMorph", uMorphSEP32, "morphology", false ) ; } / zMorphSEP33:zMorph uMorphSEP34:uMorph hMorphSEP35:hMorph aMorphSEP36:aMorph { yyValue = makeString( "zMorph", zMorphSEP33, "morphology", false ) + makeString( "uMorph", uMorphSEP34, "morphology", false ) + makeString( "hMorph", hMorphSEP35, "morphology", false ) + makeString( "aMorph", aMorphSEP36, "morphology", false ) ; } / rMorphSEP37:rMorph iMorphSEP38:iMorph hMorphSEP39:hMorph uMorphSEP40:uMorph { yyValue = makeString( "rMorph", rMorphSEP37, "morphology", false ) + makeString( "iMorph", iMorphSEP38, "morphology", false ) + makeString( "hMorph", hMorphSEP39, "morphology", false ) + makeString( "uMorph", uMorphSEP40, "morphology", false ) ; } / rMorphSEP41:rMorph uMorphSEP42:uMorph hMorphSEP43:hMorph uMorphSEP44:uMorph { yyValue = makeString( "rMorph", rMorphSEP41, "morphology", false ) + makeString( "uMorph", uMorphSEP42, "morphology", false ) + makeString( "hMorph", hMorphSEP43, "morphology", false ) + makeString( "uMorph", uMorphSEP44, "morphology", false ) ; } / rMorphSEP45:rMorph eMorphSEP46:eMorph hMorphSEP47:hMorph oMorphSEP48:oMorph { yyValue = makeString( "rMorph", rMorphSEP45, "morphology", false ) + makeString( "eMorph", eMorphSEP46, "morphology", false ) + makeString( "hMorph", hMorphSEP47, "morphology", false ) + makeString( "oMorph", oMorphSEP48, "morphology", false ) ; } / tMorphSEP49:tMorph eMorphSEP50:eMorph hMorphSEP51:hMorph eMorphSEP52:eMorph { yyValue = makeString( "tMorph", tMorphSEP49, "morphology", false ) + makeString( "eMorph", eMorphSEP50, "morphology", false ) + makeString( "hMorph", hMorphSEP51, "morphology", false ) + makeString( "eMorph", eMorphSEP52, "morphology", false ) ; } / bMorphSEP53:bMorph uMorphSEP54:uMorph hMorphSEP55:hMorph uMorphSEP56:uMorph { yyValue = makeString( "bMorph", bMorphSEP53, "morphology", false ) + makeString( "uMorph", uMorphSEP54, "morphology", false ) + makeString( "hMorph", hMorphSEP55, "morphology", false ) + makeString( "uMorph", uMorphSEP56, "morphology", false ) ; } / nMorphSEP57:nMorph eMorphSEP58:eMorph hMorphSEP59:hMorph aMorphSEP60:aMorph { yyValue = makeString( "nMorph", nMorphSEP57, "morphology", false ) + makeString( "eMorph", eMorphSEP58, "morphology", false ) + makeString( "hMorph", hMorphSEP59, "morphology", false ) + makeString( "aMorph", aMorphSEP60, "morphology", false ) ; } / pMorphSEP61:pMorph aMorphSEP62:aMorph hMorphSEP63:hMorph oMorphSEP64:oMorph { yyValue = makeString( "pMorph", pMorphSEP61, "morphology", false ) + makeString( "aMorph", aMorphSEP62, "morphology", false ) + makeString( "hMorph", hMorphSEP63, "morphology", false ) + makeString( "oMorph", oMorphSEP64, "morphology", false ) ; } / nMorphSEP65:nMorph eMorphSEP66:eMorph hMorphSEP67:hMorph iMorphSEP68:iMorph { yyValue = makeString( "nMorph", nMorphSEP65, "morphology", false ) + makeString( "eMorph", eMorphSEP66, "morphology", false ) + makeString( "hMorph", hMorphSEP67, "morphology", false ) + makeString( "iMorph", iMorphSEP68, "morphology", false ) ; } / tMorphSEP69:tMorph oMorphSEP70:oMorph hMorphSEP71:hMorph oMorphSEP72:oMorph { yyValue = makeString( "tMorph", tMorphSEP69, "morphology", false ) + makeString( "oMorph", oMorphSEP70, "morphology", false ) + makeString( "hMorph", hMorphSEP71, "morphology", false ) + makeString( "oMorph", oMorphSEP72, "morphology", false ) ; } / zMorphSEP73:zMorph oMorphSEP74:oMorph hMorphSEP75:hMorph iMorphSEP76:iMorph { yyValue = makeString( "zMorph", zMorphSEP73, "morphology", false ) + makeString( "oMorph", oMorphSEP74, "morphology", false ) + makeString( "hMorph", hMorphSEP75, "morphology", false ) + makeString( "iMorph", iMorphSEP76, "morphology", false ) ; } / zMorphSEP77:zMorph eMorphSEP78:eMorph hMorphSEP79:hMorph oMorphSEP80:oMorph { yyValue = makeString( "zMorph", zMorphSEP77, "morphology", false ) + makeString( "eMorph", eMorphSEP78, "morphology", false ) + makeString( "hMorph", hMorphSEP79, "morphology", false ) + makeString( "oMorph", oMorphSEP80, "morphology", false ) ; } / zMorphSEP81:zMorph oMorphSEP82:oMorph hMorphSEP83:hMorph aMorphSEP84:aMorph { yyValue = makeString( "zMorph", zMorphSEP81, "morphology", false ) + makeString( "oMorph", oMorphSEP82, "morphology", false ) + makeString( "hMorph", hMorphSEP83, "morphology", false ) + makeString( "aMorph", aMorphSEP84, "morphology", false ) ; } / fMorphSEP85:fMorph aMorphSEP86:aMorph hMorphSEP87:hMorph aMorphSEP88:aMorph { yyValue = makeString( "fMorph", fMorphSEP85, "morphology", false ) + makeString( "aMorph", aMorphSEP86, "morphology", false ) + makeString( "hMorph", hMorphSEP87, "morphology", false ) + makeString( "aMorph", aMorphSEP88, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FAhOMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph aMorphSEP2:aMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FEhEMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph eMorphSEP2:eMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FEhUMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FIhOMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph iMorphSEP2:iMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FOIMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FUhAMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph uMorphSEP2:uMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FUhEMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph uMorphSEP2:uMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String FUhOMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph uMorphSEP2:uMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GAMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph eMorphSEP2:eMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / gMorphSEP5:gMorph eMorphSEP6:eMorph { yyValue = makeString( "gMorph", gMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) ; } / gMorphSEP7:gMorph oMorphSEP8:oMorph { yyValue = makeString( "gMorph", gMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } / gMorphSEP9:gMorph aMorphSEP10:aMorph { yyValue = makeString( "gMorph", gMorphSEP9, "morphology", false ) + makeString( "aMorph", aMorphSEP10, "morphology", false ) ; } / gMorphSEP11:gMorph uMorphSEP12:uMorph { yyValue = makeString( "gMorph", gMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GAhOMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph eMorphSEP2:eMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / gMorphSEP5:gMorph aMorphSEP6:aMorph hMorphSEP7:hMorph oMorphSEP8:oMorph { yyValue = makeString( "gMorph", gMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GEhUMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GIMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph iMorphSEP2:iMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GIhAMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph iMorphSEP2:iMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / gMorphSEP5:gMorph iMorphSEP6:iMorph hMorphSEP7:hMorph iMorphSEP8:iMorph { yyValue = makeString( "gMorph", gMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) ; } / gMorphSEP9:gMorph iMorphSEP10:iMorph hMorphSEP11:hMorph oMorphSEP12:oMorph { yyValue = makeString( "gMorph", gMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) ; } / gMorphSEP13:gMorph iMorphSEP14:iMorph hMorphSEP15:hMorph aMorphSEP16:aMorph { yyValue = makeString( "gMorph", gMorphSEP13, "morphology", false ) + makeString( "iMorph", iMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "aMorph", aMorphSEP16, "morphology", false ) ; } / gMorphSEP17:gMorph iMorphSEP18:iMorph hMorphSEP19:hMorph uMorphSEP20:uMorph { yyValue = makeString( "gMorph", gMorphSEP17, "morphology", false ) + makeString( "iMorph", iMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "uMorph", uMorphSEP20, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GOIMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph oMorphSEP2:oMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / nMorphSEP5:nMorph eMorphSEP6:eMorph { yyValue = makeString( "nMorph", nMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) ; } / gMorphSEP7:gMorph oMorphSEP8:oMorph iMorphSEP9:iMorph { yyValue = makeString( "gMorph", gMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) + makeString( "iMorph", iMorphSEP9, "morphology", false ) ; } / pMorphSEP10:pMorph oMorphSEP11:oMorph hMorphSEP12:hMorph uMorphSEP13:uMorph { yyValue = makeString( "pMorph", pMorphSEP10, "morphology", false ) + makeString( "oMorph", oMorphSEP11, "morphology", false ) + makeString( "hMorph", hMorphSEP12, "morphology", false ) + makeString( "uMorph", uMorphSEP13, "morphology", false ) ; } / pMorphSEP14:pMorph eMorphSEP15:eMorph { yyValue = makeString( "pMorph", pMorphSEP14, "morphology", false ) + makeString( "eMorph", eMorphSEP15, "morphology", false ) ; } / pMorphSEP16:pMorph oMorphSEP17:oMorph hMorphSEP18:hMorph eMorphSEP19:eMorph { yyValue = makeString( "pMorph", pMorphSEP16, "morphology", false ) + makeString( "oMorph", oMorphSEP17, "morphology", false ) + makeString( "hMorph", hMorphSEP18, "morphology", false ) + makeString( "eMorph", eMorphSEP19, "morphology", false ) ; } / pMorphSEP20:pMorph oMorphSEP21:oMorph { yyValue = makeString( "pMorph", pMorphSEP20, "morphology", false ) + makeString( "oMorph", oMorphSEP21, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GOhAMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph oMorphSEP2:oMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) ; } / nMorphSEP3:nMorph eMorphSEP4:eMorph iMorphSEP5:iMorph { yyValue = makeString( "nMorph", nMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) + makeString( "iMorph", iMorphSEP5, "morphology", false ) ; } / gMorphSEP6:gMorph oMorphSEP7:oMorph hMorphSEP8:hMorph uMorphSEP9:uMorph { yyValue = makeString( "gMorph", gMorphSEP6, "morphology", false ) + makeString( "oMorph", oMorphSEP7, "morphology", false ) + makeString( "hMorph", hMorphSEP8, "morphology", false ) + makeString( "uMorph", uMorphSEP9, "morphology", false ) ; } / gMorphSEP10:gMorph oMorphSEP11:oMorph hMorphSEP12:hMorph oMorphSEP13:oMorph { yyValue = makeString( "gMorph", gMorphSEP10, "morphology", false ) + makeString( "oMorph", oMorphSEP11, "morphology", false ) + makeString( "hMorph", hMorphSEP12, "morphology", false ) + makeString( "oMorph", oMorphSEP13, "morphology", false ) ; } / gMorphSEP14:gMorph oMorphSEP15:oMorph hMorphSEP16:hMorph iMorphSEP17:iMorph { yyValue = makeString( "gMorph", gMorphSEP14, "morphology", false ) + makeString( "oMorph", oMorphSEP15, "morphology", false ) + makeString( "hMorph", hMorphSEP16, "morphology", false ) + makeString( "iMorph", iMorphSEP17, "morphology", false ) ; } / nMorphSEP18:nMorph oMorphSEP19:oMorph hMorphSEP20:hMorph aMorphSEP21:aMorph { yyValue = makeString( "nMorph", nMorphSEP18, "morphology", false ) + makeString( "oMorph", oMorphSEP19, "morphology", false ) + makeString( "hMorph", hMorphSEP20, "morphology", false ) + makeString( "aMorph", aMorphSEP21, "morphology", false ) ; } / gMorphSEP22:gMorph oMorphSEP23:oMorph hMorphSEP24:hMorph eMorphSEP25:eMorph { yyValue = makeString( "gMorph", gMorphSEP22, "morphology", false ) + makeString( "oMorph", oMorphSEP23, "morphology", false ) + makeString( "hMorph", hMorphSEP24, "morphology", false ) + makeString( "eMorph", eMorphSEP25, "morphology", false ) ; } / gMorphSEP26:gMorph oMorphSEP27:oMorph hMorphSEP28:hMorph aMorphSEP29:aMorph { yyValue = makeString( "gMorph", gMorphSEP26, "morphology", false ) + makeString( "oMorph", oMorphSEP27, "morphology", false ) + makeString( "hMorph", hMorphSEP28, "morphology", false ) + makeString( "aMorph", aMorphSEP29, "morphology", false ) ; } / dMorphSEP30:dMorph uMorphSEP31:uMorph { yyValue = makeString( "dMorph", dMorphSEP30, "morphology", false ) + makeString( "uMorph", uMorphSEP31, "morphology", false ) ; } / bMorphSEP32:bMorph uMorphSEP33:uMorph hMorphSEP34:hMorph aMorphSEP35:aMorph { yyValue = makeString( "bMorph", bMorphSEP32, "morphology", false ) + makeString( "uMorph", uMorphSEP33, "morphology", false ) + makeString( "hMorph", hMorphSEP34, "morphology", false ) + makeString( "aMorph", aMorphSEP35, "morphology", false ) ; } / bMorphSEP36:bMorph uMorphSEP37:uMorph hMorphSEP38:hMorph eMorphSEP39:eMorph { yyValue = makeString( "bMorph", bMorphSEP36, "morphology", false ) + makeString( "uMorph", uMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "eMorph", eMorphSEP39, "morphology", false ) ; } / bMorphSEP40:bMorph uMorphSEP41:uMorph hMorphSEP42:hMorph iMorphSEP43:iMorph { yyValue = makeString( "bMorph", bMorphSEP40, "morphology", false ) + makeString( "uMorph", uMorphSEP41, "morphology", false ) + makeString( "hMorph", hMorphSEP42, "morphology", false ) + makeString( "iMorph", iMorphSEP43, "morphology", false ) ; } / cMorphSEP44:cMorph oMorphSEP45:oMorph hMorphSEP46:hMorph eMorphSEP47:eMorph { yyValue = makeString( "cMorph", cMorphSEP44, "morphology", false ) + makeString( "oMorph", oMorphSEP45, "morphology", false ) + makeString( "hMorph", hMorphSEP46, "morphology", false ) + makeString( "eMorph", eMorphSEP47, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String GUhAMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph uMorphSEP2:uMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / gMorphSEP5:gMorph uMorphSEP6:uMorph hMorphSEP7:hMorph iMorphSEP8:iMorph { yyValue = makeString( "gMorph", gMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) ; } / gMorphSEP9:gMorph uMorphSEP10:uMorph hMorphSEP11:hMorph oMorphSEP12:oMorph { yyValue = makeString( "gMorph", gMorphSEP9, "morphology", false ) + makeString( "uMorph", uMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) ; } / gMorphSEP13:gMorph uMorphSEP14:uMorph hMorphSEP15:hMorph aMorphSEP16:aMorph { yyValue = makeString( "gMorph", gMorphSEP13, "morphology", false ) + makeString( "uMorph", uMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "aMorph", aMorphSEP16, "morphology", false ) ; } / gMorphSEP17:gMorph uMorphSEP18:uMorph hMorphSEP19:hMorph uMorphSEP20:uMorph { yyValue = makeString( "gMorph", gMorphSEP17, "morphology", false ) + makeString( "uMorph", uMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "uMorph", uMorphSEP20, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String IMorph = &cmavoMorph PARSERparen1:( iMorphSEP1:iMorph { yyValue = makeString( "iMorph", iMorphSEP1, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String JAMorph = &cmavoMorph PARSERparen1:( jMorphSEP1:jMorph eMorphSEP2:eMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / jMorphSEP5:jMorph eMorphSEP6:eMorph { yyValue = makeString( "jMorph", jMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) ; } / jMorphSEP7:jMorph oMorphSEP8:oMorph { yyValue = makeString( "jMorph", jMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } / jMorphSEP9:jMorph aMorphSEP10:aMorph { yyValue = makeString( "jMorph", jMorphSEP9, "morphology", false ) + makeString( "aMorph", aMorphSEP10, "morphology", false ) ; } / jMorphSEP11:jMorph uMorphSEP12:uMorph { yyValue = makeString( "jMorph", jMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String JAIMorph = &cmavoMorph PARSERparen1:( jMorphSEP1:jMorph aMorphSEP2:aMorph iMorphSEP3:iMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String JOhIMorph = &cmavoMorph PARSERparen1:( jMorphSEP1:jMorph oMorphSEP2:oMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String JOIMorph = &cmavoMorph PARSERparen1:( fMorphSEP1:fMorph aMorphSEP2:aMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "fMorph", fMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / pMorphSEP5:pMorph iMorphSEP6:iMorph hMorphSEP7:hMorph uMorphSEP8:uMorph { yyValue = makeString( "pMorph", pMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "uMorph", uMorphSEP8, "morphology", false ) ; } / jMorphSEP9:jMorph oMorphSEP10:oMorph iMorphSEP11:iMorph { yyValue = makeString( "jMorph", jMorphSEP9, "morphology", false ) + makeString( "oMorph", oMorphSEP10, "morphology", false ) + makeString( "iMorph", iMorphSEP11, "morphology", false ) ; } / cMorphSEP12:cMorph eMorphSEP13:eMorph hMorphSEP14:hMorph oMorphSEP15:oMorph { yyValue = makeString( "cMorph", cMorphSEP12, "morphology", false ) + makeString( "eMorph", eMorphSEP13, "morphology", false ) + makeString( "hMorph", hMorphSEP14, "morphology", false ) + makeString( "oMorph", oMorphSEP15, "morphology", false ) ; } / cMorphSEP16:cMorph eMorphSEP17:eMorph { yyValue = makeString( "cMorph", cMorphSEP16, "morphology", false ) + makeString( "eMorph", eMorphSEP17, "morphology", false ) ; } / jMorphSEP18:jMorph oMorphSEP19:oMorph hMorphSEP20:hMorph uMorphSEP21:uMorph { yyValue = makeString( "jMorph", jMorphSEP18, "morphology", false ) + makeString( "oMorph", oMorphSEP19, "morphology", false ) + makeString( "hMorph", hMorphSEP20, "morphology", false ) + makeString( "uMorph", uMorphSEP21, "morphology", false ) ; } / kMorphSEP22:kMorph uMorphSEP23:uMorph hMorphSEP24:hMorph aMorphSEP25:aMorph { yyValue = makeString( "kMorph", kMorphSEP22, "morphology", false ) + makeString( "uMorph", uMorphSEP23, "morphology", false ) + makeString( "hMorph", hMorphSEP24, "morphology", false ) + makeString( "aMorph", aMorphSEP25, "morphology", false ) ; } / jMorphSEP26:jMorph oMorphSEP27:oMorph hMorphSEP28:hMorph eMorphSEP29:eMorph { yyValue = makeString( "jMorph", jMorphSEP26, "morphology", false ) + makeString( "oMorph", oMorphSEP27, "morphology", false ) + makeString( "hMorph", hMorphSEP28, "morphology", false ) + makeString( "eMorph", eMorphSEP29, "morphology", false ) ; } / jMorphSEP30:jMorph uMorphSEP31:uMorph hMorphSEP32:hMorph eMorphSEP33:eMorph { yyValue = makeString( "jMorph", jMorphSEP30, "morphology", false ) + makeString( "uMorph", uMorphSEP31, "morphology", false ) + makeString( "hMorph", hMorphSEP32, "morphology", false ) + makeString( "eMorph", eMorphSEP33, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KEMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph eMorphSEP2:eMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KEhEMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph eMorphSEP2:eMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KEIMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KIMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph iMorphSEP2:iMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KOhAMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph aMorphSEP2:aMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / dMorphSEP5:dMorph aMorphSEP6:aMorph hMorphSEP7:hMorph eMorphSEP8:eMorph { yyValue = makeString( "dMorph", dMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) ; } / dMorphSEP9:dMorph iMorphSEP10:iMorph hMorphSEP11:hMorph uMorphSEP12:uMorph { yyValue = makeString( "dMorph", dMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / dMorphSEP13:dMorph iMorphSEP14:iMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "dMorph", dMorphSEP13, "morphology", false ) + makeString( "iMorph", iMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } / dMorphSEP17:dMorph eMorphSEP18:eMorph hMorphSEP19:hMorph uMorphSEP20:uMorph { yyValue = makeString( "dMorph", dMorphSEP17, "morphology", false ) + makeString( "eMorph", eMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "uMorph", uMorphSEP20, "morphology", false ) ; } / dMorphSEP21:dMorph eMorphSEP22:eMorph hMorphSEP23:hMorph eMorphSEP24:eMorph { yyValue = makeString( "dMorph", dMorphSEP21, "morphology", false ) + makeString( "eMorph", eMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "eMorph", eMorphSEP24, "morphology", false ) ; } / dMorphSEP25:dMorph eMorphSEP26:eMorph iMorphSEP27:iMorph { yyValue = makeString( "dMorph", dMorphSEP25, "morphology", false ) + makeString( "eMorph", eMorphSEP26, "morphology", false ) + makeString( "iMorph", iMorphSEP27, "morphology", false ) ; } / dMorphSEP28:dMorph oMorphSEP29:oMorph hMorphSEP30:hMorph iMorphSEP31:iMorph { yyValue = makeString( "dMorph", dMorphSEP28, "morphology", false ) + makeString( "oMorph", oMorphSEP29, "morphology", false ) + makeString( "hMorph", hMorphSEP30, "morphology", false ) + makeString( "iMorph", iMorphSEP31, "morphology", false ) ; } / mMorphSEP32:mMorph iMorphSEP33:iMorph hMorphSEP34:hMorph oMorphSEP35:oMorph { yyValue = makeString( "mMorph", mMorphSEP32, "morphology", false ) + makeString( "iMorph", iMorphSEP33, "morphology", false ) + makeString( "hMorph", hMorphSEP34, "morphology", false ) + makeString( "oMorph", oMorphSEP35, "morphology", false ) ; } / mMorphSEP36:mMorph aMorphSEP37:aMorph hMorphSEP38:hMorph aMorphSEP39:aMorph { yyValue = makeString( "mMorph", mMorphSEP36, "morphology", false ) + makeString( "aMorph", aMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "aMorph", aMorphSEP39, "morphology", false ) ; } / mMorphSEP40:mMorph iMorphSEP41:iMorph hMorphSEP42:hMorph aMorphSEP43:aMorph { yyValue = makeString( "mMorph", mMorphSEP40, "morphology", false ) + makeString( "iMorph", iMorphSEP41, "morphology", false ) + makeString( "hMorph", hMorphSEP42, "morphology", false ) + makeString( "aMorph", aMorphSEP43, "morphology", false ) ; } / dMorphSEP44:dMorph oMorphSEP45:oMorph hMorphSEP46:hMorph oMorphSEP47:oMorph { yyValue = makeString( "dMorph", dMorphSEP44, "morphology", false ) + makeString( "oMorph", oMorphSEP45, "morphology", false ) + makeString( "hMorph", hMorphSEP46, "morphology", false ) + makeString( "oMorph", oMorphSEP47, "morphology", false ) ; } / kMorphSEP48:kMorph oMorphSEP49:oMorph hMorphSEP50:hMorph aMorphSEP51:aMorph { yyValue = makeString( "kMorph", kMorphSEP48, "morphology", false ) + makeString( "oMorph", oMorphSEP49, "morphology", false ) + makeString( "hMorph", hMorphSEP50, "morphology", false ) + makeString( "aMorph", aMorphSEP51, "morphology", false ) ; } / fMorphSEP52:fMorph oMorphSEP53:oMorph hMorphSEP54:hMorph uMorphSEP55:uMorph { yyValue = makeString( "fMorph", fMorphSEP52, "morphology", false ) + makeString( "oMorph", oMorphSEP53, "morphology", false ) + makeString( "hMorph", hMorphSEP54, "morphology", false ) + makeString( "uMorph", uMorphSEP55, "morphology", false ) ; } / kMorphSEP56:kMorph oMorphSEP57:oMorph hMorphSEP58:hMorph eMorphSEP59:eMorph { yyValue = makeString( "kMorph", kMorphSEP56, "morphology", false ) + makeString( "oMorph", oMorphSEP57, "morphology", false ) + makeString( "hMorph", hMorphSEP58, "morphology", false ) + makeString( "eMorph", eMorphSEP59, "morphology", false ) ; } / kMorphSEP60:kMorph oMorphSEP61:oMorph hMorphSEP62:hMorph iMorphSEP63:iMorph { yyValue = makeString( "kMorph", kMorphSEP60, "morphology", false ) + makeString( "oMorph", oMorphSEP61, "morphology", false ) + makeString( "hMorph", hMorphSEP62, "morphology", false ) + makeString( "iMorph", iMorphSEP63, "morphology", false ) ; } / kMorphSEP64:kMorph oMorphSEP65:oMorph hMorphSEP66:hMorph oMorphSEP67:oMorph { yyValue = makeString( "kMorph", kMorphSEP64, "morphology", false ) + makeString( "oMorph", oMorphSEP65, "morphology", false ) + makeString( "hMorph", hMorphSEP66, "morphology", false ) + makeString( "oMorph", oMorphSEP67, "morphology", false ) ; } / kMorphSEP68:kMorph oMorphSEP69:oMorph hMorphSEP70:hMorph uMorphSEP71:uMorph { yyValue = makeString( "kMorph", kMorphSEP68, "morphology", false ) + makeString( "oMorph", oMorphSEP69, "morphology", false ) + makeString( "hMorph", hMorphSEP70, "morphology", false ) + makeString( "uMorph", uMorphSEP71, "morphology", false ) ; } / fMorphSEP72:fMorph oMorphSEP73:oMorph hMorphSEP74:hMorph aMorphSEP75:aMorph { yyValue = makeString( "fMorph", fMorphSEP72, "morphology", false ) + makeString( "oMorph", oMorphSEP73, "morphology", false ) + makeString( "hMorph", hMorphSEP74, "morphology", false ) + makeString( "aMorph", aMorphSEP75, "morphology", false ) ; } / fMorphSEP76:fMorph oMorphSEP77:oMorph hMorphSEP78:hMorph eMorphSEP79:eMorph { yyValue = makeString( "fMorph", fMorphSEP76, "morphology", false ) + makeString( "oMorph", oMorphSEP77, "morphology", false ) + makeString( "hMorph", hMorphSEP78, "morphology", false ) + makeString( "eMorph", eMorphSEP79, "morphology", false ) ; } / fMorphSEP80:fMorph oMorphSEP81:oMorph hMorphSEP82:hMorph iMorphSEP83:iMorph { yyValue = makeString( "fMorph", fMorphSEP80, "morphology", false ) + makeString( "oMorph", oMorphSEP81, "morphology", false ) + makeString( "hMorph", hMorphSEP82, "morphology", false ) + makeString( "iMorph", iMorphSEP83, "morphology", false ) ; } / fMorphSEP84:fMorph oMorphSEP85:oMorph hMorphSEP86:hMorph oMorphSEP87:oMorph { yyValue = makeString( "fMorph", fMorphSEP84, "morphology", false ) + makeString( "oMorph", oMorphSEP85, "morphology", false ) + makeString( "hMorph", hMorphSEP86, "morphology", false ) + makeString( "oMorph", oMorphSEP87, "morphology", false ) ; } / vMorphSEP88:vMorph oMorphSEP89:oMorph hMorphSEP90:hMorph aMorphSEP91:aMorph { yyValue = makeString( "vMorph", vMorphSEP88, "morphology", false ) + makeString( "oMorph", oMorphSEP89, "morphology", false ) + makeString( "hMorph", hMorphSEP90, "morphology", false ) + makeString( "aMorph", aMorphSEP91, "morphology", false ) ; } / vMorphSEP92:vMorph oMorphSEP93:oMorph hMorphSEP94:hMorph eMorphSEP95:eMorph { yyValue = makeString( "vMorph", vMorphSEP92, "morphology", false ) + makeString( "oMorph", oMorphSEP93, "morphology", false ) + makeString( "hMorph", hMorphSEP94, "morphology", false ) + makeString( "eMorph", eMorphSEP95, "morphology", false ) ; } / vMorphSEP96:vMorph oMorphSEP97:oMorph hMorphSEP98:hMorph iMorphSEP99:iMorph { yyValue = makeString( "vMorph", vMorphSEP96, "morphology", false ) + makeString( "oMorph", oMorphSEP97, "morphology", false ) + makeString( "hMorph", hMorphSEP98, "morphology", false ) + makeString( "iMorph", iMorphSEP99, "morphology", false ) ; } / vMorphSEP100:vMorph oMorphSEP101:oMorph hMorphSEP102:hMorph oMorphSEP103:oMorph { yyValue = makeString( "vMorph", vMorphSEP100, "morphology", false ) + makeString( "oMorph", oMorphSEP101, "morphology", false ) + makeString( "hMorph", hMorphSEP102, "morphology", false ) + makeString( "oMorph", oMorphSEP103, "morphology", false ) ; } / vMorphSEP104:vMorph oMorphSEP105:oMorph hMorphSEP106:hMorph uMorphSEP107:uMorph { yyValue = makeString( "vMorph", vMorphSEP104, "morphology", false ) + makeString( "oMorph", oMorphSEP105, "morphology", false ) + makeString( "hMorph", hMorphSEP106, "morphology", false ) + makeString( "uMorph", uMorphSEP107, "morphology", false ) ; } / rMorphSEP108:rMorph uMorphSEP109:uMorph { yyValue = makeString( "rMorph", rMorphSEP108, "morphology", false ) + makeString( "uMorph", uMorphSEP109, "morphology", false ) ; } / rMorphSEP110:rMorph iMorphSEP111:iMorph { yyValue = makeString( "rMorph", rMorphSEP110, "morphology", false ) + makeString( "iMorph", iMorphSEP111, "morphology", false ) ; } / rMorphSEP112:rMorph aMorphSEP113:aMorph { yyValue = makeString( "rMorph", rMorphSEP112, "morphology", false ) + makeString( "aMorph", aMorphSEP113, "morphology", false ) ; } / tMorphSEP114:tMorph aMorphSEP115:aMorph { yyValue = makeString( "tMorph", tMorphSEP114, "morphology", false ) + makeString( "aMorph", aMorphSEP115, "morphology", false ) ; } / tMorphSEP116:tMorph uMorphSEP117:uMorph { yyValue = makeString( "tMorph", tMorphSEP116, "morphology", false ) + makeString( "uMorph", uMorphSEP117, "morphology", false ) ; } / tMorphSEP118:tMorph iMorphSEP119:iMorph { yyValue = makeString( "tMorph", tMorphSEP118, "morphology", false ) + makeString( "iMorph", iMorphSEP119, "morphology", false ) ; } / zMorphSEP120:zMorph iMorphSEP121:iMorph hMorphSEP122:hMorph oMorphSEP123:oMorph { yyValue = makeString( "zMorph", zMorphSEP120, "morphology", false ) + makeString( "iMorph", iMorphSEP121, "morphology", false ) + makeString( "hMorph", hMorphSEP122, "morphology", false ) + makeString( "oMorph", oMorphSEP123, "morphology", false ) ; } / kMorphSEP124:kMorph eMorphSEP125:eMorph hMorphSEP126:hMorph aMorphSEP127:aMorph { yyValue = makeString( "kMorph", kMorphSEP124, "morphology", false ) + makeString( "eMorph", eMorphSEP125, "morphology", false ) + makeString( "hMorph", hMorphSEP126, "morphology", false ) + makeString( "aMorph", aMorphSEP127, "morphology", false ) ; } / mMorphSEP128:mMorph aMorphSEP129:aMorph { yyValue = makeString( "mMorph", mMorphSEP128, "morphology", false ) + makeString( "aMorph", aMorphSEP129, "morphology", false ) ; } / zMorphSEP130:zMorph uMorphSEP131:uMorph hMorphSEP132:hMorph iMorphSEP133:iMorph { yyValue = makeString( "zMorph", zMorphSEP130, "morphology", false ) + makeString( "uMorph", uMorphSEP131, "morphology", false ) + makeString( "hMorph", hMorphSEP132, "morphology", false ) + makeString( "iMorph", iMorphSEP133, "morphology", false ) ; } / zMorphSEP134:zMorph oMorphSEP135:oMorph hMorphSEP136:hMorph eMorphSEP137:eMorph { yyValue = makeString( "zMorph", zMorphSEP134, "morphology", false ) + makeString( "oMorph", oMorphSEP135, "morphology", false ) + makeString( "hMorph", hMorphSEP136, "morphology", false ) + makeString( "eMorph", eMorphSEP137, "morphology", false ) ; } / cMorphSEP138:cMorph eMorphSEP139:eMorph hMorphSEP140:hMorph uMorphSEP141:uMorph { yyValue = makeString( "cMorph", cMorphSEP138, "morphology", false ) + makeString( "eMorph", eMorphSEP139, "morphology", false ) + makeString( "hMorph", hMorphSEP140, "morphology", false ) + makeString( "uMorph", uMorphSEP141, "morphology", false ) ; } / dMorphSEP142:dMorph aMorphSEP143:aMorph { yyValue = makeString( "dMorph", dMorphSEP142, "morphology", false ) + makeString( "aMorph", aMorphSEP143, "morphology", false ) ; } / dMorphSEP144:dMorph eMorphSEP145:eMorph { yyValue = makeString( "dMorph", dMorphSEP144, "morphology", false ) + makeString( "eMorph", eMorphSEP145, "morphology", false ) ; } / dMorphSEP146:dMorph iMorphSEP147:iMorph { yyValue = makeString( "dMorph", dMorphSEP146, "morphology", false ) + makeString( "iMorph", iMorphSEP147, "morphology", false ) ; } / kMorphSEP148:kMorph oMorphSEP149:oMorph { yyValue = makeString( "kMorph", kMorphSEP148, "morphology", false ) + makeString( "oMorph", oMorphSEP149, "morphology", false ) ; } / mMorphSEP150:mMorph iMorphSEP151:iMorph { yyValue = makeString( "mMorph", mMorphSEP150, "morphology", false ) + makeString( "iMorph", iMorphSEP151, "morphology", false ) ; } / dMorphSEP152:dMorph oMorphSEP153:oMorph { yyValue = makeString( "dMorph", dMorphSEP152, "morphology", false ) + makeString( "oMorph", oMorphSEP153, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KUMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph uMorphSEP2:uMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KUhEMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph uMorphSEP2:uMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String KUhOMorph = &cmavoMorph PARSERparen1:( kMorphSEP1:kMorph uMorphSEP2:uMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "kMorph", kMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LAMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph aMorphSEP2:aMorph iMorphSEP3:iMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / lMorphSEP4:lMorph aMorphSEP5:aMorph hMorphSEP6:hMorph iMorphSEP7:iMorph { yyValue = makeString( "lMorph", lMorphSEP4, "morphology", false ) + makeString( "aMorph", aMorphSEP5, "morphology", false ) + makeString( "hMorph", hMorphSEP6, "morphology", false ) + makeString( "iMorph", iMorphSEP7, "morphology", false ) ; } / lMorphSEP8:lMorph aMorphSEP9:aMorph { yyValue = makeString( "lMorph", lMorphSEP8, "morphology", false ) + makeString( "aMorph", aMorphSEP9, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LAUMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph eMorphSEP2:eMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / lMorphSEP5:lMorph aMorphSEP6:aMorph uMorphSEP7:uMorph { yyValue = makeString( "lMorph", lMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "uMorph", uMorphSEP7, "morphology", false ) ; } / zMorphSEP8:zMorph aMorphSEP9:aMorph iMorphSEP10:iMorph { yyValue = makeString( "zMorph", zMorphSEP8, "morphology", false ) + makeString( "aMorph", aMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) ; } / tMorphSEP11:tMorph aMorphSEP12:aMorph uMorphSEP13:uMorph { yyValue = makeString( "tMorph", tMorphSEP11, "morphology", false ) + makeString( "aMorph", aMorphSEP12, "morphology", false ) + makeString( "uMorph", uMorphSEP13, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LAhEMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph uMorphSEP2:uMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / lMorphSEP5:lMorph uMorphSEP6:uMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "lMorph", lMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / lMorphSEP9:lMorph uMorphSEP10:uMorph hMorphSEP11:hMorph oMorphSEP12:oMorph { yyValue = makeString( "lMorph", lMorphSEP9, "morphology", false ) + makeString( "uMorph", uMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) ; } / lMorphSEP13:lMorph aMorphSEP14:aMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "lMorph", lMorphSEP13, "morphology", false ) + makeString( "aMorph", aMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } / vMorphSEP17:vMorph uMorphSEP18:uMorph hMorphSEP19:hMorph iMorphSEP20:iMorph { yyValue = makeString( "vMorph", vMorphSEP17, "morphology", false ) + makeString( "uMorph", uMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "iMorph", iMorphSEP20, "morphology", false ) ; } / lMorphSEP21:lMorph uMorphSEP22:uMorph hMorphSEP23:hMorph iMorphSEP24:iMorph { yyValue = makeString( "lMorph", lMorphSEP21, "morphology", false ) + makeString( "uMorph", uMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "iMorph", iMorphSEP24, "morphology", false ) ; } / lMorphSEP25:lMorph uMorphSEP26:uMorph hMorphSEP27:hMorph eMorphSEP28:eMorph { yyValue = makeString( "lMorph", lMorphSEP25, "morphology", false ) + makeString( "uMorph", uMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "eMorph", eMorphSEP28, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LEMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / lMorphSEP4:lMorph oMorphSEP5:oMorph iMorphSEP6:iMorph { yyValue = makeString( "lMorph", lMorphSEP4, "morphology", false ) + makeString( "oMorph", oMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / lMorphSEP7:lMorph eMorphSEP8:eMorph hMorphSEP9:hMorph iMorphSEP10:iMorph { yyValue = makeString( "lMorph", lMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) + makeString( "hMorph", hMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) ; } / lMorphSEP11:lMorph oMorphSEP12:oMorph hMorphSEP13:hMorph iMorphSEP14:iMorph { yyValue = makeString( "lMorph", lMorphSEP11, "morphology", false ) + makeString( "oMorph", oMorphSEP12, "morphology", false ) + makeString( "hMorph", hMorphSEP13, "morphology", false ) + makeString( "iMorph", iMorphSEP14, "morphology", false ) ; } / lMorphSEP15:lMorph eMorphSEP16:eMorph hMorphSEP17:hMorph eMorphSEP18:eMorph { yyValue = makeString( "lMorph", lMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) + makeString( "hMorph", hMorphSEP17, "morphology", false ) + makeString( "eMorph", eMorphSEP18, "morphology", false ) ; } / lMorphSEP19:lMorph oMorphSEP20:oMorph hMorphSEP21:hMorph eMorphSEP22:eMorph { yyValue = makeString( "lMorph", lMorphSEP19, "morphology", false ) + makeString( "oMorph", oMorphSEP20, "morphology", false ) + makeString( "hMorph", hMorphSEP21, "morphology", false ) + makeString( "eMorph", eMorphSEP22, "morphology", false ) ; } / lMorphSEP23:lMorph oMorphSEP24:oMorph { yyValue = makeString( "lMorph", lMorphSEP23, "morphology", false ) + makeString( "oMorph", oMorphSEP24, "morphology", false ) ; } / lMorphSEP25:lMorph eMorphSEP26:eMorph { yyValue = makeString( "lMorph", lMorphSEP25, "morphology", false ) + makeString( "eMorph", eMorphSEP26, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LEhUMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LIMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph eMorphSEP2:eMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / lMorphSEP5:lMorph iMorphSEP6:iMorph { yyValue = makeString( "lMorph", lMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LIhUMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph iMorphSEP2:iMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LOhOMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph oMorphSEP2:oMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LOhUMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph oMorphSEP2:oMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LUMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph uMorphSEP2:uMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String LUhUMorph = &cmavoMorph PARSERparen1:( lMorphSEP1:lMorph uMorphSEP2:uMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "lMorph", lMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MAhOMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph aMorphSEP2:aMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MAIMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph oMorphSEP2:oMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / mMorphSEP5:mMorph aMorphSEP6:aMorph iMorphSEP7:iMorph { yyValue = makeString( "mMorph", mMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "iMorph", iMorphSEP7, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MEMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph eMorphSEP2:eMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MEhUMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MOhEMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph oMorphSEP2:oMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MOhIMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph oMorphSEP2:oMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String MOIMorph = &cmavoMorph PARSERparen1:( mMorphSEP1:mMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "mMorph", mMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / mMorphSEP4:mMorph oMorphSEP5:oMorph iMorphSEP6:iMorph { yyValue = makeString( "mMorph", mMorphSEP4, "morphology", false ) + makeString( "oMorph", oMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / sMorphSEP7:sMorph iMorphSEP8:iMorph hMorphSEP9:hMorph eMorphSEP10:eMorph { yyValue = makeString( "sMorph", sMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) + makeString( "hMorph", hMorphSEP9, "morphology", false ) + makeString( "eMorph", eMorphSEP10, "morphology", false ) ; } / cMorphSEP11:cMorph uMorphSEP12:uMorph hMorphSEP13:hMorph oMorphSEP14:oMorph { yyValue = makeString( "cMorph", cMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) + makeString( "hMorph", hMorphSEP13, "morphology", false ) + makeString( "oMorph", oMorphSEP14, "morphology", false ) ; } / vMorphSEP15:vMorph aMorphSEP16:aMorph hMorphSEP17:hMorph eMorphSEP18:eMorph { yyValue = makeString( "vMorph", vMorphSEP15, "morphology", false ) + makeString( "aMorph", aMorphSEP16, "morphology", false ) + makeString( "hMorph", hMorphSEP17, "morphology", false ) + makeString( "eMorph", eMorphSEP18, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NAMorph = &cmavoMorph PARSERparen1:( jMorphSEP1:jMorph aMorphSEP2:aMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "jMorph", jMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / nMorphSEP5:nMorph aMorphSEP6:aMorph { yyValue = makeString( "nMorph", nMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NAIMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph aMorphSEP2:aMorph iMorphSEP3:iMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NAhEMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph oMorphSEP2:oMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / jMorphSEP5:jMorph eMorphSEP6:eMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "jMorph", jMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / nMorphSEP9:nMorph aMorphSEP10:aMorph hMorphSEP11:hMorph eMorphSEP12:eMorph { yyValue = makeString( "nMorph", nMorphSEP9, "morphology", false ) + makeString( "aMorph", aMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "eMorph", eMorphSEP12, "morphology", false ) ; } / nMorphSEP13:nMorph oMorphSEP14:oMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "nMorph", nMorphSEP13, "morphology", false ) + makeString( "oMorph", oMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NAhUMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph aMorphSEP2:aMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NIhEMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph iMorphSEP2:iMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NIhOMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph iMorphSEP2:iMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } / nMorphSEP5:nMorph oMorphSEP6:oMorph hMorphSEP7:hMorph iMorphSEP8:iMorph { yyValue = makeString( "nMorph", nMorphSEP5, "morphology", false ) + makeString( "oMorph", oMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NOIMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / nMorphSEP4:nMorph oMorphSEP5:oMorph iMorphSEP6:iMorph { yyValue = makeString( "nMorph", nMorphSEP4, "morphology", false ) + makeString( "oMorph", oMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / pMorphSEP7:pMorph oMorphSEP8:oMorph iMorphSEP9:iMorph { yyValue = makeString( "pMorph", pMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) + makeString( "iMorph", iMorphSEP9, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NUMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph iMorphSEP2:iMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } / dMorphSEP3:dMorph uMorphSEP4:uMorph hMorphSEP5:hMorph uMorphSEP6:uMorph { yyValue = makeString( "dMorph", dMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) + makeString( "hMorph", hMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) ; } / sMorphSEP7:sMorph iMorphSEP8:iMorph hMorphSEP9:hMorph oMorphSEP10:oMorph { yyValue = makeString( "sMorph", sMorphSEP7, "morphology", false ) + makeString( "iMorph", iMorphSEP8, "morphology", false ) + makeString( "hMorph", hMorphSEP9, "morphology", false ) + makeString( "oMorph", oMorphSEP10, "morphology", false ) ; } / nMorphSEP11:nMorph uMorphSEP12:uMorph { yyValue = makeString( "nMorph", nMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / lMorphSEP13:lMorph iMorphSEP14:iMorph hMorphSEP15:hMorph iMorphSEP16:iMorph { yyValue = makeString( "lMorph", lMorphSEP13, "morphology", false ) + makeString( "iMorph", iMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "iMorph", iMorphSEP16, "morphology", false ) ; } / kMorphSEP17:kMorph aMorphSEP18:aMorph { yyValue = makeString( "kMorph", kMorphSEP17, "morphology", false ) + makeString( "aMorph", aMorphSEP18, "morphology", false ) ; } / jMorphSEP19:jMorph eMorphSEP20:eMorph iMorphSEP21:iMorph { yyValue = makeString( "jMorph", jMorphSEP19, "morphology", false ) + makeString( "eMorph", eMorphSEP20, "morphology", false ) + makeString( "iMorph", iMorphSEP21, "morphology", false ) ; } / sMorphSEP22:sMorph uMorphSEP23:uMorph hMorphSEP24:hMorph uMorphSEP25:uMorph { yyValue = makeString( "sMorph", sMorphSEP22, "morphology", false ) + makeString( "uMorph", uMorphSEP23, "morphology", false ) + makeString( "hMorph", hMorphSEP24, "morphology", false ) + makeString( "uMorph", uMorphSEP25, "morphology", false ) ; } / zMorphSEP26:zMorph uMorphSEP27:uMorph hMorphSEP28:hMorph oMorphSEP29:oMorph { yyValue = makeString( "zMorph", zMorphSEP26, "morphology", false ) + makeString( "uMorph", uMorphSEP27, "morphology", false ) + makeString( "hMorph", hMorphSEP28, "morphology", false ) + makeString( "oMorph", oMorphSEP29, "morphology", false ) ; } / mMorphSEP30:mMorph uMorphSEP31:uMorph hMorphSEP32:hMorph eMorphSEP33:eMorph { yyValue = makeString( "mMorph", mMorphSEP30, "morphology", false ) + makeString( "uMorph", uMorphSEP31, "morphology", false ) + makeString( "hMorph", hMorphSEP32, "morphology", false ) + makeString( "eMorph", eMorphSEP33, "morphology", false ) ; } / pMorphSEP34:pMorph uMorphSEP35:uMorph hMorphSEP36:hMorph uMorphSEP37:uMorph { yyValue = makeString( "pMorph", pMorphSEP34, "morphology", false ) + makeString( "uMorph", uMorphSEP35, "morphology", false ) + makeString( "hMorph", hMorphSEP36, "morphology", false ) + makeString( "uMorph", uMorphSEP37, "morphology", false ) ; } / zMorphSEP38:zMorph aMorphSEP39:aMorph hMorphSEP40:hMorph iMorphSEP41:iMorph { yyValue = makeString( "zMorph", zMorphSEP38, "morphology", false ) + makeString( "aMorph", aMorphSEP39, "morphology", false ) + makeString( "hMorph", hMorphSEP40, "morphology", false ) + makeString( "iMorph", iMorphSEP41, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NUhAMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph uMorphSEP2:uMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NUhIMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph uMorphSEP2:uMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String NUhUMorph = &cmavoMorph PARSERparen1:( nMorphSEP1:nMorph uMorphSEP2:uMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "nMorph", nMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String PAMorph = &cmavoMorph PARSERparen1:( dMorphSEP1:dMorph aMorphSEP2:aMorph uMorphSEP3:uMorph { yyValue = makeString( "dMorph", dMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "uMorph", uMorphSEP3, "morphology", false ) ; } / fMorphSEP4:fMorph eMorphSEP5:eMorph iMorphSEP6:iMorph { yyValue = makeString( "fMorph", fMorphSEP4, "morphology", false ) + makeString( "eMorph", eMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } / gMorphSEP7:gMorph aMorphSEP8:aMorph iMorphSEP9:iMorph { yyValue = makeString( "gMorph", gMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) + makeString( "iMorph", iMorphSEP9, "morphology", false ) ; } / jMorphSEP10:jMorph aMorphSEP11:aMorph uMorphSEP12:uMorph { yyValue = makeString( "jMorph", jMorphSEP10, "morphology", false ) + makeString( "aMorph", aMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / rMorphSEP13:rMorph eMorphSEP14:eMorph iMorphSEP15:iMorph { yyValue = makeString( "rMorph", rMorphSEP13, "morphology", false ) + makeString( "eMorph", eMorphSEP14, "morphology", false ) + makeString( "iMorph", iMorphSEP15, "morphology", false ) ; } / vMorphSEP16:vMorph aMorphSEP17:aMorph iMorphSEP18:iMorph { yyValue = makeString( "vMorph", vMorphSEP16, "morphology", false ) + makeString( "aMorph", aMorphSEP17, "morphology", false ) + makeString( "iMorph", iMorphSEP18, "morphology", false ) ; } / pMorphSEP19:pMorph iMorphSEP20:iMorph hMorphSEP21:hMorph eMorphSEP22:eMorph { yyValue = makeString( "pMorph", pMorphSEP19, "morphology", false ) + makeString( "iMorph", iMorphSEP20, "morphology", false ) + makeString( "hMorph", hMorphSEP21, "morphology", false ) + makeString( "eMorph", eMorphSEP22, "morphology", false ) ; } / pMorphSEP23:pMorph iMorphSEP24:iMorph { yyValue = makeString( "pMorph", pMorphSEP23, "morphology", false ) + makeString( "iMorph", iMorphSEP24, "morphology", false ) ; } / fMorphSEP25:fMorph iMorphSEP26:iMorph hMorphSEP27:hMorph uMorphSEP28:uMorph { yyValue = makeString( "fMorph", fMorphSEP25, "morphology", false ) + makeString( "iMorph", iMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "uMorph", uMorphSEP28, "morphology", false ) ; } / zMorphSEP29:zMorph aMorphSEP30:aMorph hMorphSEP31:hMorph uMorphSEP32:uMorph { yyValue = makeString( "zMorph", zMorphSEP29, "morphology", false ) + makeString( "aMorph", aMorphSEP30, "morphology", false ) + makeString( "hMorph", hMorphSEP31, "morphology", false ) + makeString( "uMorph", uMorphSEP32, "morphology", false ) ; } / mMorphSEP33:mMorph eMorphSEP34:eMorph hMorphSEP35:hMorph iMorphSEP36:iMorph { yyValue = makeString( "mMorph", mMorphSEP33, "morphology", false ) + makeString( "eMorph", eMorphSEP34, "morphology", false ) + makeString( "hMorph", hMorphSEP35, "morphology", false ) + makeString( "iMorph", iMorphSEP36, "morphology", false ) ; } / nMorphSEP37:nMorph iMorphSEP38:iMorph hMorphSEP39:hMorph uMorphSEP40:uMorph { yyValue = makeString( "nMorph", nMorphSEP37, "morphology", false ) + makeString( "iMorph", iMorphSEP38, "morphology", false ) + makeString( "hMorph", hMorphSEP39, "morphology", false ) + makeString( "uMorph", uMorphSEP40, "morphology", false ) ; } / kMorphSEP41:kMorph iMorphSEP42:iMorph hMorphSEP43:hMorph oMorphSEP44:oMorph { yyValue = makeString( "kMorph", kMorphSEP41, "morphology", false ) + makeString( "iMorph", iMorphSEP42, "morphology", false ) + makeString( "hMorph", hMorphSEP43, "morphology", false ) + makeString( "oMorph", oMorphSEP44, "morphology", false ) ; } / cMorphSEP45:cMorph eMorphSEP46:eMorph hMorphSEP47:hMorph iMorphSEP48:iMorph { yyValue = makeString( "cMorph", cMorphSEP45, "morphology", false ) + makeString( "eMorph", eMorphSEP46, "morphology", false ) + makeString( "hMorph", hMorphSEP47, "morphology", false ) + makeString( "iMorph", iMorphSEP48, "morphology", false ) ; } / mMorphSEP49:mMorph aMorphSEP50:aMorph hMorphSEP51:hMorph uMorphSEP52:uMorph { yyValue = makeString( "mMorph", mMorphSEP49, "morphology", false ) + makeString( "aMorph", aMorphSEP50, "morphology", false ) + makeString( "hMorph", hMorphSEP51, "morphology", false ) + makeString( "uMorph", uMorphSEP52, "morphology", false ) ; } / rMorphSEP53:rMorph aMorphSEP54:aMorph hMorphSEP55:hMorph eMorphSEP56:eMorph { yyValue = makeString( "rMorph", rMorphSEP53, "morphology", false ) + makeString( "aMorph", aMorphSEP54, "morphology", false ) + makeString( "hMorph", hMorphSEP55, "morphology", false ) + makeString( "eMorph", eMorphSEP56, "morphology", false ) ; } / dMorphSEP57:dMorph aMorphSEP58:aMorph hMorphSEP59:hMorph aMorphSEP60:aMorph { yyValue = makeString( "dMorph", dMorphSEP57, "morphology", false ) + makeString( "aMorph", aMorphSEP58, "morphology", false ) + makeString( "hMorph", hMorphSEP59, "morphology", false ) + makeString( "aMorph", aMorphSEP60, "morphology", false ) ; } / sMorphSEP61:sMorph oMorphSEP62:oMorph hMorphSEP63:hMorph aMorphSEP64:aMorph { yyValue = makeString( "sMorph", sMorphSEP61, "morphology", false ) + makeString( "oMorph", oMorphSEP62, "morphology", false ) + makeString( "hMorph", hMorphSEP63, "morphology", false ) + makeString( "aMorph", aMorphSEP64, "morphology", false ) ; } / jMorphSEP65:jMorph iMorphSEP66:iMorph hMorphSEP67:hMorph iMorphSEP68:iMorph { yyValue = makeString( "jMorph", jMorphSEP65, "morphology", false ) + makeString( "iMorph", iMorphSEP66, "morphology", false ) + makeString( "hMorph", hMorphSEP67, "morphology", false ) + makeString( "iMorph", iMorphSEP68, "morphology", false ) ; } / sMorphSEP69:sMorph uMorphSEP70:uMorph hMorphSEP71:hMorph oMorphSEP72:oMorph { yyValue = makeString( "sMorph", sMorphSEP69, "morphology", false ) + makeString( "uMorph", uMorphSEP70, "morphology", false ) + makeString( "hMorph", hMorphSEP71, "morphology", false ) + makeString( "oMorph", oMorphSEP72, "morphology", false ) ; } / sMorphSEP73:sMorph uMorphSEP74:uMorph hMorphSEP75:hMorph eMorphSEP76:eMorph { yyValue = makeString( "sMorph", sMorphSEP73, "morphology", false ) + makeString( "uMorph", uMorphSEP74, "morphology", false ) + makeString( "hMorph", hMorphSEP75, "morphology", false ) + makeString( "eMorph", eMorphSEP76, "morphology", false ) ; } / rMorphSEP77:rMorph oMorphSEP78:oMorph { yyValue = makeString( "rMorph", rMorphSEP77, "morphology", false ) + makeString( "oMorph", oMorphSEP78, "morphology", false ) ; } / rMorphSEP79:rMorph aMorphSEP80:aMorph uMorphSEP81:uMorph { yyValue = makeString( "rMorph", rMorphSEP79, "morphology", false ) + makeString( "aMorph", aMorphSEP80, "morphology", false ) + makeString( "uMorph", uMorphSEP81, "morphology", false ) ; } / sMorphSEP82:sMorph oMorphSEP83:oMorph hMorphSEP84:hMorph uMorphSEP85:uMorph { yyValue = makeString( "sMorph", sMorphSEP82, "morphology", false ) + makeString( "oMorph", oMorphSEP83, "morphology", false ) + makeString( "hMorph", hMorphSEP84, "morphology", false ) + makeString( "uMorph", uMorphSEP85, "morphology", false ) ; } / sMorphSEP86:sMorph oMorphSEP87:oMorph hMorphSEP88:hMorph iMorphSEP89:iMorph { yyValue = makeString( "sMorph", sMorphSEP86, "morphology", false ) + makeString( "oMorph", oMorphSEP87, "morphology", false ) + makeString( "hMorph", hMorphSEP88, "morphology", false ) + makeString( "iMorph", iMorphSEP89, "morphology", false ) ; } / sMorphSEP90:sMorph oMorphSEP91:oMorph hMorphSEP92:hMorph eMorphSEP93:eMorph { yyValue = makeString( "sMorph", sMorphSEP90, "morphology", false ) + makeString( "oMorph", oMorphSEP91, "morphology", false ) + makeString( "hMorph", hMorphSEP92, "morphology", false ) + makeString( "eMorph", eMorphSEP93, "morphology", false ) ; } / sMorphSEP94:sMorph oMorphSEP95:oMorph hMorphSEP96:hMorph oMorphSEP97:oMorph { yyValue = makeString( "sMorph", sMorphSEP94, "morphology", false ) + makeString( "oMorph", oMorphSEP95, "morphology", false ) + makeString( "hMorph", hMorphSEP96, "morphology", false ) + makeString( "oMorph", oMorphSEP97, "morphology", false ) ; } / mMorphSEP98:mMorph oMorphSEP99:oMorph hMorphSEP100:hMorph aMorphSEP101:aMorph { yyValue = makeString( "mMorph", mMorphSEP98, "morphology", false ) + makeString( "oMorph", oMorphSEP99, "morphology", false ) + makeString( "hMorph", hMorphSEP100, "morphology", false ) + makeString( "aMorph", aMorphSEP101, "morphology", false ) ; } / dMorphSEP102:dMorph uMorphSEP103:uMorph hMorphSEP104:hMorph eMorphSEP105:eMorph { yyValue = makeString( "dMorph", dMorphSEP102, "morphology", false ) + makeString( "uMorph", uMorphSEP103, "morphology", false ) + makeString( "hMorph", hMorphSEP104, "morphology", false ) + makeString( "eMorph", eMorphSEP105, "morphology", false ) ; } / tMorphSEP106:tMorph eMorphSEP107:eMorph hMorphSEP108:hMorph oMorphSEP109:oMorph { yyValue = makeString( "tMorph", tMorphSEP106, "morphology", false ) + makeString( "eMorph", eMorphSEP107, "morphology", false ) + makeString( "hMorph", hMorphSEP108, "morphology", false ) + makeString( "oMorph", oMorphSEP109, "morphology", false ) ; } / kMorphSEP110:kMorph aMorphSEP111:aMorph hMorphSEP112:hMorph oMorphSEP113:oMorph { yyValue = makeString( "kMorph", kMorphSEP110, "morphology", false ) + makeString( "aMorph", aMorphSEP111, "morphology", false ) + makeString( "hMorph", hMorphSEP112, "morphology", false ) + makeString( "oMorph", oMorphSEP113, "morphology", false ) ; } / cMorphSEP114:cMorph iMorphSEP115:iMorph hMorphSEP116:hMorph iMorphSEP117:iMorph { yyValue = makeString( "cMorph", cMorphSEP114, "morphology", false ) + makeString( "iMorph", iMorphSEP115, "morphology", false ) + makeString( "hMorph", hMorphSEP116, "morphology", false ) + makeString( "iMorph", iMorphSEP117, "morphology", false ) ; } / tMorphSEP118:tMorph uMorphSEP119:uMorph hMorphSEP120:hMorph oMorphSEP121:oMorph { yyValue = makeString( "tMorph", tMorphSEP118, "morphology", false ) + makeString( "uMorph", uMorphSEP119, "morphology", false ) + makeString( "hMorph", hMorphSEP120, "morphology", false ) + makeString( "oMorph", oMorphSEP121, "morphology", false ) ; } / xMorphSEP122:xMorph oMorphSEP123:oMorph { yyValue = makeString( "xMorph", xMorphSEP122, "morphology", false ) + makeString( "oMorph", oMorphSEP123, "morphology", false ) ; } / pMorphSEP124:pMorph aMorphSEP125:aMorph iMorphSEP126:iMorph { yyValue = makeString( "pMorph", pMorphSEP124, "morphology", false ) + makeString( "aMorph", aMorphSEP125, "morphology", false ) + makeString( "iMorph", iMorphSEP126, "morphology", false ) ; } / nMorphSEP127:nMorph oMorphSEP128:oMorph hMorphSEP129:hMorph oMorphSEP130:oMorph { yyValue = makeString( "nMorph", nMorphSEP127, "morphology", false ) + makeString( "oMorph", oMorphSEP128, "morphology", false ) + makeString( "hMorph", hMorphSEP129, "morphology", false ) + makeString( "oMorph", oMorphSEP130, "morphology", false ) ; } / nMorphSEP131:nMorph oMorphSEP132:oMorph { yyValue = makeString( "nMorph", nMorphSEP131, "morphology", false ) + makeString( "oMorph", oMorphSEP132, "morphology", false ) ; } / pMorphSEP133:pMorph aMorphSEP134:aMorph { yyValue = makeString( "pMorph", pMorphSEP133, "morphology", false ) + makeString( "aMorph", aMorphSEP134, "morphology", false ) ; } / rMorphSEP135:rMorph eMorphSEP136:eMorph { yyValue = makeString( "rMorph", rMorphSEP135, "morphology", false ) + makeString( "eMorph", eMorphSEP136, "morphology", false ) ; } / cMorphSEP137:cMorph iMorphSEP138:iMorph { yyValue = makeString( "cMorph", cMorphSEP137, "morphology", false ) + makeString( "iMorph", iMorphSEP138, "morphology", false ) ; } / vMorphSEP139:vMorph oMorphSEP140:oMorph { yyValue = makeString( "vMorph", vMorphSEP139, "morphology", false ) + makeString( "oMorph", oMorphSEP140, "morphology", false ) ; } / mMorphSEP141:mMorph uMorphSEP142:uMorph { yyValue = makeString( "mMorph", mMorphSEP141, "morphology", false ) + makeString( "uMorph", uMorphSEP142, "morphology", false ) ; } / xMorphSEP143:xMorph aMorphSEP144:aMorph { yyValue = makeString( "xMorph", xMorphSEP143, "morphology", false ) + makeString( "aMorph", aMorphSEP144, "morphology", false ) ; } / zMorphSEP145:zMorph eMorphSEP146:eMorph { yyValue = makeString( "zMorph", zMorphSEP145, "morphology", false ) + makeString( "eMorph", eMorphSEP146, "morphology", false ) ; } / bMorphSEP147:bMorph iMorphSEP148:iMorph { yyValue = makeString( "bMorph", bMorphSEP147, "morphology", false ) + makeString( "iMorph", iMorphSEP148, "morphology", false ) ; } / sMorphSEP149:sMorph oMorphSEP150:oMorph { yyValue = makeString( "sMorph", sMorphSEP149, "morphology", false ) + makeString( "oMorph", oMorphSEP150, "morphology", false ) ; } / digitMorphSEP151:digitMorph { yyValue = makeString( "digitMorph", digitMorphSEP151, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String PEhEMorph = &cmavoMorph PARSERparen1:( pMorphSEP1:pMorph eMorphSEP2:eMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "pMorph", pMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String PEhOMorph = &cmavoMorph PARSERparen1:( pMorphSEP1:pMorph eMorphSEP2:eMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "pMorph", pMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String PUMorph = &cmavoMorph PARSERparen1:( bMorphSEP1:bMorph aMorphSEP2:aMorph { yyValue = makeString( "bMorph", bMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) ; } / pMorphSEP3:pMorph uMorphSEP4:uMorph { yyValue = makeString( "pMorph", pMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / cMorphSEP5:cMorph aMorphSEP6:aMorph { yyValue = makeString( "cMorph", cMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String RAhOMorph = &cmavoMorph PARSERparen1:( rMorphSEP1:rMorph aMorphSEP2:aMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "rMorph", rMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ROIMorph = &cmavoMorph PARSERparen1:( rMorphSEP1:rMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "rMorph", rMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / rMorphSEP5:rMorph oMorphSEP6:oMorph iMorphSEP7:iMorph { yyValue = makeString( "rMorph", rMorphSEP5, "morphology", false ) + makeString( "oMorph", oMorphSEP6, "morphology", false ) + makeString( "iMorph", iMorphSEP7, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SAMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph aMorphSEP2:aMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SEMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph eMorphSEP2:eMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) ; } / tMorphSEP3:tMorph eMorphSEP4:eMorph { yyValue = makeString( "tMorph", tMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } / vMorphSEP5:vMorph eMorphSEP6:eMorph { yyValue = makeString( "vMorph", vMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) ; } / xMorphSEP7:xMorph eMorphSEP8:eMorph { yyValue = makeString( "xMorph", xMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SEIMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / tMorphSEP4:tMorph iMorphSEP5:iMorph hMorphSEP6:hMorph oMorphSEP7:oMorph { yyValue = makeString( "tMorph", tMorphSEP4, "morphology", false ) + makeString( "iMorph", iMorphSEP5, "morphology", false ) + makeString( "hMorph", hMorphSEP6, "morphology", false ) + makeString( "oMorph", oMorphSEP7, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SEhUMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SIMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph iMorphSEP2:iMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SOIMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String SUMorph = &cmavoMorph PARSERparen1:( sMorphSEP1:sMorph uMorphSEP2:uMorph { yyValue = makeString( "sMorph", sMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TAhEMorph = &cmavoMorph PARSERparen1:( rMorphSEP1:rMorph uMorphSEP2:uMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "rMorph", rMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / tMorphSEP5:tMorph aMorphSEP6:aMorph hMorphSEP7:hMorph eMorphSEP8:eMorph { yyValue = makeString( "tMorph", tMorphSEP5, "morphology", false ) + makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) ; } / dMorphSEP9:dMorph iMorphSEP10:iMorph hMorphSEP11:hMorph iMorphSEP12:iMorph { yyValue = makeString( "dMorph", dMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "iMorph", iMorphSEP12, "morphology", false ) ; } / nMorphSEP13:nMorph aMorphSEP14:aMorph hMorphSEP15:hMorph oMorphSEP16:oMorph { yyValue = makeString( "nMorph", nMorphSEP13, "morphology", false ) + makeString( "aMorph", aMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "oMorph", oMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TEhUMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TEIMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TOMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph oMorphSEP2:oMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / tMorphSEP5:tMorph oMorphSEP6:oMorph { yyValue = makeString( "tMorph", tMorphSEP5, "morphology", false ) + makeString( "oMorph", oMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TOIMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TUhEMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph uMorphSEP2:uMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String TUhUMorph = &cmavoMorph PARSERparen1:( tMorphSEP1:tMorph uMorphSEP2:uMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "tMorph", tMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String UIMorph = &cmavoMorph PARSERparen1:( iMorphSEP1:iMorph hMorphSEP2:hMorph aMorphSEP3:aMorph { yyValue = makeString( "iMorph", iMorphSEP1, "morphology", false ) + makeString( "hMorph", hMorphSEP2, "morphology", false ) + makeString( "aMorph", aMorphSEP3, "morphology", false ) ; } / iMorphSEP4:iMorph eMorphSEP5:eMorph { yyValue = makeString( "iMorph", iMorphSEP4, "morphology", false ) + makeString( "eMorph", eMorphSEP5, "morphology", false ) ; } / aMorphSEP6:aMorph hMorphSEP7:hMorph eMorphSEP8:eMorph { yyValue = makeString( "aMorph", aMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "eMorph", eMorphSEP8, "morphology", false ) ; } / uMorphSEP9:uMorph hMorphSEP10:hMorph iMorphSEP11:iMorph { yyValue = makeString( "uMorph", uMorphSEP9, "morphology", false ) + makeString( "hMorph", hMorphSEP10, "morphology", false ) + makeString( "iMorph", iMorphSEP11, "morphology", false ) ; } / iMorphSEP12:iMorph hMorphSEP13:hMorph oMorphSEP14:oMorph { yyValue = makeString( "iMorph", iMorphSEP12, "morphology", false ) + makeString( "hMorph", hMorphSEP13, "morphology", false ) + makeString( "oMorph", oMorphSEP14, "morphology", false ) ; } / iMorphSEP15:iMorph hMorphSEP16:hMorph eMorphSEP17:eMorph { yyValue = makeString( "iMorph", iMorphSEP15, "morphology", false ) + makeString( "hMorph", hMorphSEP16, "morphology", false ) + makeString( "eMorph", eMorphSEP17, "morphology", false ) ; } / aMorphSEP18:aMorph hMorphSEP19:hMorph aMorphSEP20:aMorph { yyValue = makeString( "aMorph", aMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "aMorph", aMorphSEP20, "morphology", false ) ; } / iMorphSEP21:iMorph aMorphSEP22:aMorph { yyValue = makeString( "iMorph", iMorphSEP21, "morphology", false ) + makeString( "aMorph", aMorphSEP22, "morphology", false ) ; } / oMorphSEP23:oMorph hMorphSEP24:hMorph iMorphSEP25:iMorph { yyValue = makeString( "oMorph", oMorphSEP23, "morphology", false ) + makeString( "hMorph", hMorphSEP24, "morphology", false ) + makeString( "iMorph", iMorphSEP25, "morphology", false ) ; } / oMorphSEP26:oMorph hMorphSEP27:hMorph eMorphSEP28:eMorph { yyValue = makeString( "oMorph", oMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "eMorph", eMorphSEP28, "morphology", false ) ; } / eMorphSEP29:eMorph hMorphSEP30:hMorph eMorphSEP31:eMorph { yyValue = makeString( "eMorph", eMorphSEP29, "morphology", false ) + makeString( "hMorph", hMorphSEP30, "morphology", false ) + makeString( "eMorph", eMorphSEP31, "morphology", false ) ; } / oMorphSEP32:oMorph iMorphSEP33:iMorph { yyValue = makeString( "oMorph", oMorphSEP32, "morphology", false ) + makeString( "iMorph", iMorphSEP33, "morphology", false ) ; } / uMorphSEP34:uMorph oMorphSEP35:oMorph { yyValue = makeString( "uMorph", uMorphSEP34, "morphology", false ) + makeString( "oMorph", oMorphSEP35, "morphology", false ) ; } / eMorphSEP36:eMorph hMorphSEP37:hMorph iMorphSEP38:iMorph { yyValue = makeString( "eMorph", eMorphSEP36, "morphology", false ) + makeString( "hMorph", hMorphSEP37, "morphology", false ) + makeString( "iMorph", iMorphSEP38, "morphology", false ) ; } / uMorphSEP39:uMorph hMorphSEP40:hMorph oMorphSEP41:oMorph { yyValue = makeString( "uMorph", uMorphSEP39, "morphology", false ) + makeString( "hMorph", hMorphSEP40, "morphology", false ) + makeString( "oMorph", oMorphSEP41, "morphology", false ) ; } / aMorphSEP42:aMorph uMorphSEP43:uMorph { yyValue = makeString( "aMorph", aMorphSEP42, "morphology", false ) + makeString( "uMorph", uMorphSEP43, "morphology", false ) ; } / uMorphSEP44:uMorph aMorphSEP45:aMorph { yyValue = makeString( "uMorph", uMorphSEP44, "morphology", false ) + makeString( "aMorph", aMorphSEP45, "morphology", false ) ; } / aMorphSEP46:aMorph hMorphSEP47:hMorph iMorphSEP48:iMorph { yyValue = makeString( "aMorph", aMorphSEP46, "morphology", false ) + makeString( "hMorph", hMorphSEP47, "morphology", false ) + makeString( "iMorph", iMorphSEP48, "morphology", false ) ; } / iMorphSEP49:iMorph hMorphSEP50:hMorph uMorphSEP51:uMorph { yyValue = makeString( "iMorph", iMorphSEP49, "morphology", false ) + makeString( "hMorph", hMorphSEP50, "morphology", false ) + makeString( "uMorph", uMorphSEP51, "morphology", false ) ; } / iMorphSEP52:iMorph iMorphSEP53:iMorph { yyValue = makeString( "iMorph", iMorphSEP52, "morphology", false ) + makeString( "iMorph", iMorphSEP53, "morphology", false ) ; } / uMorphSEP54:uMorph hMorphSEP55:hMorph aMorphSEP56:aMorph { yyValue = makeString( "uMorph", uMorphSEP54, "morphology", false ) + makeString( "hMorph", hMorphSEP55, "morphology", false ) + makeString( "aMorph", aMorphSEP56, "morphology", false ) ; } / uMorphSEP57:uMorph iMorphSEP58:iMorph { yyValue = makeString( "uMorph", uMorphSEP57, "morphology", false ) + makeString( "iMorph", iMorphSEP58, "morphology", false ) ; } / aMorphSEP59:aMorph hMorphSEP60:hMorph oMorphSEP61:oMorph { yyValue = makeString( "aMorph", aMorphSEP59, "morphology", false ) + makeString( "hMorph", hMorphSEP60, "morphology", false ) + makeString( "oMorph", oMorphSEP61, "morphology", false ) ; } / aMorphSEP62:aMorph iMorphSEP63:iMorph { yyValue = makeString( "aMorph", aMorphSEP62, "morphology", false ) + makeString( "iMorph", iMorphSEP63, "morphology", false ) ; } / aMorphSEP64:aMorph hMorphSEP65:hMorph uMorphSEP66:uMorph { yyValue = makeString( "aMorph", aMorphSEP64, "morphology", false ) + makeString( "hMorph", hMorphSEP65, "morphology", false ) + makeString( "uMorph", uMorphSEP66, "morphology", false ) ; } / iMorphSEP67:iMorph uMorphSEP68:uMorph { yyValue = makeString( "iMorph", iMorphSEP67, "morphology", false ) + makeString( "uMorph", uMorphSEP68, "morphology", false ) ; } / eMorphSEP69:eMorph iMorphSEP70:iMorph { yyValue = makeString( "eMorph", eMorphSEP69, "morphology", false ) + makeString( "iMorph", iMorphSEP70, "morphology", false ) ; } / oMorphSEP71:oMorph hMorphSEP72:hMorph oMorphSEP73:oMorph { yyValue = makeString( "oMorph", oMorphSEP71, "morphology", false ) + makeString( "hMorph", hMorphSEP72, "morphology", false ) + makeString( "oMorph", oMorphSEP73, "morphology", false ) ; } / eMorphSEP74:eMorph hMorphSEP75:hMorph aMorphSEP76:aMorph { yyValue = makeString( "eMorph", eMorphSEP74, "morphology", false ) + makeString( "hMorph", hMorphSEP75, "morphology", false ) + makeString( "aMorph", aMorphSEP76, "morphology", false ) ; } / uMorphSEP77:uMorph uMorphSEP78:uMorph { yyValue = makeString( "uMorph", uMorphSEP77, "morphology", false ) + makeString( "uMorph", uMorphSEP78, "morphology", false ) ; } / oMorphSEP79:oMorph hMorphSEP80:hMorph aMorphSEP81:aMorph { yyValue = makeString( "oMorph", oMorphSEP79, "morphology", false ) + makeString( "hMorph", hMorphSEP80, "morphology", false ) + makeString( "aMorph", aMorphSEP81, "morphology", false ) ; } / oMorphSEP82:oMorph hMorphSEP83:hMorph uMorphSEP84:uMorph { yyValue = makeString( "oMorph", oMorphSEP82, "morphology", false ) + makeString( "hMorph", hMorphSEP83, "morphology", false ) + makeString( "uMorph", uMorphSEP84, "morphology", false ) ; } / uMorphSEP85:uMorph hMorphSEP86:hMorph uMorphSEP87:uMorph { yyValue = makeString( "uMorph", uMorphSEP85, "morphology", false ) + makeString( "hMorph", hMorphSEP86, "morphology", false ) + makeString( "uMorph", uMorphSEP87, "morphology", false ) ; } / eMorphSEP88:eMorph hMorphSEP89:hMorph oMorphSEP90:oMorph { yyValue = makeString( "eMorph", eMorphSEP88, "morphology", false ) + makeString( "hMorph", hMorphSEP89, "morphology", false ) + makeString( "oMorph", oMorphSEP90, "morphology", false ) ; } / iMorphSEP91:iMorph oMorphSEP92:oMorph { yyValue = makeString( "iMorph", iMorphSEP91, "morphology", false ) + makeString( "oMorph", oMorphSEP92, "morphology", false ) ; } / eMorphSEP93:eMorph hMorphSEP94:hMorph uMorphSEP95:uMorph { yyValue = makeString( "eMorph", eMorphSEP93, "morphology", false ) + makeString( "hMorph", hMorphSEP94, "morphology", false ) + makeString( "uMorph", uMorphSEP95, "morphology", false ) ; } / uMorphSEP96:uMorph eMorphSEP97:eMorph { yyValue = makeString( "uMorph", uMorphSEP96, "morphology", false ) + makeString( "eMorph", eMorphSEP97, "morphology", false ) ; } / iMorphSEP98:iMorph hMorphSEP99:hMorph iMorphSEP100:iMorph { yyValue = makeString( "iMorph", iMorphSEP98, "morphology", false ) + makeString( "hMorph", hMorphSEP99, "morphology", false ) + makeString( "iMorph", iMorphSEP100, "morphology", false ) ; } / uMorphSEP101:uMorph hMorphSEP102:hMorph eMorphSEP103:eMorph { yyValue = makeString( "uMorph", uMorphSEP101, "morphology", false ) + makeString( "hMorph", hMorphSEP102, "morphology", false ) + makeString( "eMorph", eMorphSEP103, "morphology", false ) ; } / bMorphSEP104:bMorph aMorphSEP105:aMorph hMorphSEP106:hMorph aMorphSEP107:aMorph { yyValue = makeString( "bMorph", bMorphSEP104, "morphology", false ) + makeString( "aMorph", aMorphSEP105, "morphology", false ) + makeString( "hMorph", hMorphSEP106, "morphology", false ) + makeString( "aMorph", aMorphSEP107, "morphology", false ) ; } / jMorphSEP108:jMorph aMorphSEP109:aMorph hMorphSEP110:hMorph oMorphSEP111:oMorph { yyValue = makeString( "jMorph", jMorphSEP108, "morphology", false ) + makeString( "aMorph", aMorphSEP109, "morphology", false ) + makeString( "hMorph", hMorphSEP110, "morphology", false ) + makeString( "oMorph", oMorphSEP111, "morphology", false ) ; } / cMorphSEP112:cMorph aMorphSEP113:aMorph hMorphSEP114:hMorph eMorphSEP115:eMorph { yyValue = makeString( "cMorph", cMorphSEP112, "morphology", false ) + makeString( "aMorph", aMorphSEP113, "morphology", false ) + makeString( "hMorph", hMorphSEP114, "morphology", false ) + makeString( "eMorph", eMorphSEP115, "morphology", false ) ; } / sMorphSEP116:sMorph uMorphSEP117:uMorph hMorphSEP118:hMorph aMorphSEP119:aMorph { yyValue = makeString( "sMorph", sMorphSEP116, "morphology", false ) + makeString( "uMorph", uMorphSEP117, "morphology", false ) + makeString( "hMorph", hMorphSEP118, "morphology", false ) + makeString( "aMorph", aMorphSEP119, "morphology", false ) ; } / tMorphSEP120:tMorph iMorphSEP121:iMorph hMorphSEP122:hMorph eMorphSEP123:eMorph { yyValue = makeString( "tMorph", tMorphSEP120, "morphology", false ) + makeString( "iMorph", iMorphSEP121, "morphology", false ) + makeString( "hMorph", hMorphSEP122, "morphology", false ) + makeString( "eMorph", eMorphSEP123, "morphology", false ) ; } / kMorphSEP124:kMorph aMorphSEP125:aMorph hMorphSEP126:hMorph uMorphSEP127:uMorph { yyValue = makeString( "kMorph", kMorphSEP124, "morphology", false ) + makeString( "aMorph", aMorphSEP125, "morphology", false ) + makeString( "hMorph", hMorphSEP126, "morphology", false ) + makeString( "uMorph", uMorphSEP127, "morphology", false ) ; } / sMorphSEP128:sMorph eMorphSEP129:eMorph hMorphSEP130:hMorph oMorphSEP131:oMorph { yyValue = makeString( "sMorph", sMorphSEP128, "morphology", false ) + makeString( "eMorph", eMorphSEP129, "morphology", false ) + makeString( "hMorph", hMorphSEP130, "morphology", false ) + makeString( "oMorph", oMorphSEP131, "morphology", false ) ; } / zMorphSEP132:zMorph aMorphSEP133:aMorph hMorphSEP134:hMorph aMorphSEP135:aMorph { yyValue = makeString( "zMorph", zMorphSEP132, "morphology", false ) + makeString( "aMorph", aMorphSEP133, "morphology", false ) + makeString( "hMorph", hMorphSEP134, "morphology", false ) + makeString( "aMorph", aMorphSEP135, "morphology", false ) ; } / pMorphSEP136:pMorph eMorphSEP137:eMorph hMorphSEP138:hMorph iMorphSEP139:iMorph { yyValue = makeString( "pMorph", pMorphSEP136, "morphology", false ) + makeString( "eMorph", eMorphSEP137, "morphology", false ) + makeString( "hMorph", hMorphSEP138, "morphology", false ) + makeString( "iMorph", iMorphSEP139, "morphology", false ) ; } / rMorphSEP140:rMorph uMorphSEP141:uMorph hMorphSEP142:hMorph aMorphSEP143:aMorph { yyValue = makeString( "rMorph", rMorphSEP140, "morphology", false ) + makeString( "uMorph", uMorphSEP141, "morphology", false ) + makeString( "hMorph", hMorphSEP142, "morphology", false ) + makeString( "aMorph", aMorphSEP143, "morphology", false ) ; } / jMorphSEP144:jMorph uMorphSEP145:uMorph hMorphSEP146:hMorph aMorphSEP147:aMorph { yyValue = makeString( "jMorph", jMorphSEP144, "morphology", false ) + makeString( "uMorph", uMorphSEP145, "morphology", false ) + makeString( "hMorph", hMorphSEP146, "morphology", false ) + makeString( "aMorph", aMorphSEP147, "morphology", false ) ; } / tMorphSEP148:tMorph aMorphSEP149:aMorph hMorphSEP150:hMorph oMorphSEP151:oMorph { yyValue = makeString( "tMorph", tMorphSEP148, "morphology", false ) + makeString( "aMorph", aMorphSEP149, "morphology", false ) + makeString( "hMorph", hMorphSEP150, "morphology", false ) + makeString( "oMorph", oMorphSEP151, "morphology", false ) ; } / rMorphSEP152:rMorph aMorphSEP153:aMorph hMorphSEP154:hMorph uMorphSEP155:uMorph { yyValue = makeString( "rMorph", rMorphSEP152, "morphology", false ) + makeString( "aMorph", aMorphSEP153, "morphology", false ) + makeString( "hMorph", hMorphSEP154, "morphology", false ) + makeString( "uMorph", uMorphSEP155, "morphology", false ) ; } / lMorphSEP156:lMorph iMorphSEP157:iMorph hMorphSEP158:hMorph aMorphSEP159:aMorph { yyValue = makeString( "lMorph", lMorphSEP156, "morphology", false ) + makeString( "iMorph", iMorphSEP157, "morphology", false ) + makeString( "hMorph", hMorphSEP158, "morphology", false ) + makeString( "aMorph", aMorphSEP159, "morphology", false ) ; } / bMorphSEP160:bMorph aMorphSEP161:aMorph hMorphSEP162:hMorph uMorphSEP163:uMorph { yyValue = makeString( "bMorph", bMorphSEP160, "morphology", false ) + makeString( "aMorph", aMorphSEP161, "morphology", false ) + makeString( "hMorph", hMorphSEP162, "morphology", false ) + makeString( "uMorph", uMorphSEP163, "morphology", false ) ; } / mMorphSEP164:mMorph uMorphSEP165:uMorph hMorphSEP166:hMorph aMorphSEP167:aMorph { yyValue = makeString( "mMorph", mMorphSEP164, "morphology", false ) + makeString( "uMorph", uMorphSEP165, "morphology", false ) + makeString( "hMorph", hMorphSEP166, "morphology", false ) + makeString( "aMorph", aMorphSEP167, "morphology", false ) ; } / dMorphSEP168:dMorph oMorphSEP169:oMorph hMorphSEP170:hMorph aMorphSEP171:aMorph { yyValue = makeString( "dMorph", dMorphSEP168, "morphology", false ) + makeString( "oMorph", oMorphSEP169, "morphology", false ) + makeString( "hMorph", hMorphSEP170, "morphology", false ) + makeString( "aMorph", aMorphSEP171, "morphology", false ) ; } / tMorphSEP172:tMorph oMorphSEP173:oMorph hMorphSEP174:hMorph uMorphSEP175:uMorph { yyValue = makeString( "tMorph", tMorphSEP172, "morphology", false ) + makeString( "oMorph", oMorphSEP173, "morphology", false ) + makeString( "hMorph", hMorphSEP174, "morphology", false ) + makeString( "uMorph", uMorphSEP175, "morphology", false ) ; } / vMorphSEP176:vMorph aMorphSEP177:aMorph hMorphSEP178:hMorph iMorphSEP179:iMorph { yyValue = makeString( "vMorph", vMorphSEP176, "morphology", false ) + makeString( "aMorph", aMorphSEP177, "morphology", false ) + makeString( "hMorph", hMorphSEP178, "morphology", false ) + makeString( "iMorph", iMorphSEP179, "morphology", false ) ; } / pMorphSEP180:pMorph aMorphSEP181:aMorph hMorphSEP182:hMorph eMorphSEP183:eMorph { yyValue = makeString( "pMorph", pMorphSEP180, "morphology", false ) + makeString( "aMorph", aMorphSEP181, "morphology", false ) + makeString( "hMorph", hMorphSEP182, "morphology", false ) + makeString( "eMorph", eMorphSEP183, "morphology", false ) ; } / zMorphSEP184:zMorph uMorphSEP185:uMorph hMorphSEP186:hMorph uMorphSEP187:uMorph { yyValue = makeString( "zMorph", zMorphSEP184, "morphology", false ) + makeString( "uMorph", uMorphSEP185, "morphology", false ) + makeString( "hMorph", hMorphSEP186, "morphology", false ) + makeString( "uMorph", uMorphSEP187, "morphology", false ) ; } / sMorphSEP188:sMorph aMorphSEP189:aMorph hMorphSEP190:hMorph eMorphSEP191:eMorph { yyValue = makeString( "sMorph", sMorphSEP188, "morphology", false ) + makeString( "aMorph", aMorphSEP189, "morphology", false ) + makeString( "hMorph", hMorphSEP190, "morphology", false ) + makeString( "eMorph", eMorphSEP191, "morphology", false ) ; } / lMorphSEP192:lMorph aMorphSEP193:aMorph hMorphSEP194:hMorph aMorphSEP195:aMorph { yyValue = makeString( "lMorph", lMorphSEP192, "morphology", false ) + makeString( "aMorph", aMorphSEP193, "morphology", false ) + makeString( "hMorph", hMorphSEP194, "morphology", false ) + makeString( "aMorph", aMorphSEP195, "morphology", false ) ; } / kMorphSEP196:kMorph eMorphSEP197:eMorph hMorphSEP198:hMorph uMorphSEP199:uMorph { yyValue = makeString( "kMorph", kMorphSEP196, "morphology", false ) + makeString( "eMorph", eMorphSEP197, "morphology", false ) + makeString( "hMorph", hMorphSEP198, "morphology", false ) + makeString( "uMorph", uMorphSEP199, "morphology", false ) ; } / sMorphSEP200:sMorph aMorphSEP201:aMorph hMorphSEP202:hMorph uMorphSEP203:uMorph { yyValue = makeString( "sMorph", sMorphSEP200, "morphology", false ) + makeString( "aMorph", aMorphSEP201, "morphology", false ) + makeString( "hMorph", hMorphSEP202, "morphology", false ) + makeString( "uMorph", uMorphSEP203, "morphology", false ) ; } / dMorphSEP204:dMorph aMorphSEP205:aMorph hMorphSEP206:hMorph iMorphSEP207:iMorph { yyValue = makeString( "dMorph", dMorphSEP204, "morphology", false ) + makeString( "aMorph", aMorphSEP205, "morphology", false ) + makeString( "hMorph", hMorphSEP206, "morphology", false ) + makeString( "iMorph", iMorphSEP207, "morphology", false ) ; } / jMorphSEP208:jMorph eMorphSEP209:eMorph hMorphSEP210:hMorph uMorphSEP211:uMorph { yyValue = makeString( "jMorph", jMorphSEP208, "morphology", false ) + makeString( "eMorph", eMorphSEP209, "morphology", false ) + makeString( "hMorph", hMorphSEP210, "morphology", false ) + makeString( "uMorph", uMorphSEP211, "morphology", false ) ; } / sMorphSEP212:sMorph aMorphSEP213:aMorph hMorphSEP214:hMorph aMorphSEP215:aMorph { yyValue = makeString( "sMorph", sMorphSEP212, "morphology", false ) + makeString( "aMorph", aMorphSEP213, "morphology", false ) + makeString( "hMorph", hMorphSEP214, "morphology", false ) + makeString( "aMorph", aMorphSEP215, "morphology", false ) ; } / kMorphSEP216:kMorph aMorphSEP217:aMorph uMorphSEP218:uMorph { yyValue = makeString( "kMorph", kMorphSEP216, "morphology", false ) + makeString( "aMorph", aMorphSEP217, "morphology", false ) + makeString( "uMorph", uMorphSEP218, "morphology", false ) ; } / tMorphSEP219:tMorph aMorphSEP220:aMorph hMorphSEP221:hMorph uMorphSEP222:uMorph { yyValue = makeString( "tMorph", tMorphSEP219, "morphology", false ) + makeString( "aMorph", aMorphSEP220, "morphology", false ) + makeString( "hMorph", hMorphSEP221, "morphology", false ) + makeString( "uMorph", uMorphSEP222, "morphology", false ) ; } / nMorphSEP223:nMorph aMorphSEP224:aMorph hMorphSEP225:hMorph iMorphSEP226:iMorph { yyValue = makeString( "nMorph", nMorphSEP223, "morphology", false ) + makeString( "aMorph", aMorphSEP224, "morphology", false ) + makeString( "hMorph", hMorphSEP225, "morphology", false ) + makeString( "iMorph", iMorphSEP226, "morphology", false ) ; } / jMorphSEP227:jMorph oMorphSEP228:oMorph hMorphSEP229:hMorph aMorphSEP230:aMorph { yyValue = makeString( "jMorph", jMorphSEP227, "morphology", false ) + makeString( "oMorph", oMorphSEP228, "morphology", false ) + makeString( "hMorph", hMorphSEP229, "morphology", false ) + makeString( "aMorph", aMorphSEP230, "morphology", false ) ; } / bMorphSEP231:bMorph iMorphSEP232:iMorph hMorphSEP233:hMorph uMorphSEP234:uMorph { yyValue = makeString( "bMorph", bMorphSEP231, "morphology", false ) + makeString( "iMorph", iMorphSEP232, "morphology", false ) + makeString( "hMorph", hMorphSEP233, "morphology", false ) + makeString( "uMorph", uMorphSEP234, "morphology", false ) ; } / lMorphSEP235:lMorph iMorphSEP236:iMorph hMorphSEP237:hMorph oMorphSEP238:oMorph { yyValue = makeString( "lMorph", lMorphSEP235, "morphology", false ) + makeString( "iMorph", iMorphSEP236, "morphology", false ) + makeString( "hMorph", hMorphSEP237, "morphology", false ) + makeString( "oMorph", oMorphSEP238, "morphology", false ) ; } / pMorphSEP239:pMorph aMorphSEP240:aMorph uMorphSEP241:uMorph { yyValue = makeString( "pMorph", pMorphSEP239, "morphology", false ) + makeString( "aMorph", aMorphSEP240, "morphology", false ) + makeString( "uMorph", uMorphSEP241, "morphology", false ) ; } / mMorphSEP242:mMorph iMorphSEP243:iMorph hMorphSEP244:hMorph uMorphSEP245:uMorph { yyValue = makeString( "mMorph", mMorphSEP242, "morphology", false ) + makeString( "iMorph", iMorphSEP243, "morphology", false ) + makeString( "hMorph", hMorphSEP244, "morphology", false ) + makeString( "uMorph", uMorphSEP245, "morphology", false ) ; } / kMorphSEP246:kMorph uMorphSEP247:uMorph hMorphSEP248:hMorph iMorphSEP249:iMorph { yyValue = makeString( "kMorph", kMorphSEP246, "morphology", false ) + makeString( "uMorph", uMorphSEP247, "morphology", false ) + makeString( "hMorph", hMorphSEP248, "morphology", false ) + makeString( "iMorph", iMorphSEP249, "morphology", false ) ; } / jMorphSEP250:jMorph iMorphSEP251:iMorph hMorphSEP252:hMorph aMorphSEP253:aMorph { yyValue = makeString( "jMorph", jMorphSEP250, "morphology", false ) + makeString( "iMorph", iMorphSEP251, "morphology", false ) + makeString( "hMorph", hMorphSEP252, "morphology", false ) + makeString( "aMorph", aMorphSEP253, "morphology", false ) ; } / sMorphSEP254:sMorph iMorphSEP255:iMorph hMorphSEP256:hMorph aMorphSEP257:aMorph { yyValue = makeString( "sMorph", sMorphSEP254, "morphology", false ) + makeString( "iMorph", iMorphSEP255, "morphology", false ) + makeString( "hMorph", hMorphSEP256, "morphology", false ) + makeString( "aMorph", aMorphSEP257, "morphology", false ) ; } / pMorphSEP258:pMorph oMorphSEP259:oMorph hMorphSEP260:hMorph oMorphSEP261:oMorph { yyValue = makeString( "pMorph", pMorphSEP258, "morphology", false ) + makeString( "oMorph", oMorphSEP259, "morphology", false ) + makeString( "hMorph", hMorphSEP260, "morphology", false ) + makeString( "oMorph", oMorphSEP261, "morphology", false ) ; } / pMorphSEP262:pMorph eMorphSEP263:eMorph hMorphSEP264:hMorph aMorphSEP265:aMorph { yyValue = makeString( "pMorph", pMorphSEP262, "morphology", false ) + makeString( "eMorph", eMorphSEP263, "morphology", false ) + makeString( "hMorph", hMorphSEP264, "morphology", false ) + makeString( "aMorph", aMorphSEP265, "morphology", false ) ; } / rMorphSEP266:rMorph oMorphSEP267:oMorph hMorphSEP268:hMorph iMorphSEP269:iMorph { yyValue = makeString( "rMorph", rMorphSEP266, "morphology", false ) + makeString( "oMorph", oMorphSEP267, "morphology", false ) + makeString( "hMorph", hMorphSEP268, "morphology", false ) + makeString( "iMorph", iMorphSEP269, "morphology", false ) ; } / rMorphSEP270:rMorph oMorphSEP271:oMorph hMorphSEP272:hMorph eMorphSEP273:eMorph { yyValue = makeString( "rMorph", rMorphSEP270, "morphology", false ) + makeString( "oMorph", oMorphSEP271, "morphology", false ) + makeString( "hMorph", hMorphSEP272, "morphology", false ) + makeString( "eMorph", eMorphSEP273, "morphology", false ) ; } / rMorphSEP274:rMorph oMorphSEP275:oMorph hMorphSEP276:hMorph oMorphSEP277:oMorph { yyValue = makeString( "rMorph", rMorphSEP274, "morphology", false ) + makeString( "oMorph", oMorphSEP275, "morphology", false ) + makeString( "hMorph", hMorphSEP276, "morphology", false ) + makeString( "oMorph", oMorphSEP277, "morphology", false ) ; } / rMorphSEP278:rMorph oMorphSEP279:oMorph hMorphSEP280:hMorph uMorphSEP281:uMorph { yyValue = makeString( "rMorph", rMorphSEP278, "morphology", false ) + makeString( "oMorph", oMorphSEP279, "morphology", false ) + makeString( "hMorph", hMorphSEP280, "morphology", false ) + makeString( "uMorph", uMorphSEP281, "morphology", false ) ; } / rMorphSEP282:rMorph oMorphSEP283:oMorph hMorphSEP284:hMorph aMorphSEP285:aMorph { yyValue = makeString( "rMorph", rMorphSEP282, "morphology", false ) + makeString( "oMorph", oMorphSEP283, "morphology", false ) + makeString( "hMorph", hMorphSEP284, "morphology", false ) + makeString( "aMorph", aMorphSEP285, "morphology", false ) ; } / rMorphSEP286:rMorph eMorphSEP287:eMorph hMorphSEP288:hMorph eMorphSEP289:eMorph { yyValue = makeString( "rMorph", rMorphSEP286, "morphology", false ) + makeString( "eMorph", eMorphSEP287, "morphology", false ) + makeString( "hMorph", hMorphSEP288, "morphology", false ) + makeString( "eMorph", eMorphSEP289, "morphology", false ) ; } / lMorphSEP290:lMorph eMorphSEP291:eMorph hMorphSEP292:hMorph oMorphSEP293:oMorph { yyValue = makeString( "lMorph", lMorphSEP290, "morphology", false ) + makeString( "eMorph", eMorphSEP291, "morphology", false ) + makeString( "hMorph", hMorphSEP292, "morphology", false ) + makeString( "oMorph", oMorphSEP293, "morphology", false ) ; } / jMorphSEP294:jMorph uMorphSEP295:uMorph hMorphSEP296:hMorph oMorphSEP297:oMorph { yyValue = makeString( "jMorph", jMorphSEP294, "morphology", false ) + makeString( "uMorph", uMorphSEP295, "morphology", false ) + makeString( "hMorph", hMorphSEP296, "morphology", false ) + makeString( "oMorph", oMorphSEP297, "morphology", false ) ; } / fMorphSEP298:fMorph uMorphSEP299:uMorph hMorphSEP300:hMorph iMorphSEP301:iMorph { yyValue = makeString( "fMorph", fMorphSEP298, "morphology", false ) + makeString( "uMorph", uMorphSEP299, "morphology", false ) + makeString( "hMorph", hMorphSEP300, "morphology", false ) + makeString( "iMorph", iMorphSEP301, "morphology", false ) ; } / dMorphSEP302:dMorph aMorphSEP303:aMorph iMorphSEP304:iMorph { yyValue = makeString( "dMorph", dMorphSEP302, "morphology", false ) + makeString( "aMorph", aMorphSEP303, "morphology", false ) + makeString( "iMorph", iMorphSEP304, "morphology", false ) ; } / gMorphSEP305:gMorph aMorphSEP306:aMorph hMorphSEP307:hMorph iMorphSEP308:iMorph { yyValue = makeString( "gMorph", gMorphSEP305, "morphology", false ) + makeString( "aMorph", aMorphSEP306, "morphology", false ) + makeString( "hMorph", hMorphSEP307, "morphology", false ) + makeString( "iMorph", iMorphSEP308, "morphology", false ) ; } / zMorphSEP309:zMorph oMorphSEP310:oMorph hMorphSEP311:hMorph oMorphSEP312:oMorph { yyValue = makeString( "zMorph", zMorphSEP309, "morphology", false ) + makeString( "oMorph", oMorphSEP310, "morphology", false ) + makeString( "hMorph", hMorphSEP311, "morphology", false ) + makeString( "oMorph", oMorphSEP312, "morphology", false ) ; } / bMorphSEP313:bMorph eMorphSEP314:eMorph hMorphSEP315:hMorph uMorphSEP316:uMorph { yyValue = makeString( "bMorph", bMorphSEP313, "morphology", false ) + makeString( "eMorph", eMorphSEP314, "morphology", false ) + makeString( "hMorph", hMorphSEP315, "morphology", false ) + makeString( "uMorph", uMorphSEP316, "morphology", false ) ; } / rMorphSEP317:rMorph iMorphSEP318:iMorph hMorphSEP319:hMorph eMorphSEP320:eMorph { yyValue = makeString( "rMorph", rMorphSEP317, "morphology", false ) + makeString( "iMorph", iMorphSEP318, "morphology", false ) + makeString( "hMorph", hMorphSEP319, "morphology", false ) + makeString( "eMorph", eMorphSEP320, "morphology", false ) ; } / sMorphSEP321:sMorph eMorphSEP322:eMorph hMorphSEP323:hMorph iMorphSEP324:iMorph { yyValue = makeString( "sMorph", sMorphSEP321, "morphology", false ) + makeString( "eMorph", eMorphSEP322, "morphology", false ) + makeString( "hMorph", hMorphSEP323, "morphology", false ) + makeString( "iMorph", iMorphSEP324, "morphology", false ) ; } / sMorphSEP325:sMorph eMorphSEP326:eMorph hMorphSEP327:hMorph aMorphSEP328:aMorph { yyValue = makeString( "sMorph", sMorphSEP325, "morphology", false ) + makeString( "eMorph", eMorphSEP326, "morphology", false ) + makeString( "hMorph", hMorphSEP327, "morphology", false ) + makeString( "aMorph", aMorphSEP328, "morphology", false ) ; } / vMorphSEP329:vMorph uMorphSEP330:uMorph hMorphSEP331:hMorph eMorphSEP332:eMorph { yyValue = makeString( "vMorph", vMorphSEP329, "morphology", false ) + makeString( "uMorph", uMorphSEP330, "morphology", false ) + makeString( "hMorph", hMorphSEP331, "morphology", false ) + makeString( "eMorph", eMorphSEP332, "morphology", false ) ; } / kMorphSEP333:kMorph iMorphSEP334:iMorph hMorphSEP335:hMorph aMorphSEP336:aMorph { yyValue = makeString( "kMorph", kMorphSEP333, "morphology", false ) + makeString( "iMorph", iMorphSEP334, "morphology", false ) + makeString( "hMorph", hMorphSEP335, "morphology", false ) + makeString( "aMorph", aMorphSEP336, "morphology", false ) ; } / xMorphSEP337:xMorph uMorphSEP338:uMorph { yyValue = makeString( "xMorph", xMorphSEP337, "morphology", false ) + makeString( "uMorph", uMorphSEP338, "morphology", false ) ; } / gMorphSEP339:gMorph eMorphSEP340:eMorph hMorphSEP341:hMorph eMorphSEP342:eMorph { yyValue = makeString( "gMorph", gMorphSEP339, "morphology", false ) + makeString( "eMorph", eMorphSEP340, "morphology", false ) + makeString( "hMorph", hMorphSEP341, "morphology", false ) + makeString( "eMorph", eMorphSEP342, "morphology", false ) ; } / bMorphSEP343:bMorph uMorphSEP344:uMorph hMorphSEP345:hMorph oMorphSEP346:oMorph { yyValue = makeString( "bMorph", bMorphSEP343, "morphology", false ) + makeString( "uMorph", uMorphSEP344, "morphology", false ) + makeString( "hMorph", hMorphSEP345, "morphology", false ) + makeString( "oMorph", oMorphSEP346, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VAMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph iMorphSEP2:iMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } / vMorphSEP3:vMorph aMorphSEP4:aMorph { yyValue = makeString( "vMorph", vMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / vMorphSEP5:vMorph uMorphSEP6:uMorph { yyValue = makeString( "vMorph", vMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VAUMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph aMorphSEP2:aMorph uMorphSEP3:uMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "aMorph", aMorphSEP2, "morphology", false ) + makeString( "uMorph", uMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VEIMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VEhOMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph eMorphSEP2:eMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VUhUMorph = &cmavoMorph PARSERparen1:( gMorphSEP1:gMorph eMorphSEP2:eMorph hMorphSEP3:hMorph aMorphSEP4:aMorph { yyValue = makeString( "gMorph", gMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / fMorphSEP5:fMorph uMorphSEP6:uMorph hMorphSEP7:hMorph uMorphSEP8:uMorph { yyValue = makeString( "fMorph", fMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "uMorph", uMorphSEP8, "morphology", false ) ; } / pMorphSEP9:pMorph iMorphSEP10:iMorph hMorphSEP11:hMorph iMorphSEP12:iMorph { yyValue = makeString( "pMorph", pMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "iMorph", iMorphSEP12, "morphology", false ) ; } / fMorphSEP13:fMorph eMorphSEP14:eMorph hMorphSEP15:hMorph iMorphSEP16:iMorph { yyValue = makeString( "fMorph", fMorphSEP13, "morphology", false ) + makeString( "eMorph", eMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "iMorph", iMorphSEP16, "morphology", false ) ; } / vMorphSEP17:vMorph uMorphSEP18:uMorph hMorphSEP19:hMorph uMorphSEP20:uMorph { yyValue = makeString( "vMorph", vMorphSEP17, "morphology", false ) + makeString( "uMorph", uMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "uMorph", uMorphSEP20, "morphology", false ) ; } / sMorphSEP21:sMorph uMorphSEP22:uMorph hMorphSEP23:hMorph iMorphSEP24:iMorph { yyValue = makeString( "sMorph", sMorphSEP21, "morphology", false ) + makeString( "uMorph", uMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "iMorph", iMorphSEP24, "morphology", false ) ; } / jMorphSEP25:jMorph uMorphSEP26:uMorph hMorphSEP27:hMorph uMorphSEP28:uMorph { yyValue = makeString( "jMorph", jMorphSEP25, "morphology", false ) + makeString( "uMorph", uMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "uMorph", uMorphSEP28, "morphology", false ) ; } / gMorphSEP29:gMorph eMorphSEP30:eMorph iMorphSEP31:iMorph { yyValue = makeString( "gMorph", gMorphSEP29, "morphology", false ) + makeString( "eMorph", eMorphSEP30, "morphology", false ) + makeString( "iMorph", iMorphSEP31, "morphology", false ) ; } / pMorphSEP32:pMorph aMorphSEP33:aMorph hMorphSEP34:hMorph iMorphSEP35:iMorph { yyValue = makeString( "pMorph", pMorphSEP32, "morphology", false ) + makeString( "aMorph", aMorphSEP33, "morphology", false ) + makeString( "hMorph", hMorphSEP34, "morphology", false ) + makeString( "iMorph", iMorphSEP35, "morphology", false ) ; } / fMorphSEP36:fMorph aMorphSEP37:aMorph hMorphSEP38:hMorph iMorphSEP39:iMorph { yyValue = makeString( "fMorph", fMorphSEP36, "morphology", false ) + makeString( "aMorph", aMorphSEP37, "morphology", false ) + makeString( "hMorph", hMorphSEP38, "morphology", false ) + makeString( "iMorph", iMorphSEP39, "morphology", false ) ; } / tMorphSEP40:tMorph eMorphSEP41:eMorph hMorphSEP42:hMorph aMorphSEP43:aMorph { yyValue = makeString( "tMorph", tMorphSEP40, "morphology", false ) + makeString( "eMorph", eMorphSEP41, "morphology", false ) + makeString( "hMorph", hMorphSEP42, "morphology", false ) + makeString( "aMorph", aMorphSEP43, "morphology", false ) ; } / cMorphSEP44:cMorph uMorphSEP45:uMorph hMorphSEP46:hMorph aMorphSEP47:aMorph { yyValue = makeString( "cMorph", cMorphSEP44, "morphology", false ) + makeString( "uMorph", uMorphSEP45, "morphology", false ) + makeString( "hMorph", hMorphSEP46, "morphology", false ) + makeString( "aMorph", aMorphSEP47, "morphology", false ) ; } / vMorphSEP48:vMorph aMorphSEP49:aMorph hMorphSEP50:hMorph aMorphSEP51:aMorph { yyValue = makeString( "vMorph", vMorphSEP48, "morphology", false ) + makeString( "aMorph", aMorphSEP49, "morphology", false ) + makeString( "hMorph", hMorphSEP50, "morphology", false ) + makeString( "aMorph", aMorphSEP51, "morphology", false ) ; } / nMorphSEP52:nMorph eMorphSEP53:eMorph hMorphSEP54:hMorph oMorphSEP55:oMorph { yyValue = makeString( "nMorph", nMorphSEP52, "morphology", false ) + makeString( "eMorph", eMorphSEP53, "morphology", false ) + makeString( "hMorph", hMorphSEP54, "morphology", false ) + makeString( "oMorph", oMorphSEP55, "morphology", false ) ; } / dMorphSEP56:dMorph eMorphSEP57:eMorph hMorphSEP58:hMorph oMorphSEP59:oMorph { yyValue = makeString( "dMorph", dMorphSEP56, "morphology", false ) + makeString( "eMorph", eMorphSEP57, "morphology", false ) + makeString( "hMorph", hMorphSEP58, "morphology", false ) + makeString( "oMorph", oMorphSEP59, "morphology", false ) ; } / fMorphSEP60:fMorph eMorphSEP61:eMorph hMorphSEP62:hMorph aMorphSEP63:aMorph { yyValue = makeString( "fMorph", fMorphSEP60, "morphology", false ) + makeString( "eMorph", eMorphSEP61, "morphology", false ) + makeString( "hMorph", hMorphSEP62, "morphology", false ) + makeString( "aMorph", aMorphSEP63, "morphology", false ) ; } / sMorphSEP64:sMorph aMorphSEP65:aMorph hMorphSEP66:hMorph oMorphSEP67:oMorph { yyValue = makeString( "sMorph", sMorphSEP64, "morphology", false ) + makeString( "aMorph", aMorphSEP65, "morphology", false ) + makeString( "hMorph", hMorphSEP66, "morphology", false ) + makeString( "oMorph", oMorphSEP67, "morphology", false ) ; } / rMorphSEP68:rMorph eMorphSEP69:eMorph hMorphSEP70:hMorph aMorphSEP71:aMorph { yyValue = makeString( "rMorph", rMorphSEP68, "morphology", false ) + makeString( "eMorph", eMorphSEP69, "morphology", false ) + makeString( "hMorph", hMorphSEP70, "morphology", false ) + makeString( "aMorph", aMorphSEP71, "morphology", false ) ; } / rMorphSEP72:rMorph iMorphSEP73:iMorph hMorphSEP74:hMorph oMorphSEP75:oMorph { yyValue = makeString( "rMorph", rMorphSEP72, "morphology", false ) + makeString( "iMorph", iMorphSEP73, "morphology", false ) + makeString( "hMorph", hMorphSEP74, "morphology", false ) + makeString( "oMorph", oMorphSEP75, "morphology", false ) ; } / sMorphSEP76:sMorph aMorphSEP77:aMorph hMorphSEP78:hMorph iMorphSEP79:iMorph { yyValue = makeString( "sMorph", sMorphSEP76, "morphology", false ) + makeString( "aMorph", aMorphSEP77, "morphology", false ) + makeString( "hMorph", hMorphSEP78, "morphology", false ) + makeString( "iMorph", iMorphSEP79, "morphology", false ) ; } / pMorphSEP80:pMorph iMorphSEP81:iMorph hMorphSEP82:hMorph aMorphSEP83:aMorph { yyValue = makeString( "pMorph", pMorphSEP80, "morphology", false ) + makeString( "iMorph", iMorphSEP81, "morphology", false ) + makeString( "hMorph", hMorphSEP82, "morphology", false ) + makeString( "aMorph", aMorphSEP83, "morphology", false ) ; } / sMorphSEP84:sMorph iMorphSEP85:iMorph hMorphSEP86:hMorph iMorphSEP87:iMorph { yyValue = makeString( "sMorph", sMorphSEP84, "morphology", false ) + makeString( "iMorph", iMorphSEP85, "morphology", false ) + makeString( "hMorph", hMorphSEP86, "morphology", false ) + makeString( "iMorph", iMorphSEP87, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VEhAMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / vMorphSEP5:vMorph eMorphSEP6:eMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "vMorph", vMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / vMorphSEP9:vMorph eMorphSEP10:eMorph hMorphSEP11:hMorph iMorphSEP12:iMorph { yyValue = makeString( "vMorph", vMorphSEP9, "morphology", false ) + makeString( "eMorph", eMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "iMorph", iMorphSEP12, "morphology", false ) ; } / vMorphSEP13:vMorph eMorphSEP14:eMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "vMorph", vMorphSEP13, "morphology", false ) + makeString( "eMorph", eMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VIhAMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph iMorphSEP2:iMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / vMorphSEP5:vMorph iMorphSEP6:iMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "vMorph", vMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / vMorphSEP9:vMorph iMorphSEP10:iMorph hMorphSEP11:hMorph uMorphSEP12:uMorph { yyValue = makeString( "vMorph", vMorphSEP9, "morphology", false ) + makeString( "iMorph", iMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / vMorphSEP13:vMorph iMorphSEP14:iMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "vMorph", vMorphSEP13, "morphology", false ) + makeString( "iMorph", iMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String VUhOMorph = &cmavoMorph PARSERparen1:( vMorphSEP1:vMorph uMorphSEP2:uMorph hMorphSEP3:hMorph oMorphSEP4:oMorph { yyValue = makeString( "vMorph", vMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "oMorph", oMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String XIMorph = &cmavoMorph PARSERparen1:( xMorphSEP1:xMorph iMorphSEP2:iMorph { yyValue = makeString( "xMorph", xMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String YMorph = &cmavoMorph PARSERparen1:( yMorphSEP1:yMorph+ { yyValue = makeString( "yMorph", yMorphSEP1, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZAhOMorph = &cmavoMorph PARSERparen1:( cMorphSEP1:cMorph oMorphSEP2:oMorph hMorphSEP3:hMorph iMorphSEP4:iMorph { yyValue = makeString( "cMorph", cMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "iMorph", iMorphSEP4, "morphology", false ) ; } / pMorphSEP5:pMorph uMorphSEP6:uMorph hMorphSEP7:hMorph oMorphSEP8:oMorph { yyValue = makeString( "pMorph", pMorphSEP5, "morphology", false ) + makeString( "uMorph", uMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "oMorph", oMorphSEP8, "morphology", false ) ; } / cMorphSEP9:cMorph oMorphSEP10:oMorph hMorphSEP11:hMorph uMorphSEP12:uMorph { yyValue = makeString( "cMorph", cMorphSEP9, "morphology", false ) + makeString( "oMorph", oMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "uMorph", uMorphSEP12, "morphology", false ) ; } / mMorphSEP13:mMorph oMorphSEP14:oMorph hMorphSEP15:hMorph uMorphSEP16:uMorph { yyValue = makeString( "mMorph", mMorphSEP13, "morphology", false ) + makeString( "oMorph", oMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "uMorph", uMorphSEP16, "morphology", false ) ; } / cMorphSEP17:cMorph aMorphSEP18:aMorph hMorphSEP19:hMorph oMorphSEP20:oMorph { yyValue = makeString( "cMorph", cMorphSEP17, "morphology", false ) + makeString( "aMorph", aMorphSEP18, "morphology", false ) + makeString( "hMorph", hMorphSEP19, "morphology", false ) + makeString( "oMorph", oMorphSEP20, "morphology", false ) ; } / cMorphSEP21:cMorph oMorphSEP22:oMorph hMorphSEP23:hMorph aMorphSEP24:aMorph { yyValue = makeString( "cMorph", cMorphSEP21, "morphology", false ) + makeString( "oMorph", oMorphSEP22, "morphology", false ) + makeString( "hMorph", hMorphSEP23, "morphology", false ) + makeString( "aMorph", aMorphSEP24, "morphology", false ) ; } / dMorphSEP25:dMorph eMorphSEP26:eMorph hMorphSEP27:hMorph aMorphSEP28:aMorph { yyValue = makeString( "dMorph", dMorphSEP25, "morphology", false ) + makeString( "eMorph", eMorphSEP26, "morphology", false ) + makeString( "hMorph", hMorphSEP27, "morphology", false ) + makeString( "aMorph", aMorphSEP28, "morphology", false ) ; } / bMorphSEP29:bMorph aMorphSEP30:aMorph hMorphSEP31:hMorph oMorphSEP32:oMorph { yyValue = makeString( "bMorph", bMorphSEP29, "morphology", false ) + makeString( "aMorph", aMorphSEP30, "morphology", false ) + makeString( "hMorph", hMorphSEP31, "morphology", false ) + makeString( "oMorph", oMorphSEP32, "morphology", false ) ; } / dMorphSEP33:dMorph iMorphSEP34:iMorph hMorphSEP35:hMorph aMorphSEP36:aMorph { yyValue = makeString( "dMorph", dMorphSEP33, "morphology", false ) + makeString( "iMorph", iMorphSEP34, "morphology", false ) + makeString( "hMorph", hMorphSEP35, "morphology", false ) + makeString( "aMorph", aMorphSEP36, "morphology", false ) ; } / zMorphSEP37:zMorph aMorphSEP38:aMorph hMorphSEP39:hMorph oMorphSEP40:oMorph { yyValue = makeString( "zMorph", zMorphSEP37, "morphology", false ) + makeString( "aMorph", aMorphSEP38, "morphology", false ) + makeString( "hMorph", hMorphSEP39, "morphology", false ) + makeString( "oMorph", oMorphSEP40, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZEhAMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph eMorphSEP2:eMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } / zMorphSEP5:zMorph eMorphSEP6:eMorph hMorphSEP7:hMorph aMorphSEP8:aMorph { yyValue = makeString( "zMorph", zMorphSEP5, "morphology", false ) + makeString( "eMorph", eMorphSEP6, "morphology", false ) + makeString( "hMorph", hMorphSEP7, "morphology", false ) + makeString( "aMorph", aMorphSEP8, "morphology", false ) ; } / zMorphSEP9:zMorph eMorphSEP10:eMorph hMorphSEP11:hMorph iMorphSEP12:iMorph { yyValue = makeString( "zMorph", zMorphSEP9, "morphology", false ) + makeString( "eMorph", eMorphSEP10, "morphology", false ) + makeString( "hMorph", hMorphSEP11, "morphology", false ) + makeString( "iMorph", iMorphSEP12, "morphology", false ) ; } / zMorphSEP13:zMorph eMorphSEP14:eMorph hMorphSEP15:hMorph eMorphSEP16:eMorph { yyValue = makeString( "zMorph", zMorphSEP13, "morphology", false ) + makeString( "eMorph", eMorphSEP14, "morphology", false ) + makeString( "hMorph", hMorphSEP15, "morphology", false ) + makeString( "eMorph", eMorphSEP16, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZEIMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph eMorphSEP2:eMorph iMorphSEP3:iMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "eMorph", eMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZIMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph uMorphSEP2:uMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "uMorph", uMorphSEP2, "morphology", false ) ; } / zMorphSEP3:zMorph aMorphSEP4:aMorph { yyValue = makeString( "zMorph", zMorphSEP3, "morphology", false ) + makeString( "aMorph", aMorphSEP4, "morphology", false ) ; } / zMorphSEP5:zMorph iMorphSEP6:iMorph { yyValue = makeString( "zMorph", zMorphSEP5, "morphology", false ) + makeString( "iMorph", iMorphSEP6, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZIhEMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph iMorphSEP2:iMorph hMorphSEP3:hMorph eMorphSEP4:eMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "iMorph", iMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "eMorph", eMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZOMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph oMorphSEP2:oMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZOIMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph oMorphSEP2:oMorph iMorphSEP3:iMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "iMorph", iMorphSEP3, "morphology", false ) ; } / lMorphSEP4:lMorph aMorphSEP5:aMorph hMorphSEP6:hMorph oMorphSEP7:oMorph { yyValue = makeString( "lMorph", lMorphSEP4, "morphology", false ) + makeString( "aMorph", aMorphSEP5, "morphology", false ) + makeString( "hMorph", hMorphSEP6, "morphology", false ) + makeString( "oMorph", oMorphSEP7, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ; String ZOhUMorph = &cmavoMorph PARSERparen1:( zMorphSEP1:zMorph oMorphSEP2:oMorph hMorphSEP3:hMorph uMorphSEP4:uMorph { yyValue = makeString( "zMorph", zMorphSEP1, "morphology", false ) + makeString( "oMorph", oMorphSEP2, "morphology", false ) + makeString( "hMorph", hMorphSEP3, "morphology", false ) + makeString( "uMorph", uMorphSEP4, "morphology", false ) ; } ) &postWordMorph { yyValue = makeString( "PARSERparen1", PARSERparen1, "parserParen", false ) ; } ;