Package xtc.parser

Examples of xtc.parser.SemanticValue


      case '|':
      case '~':
        {
          yyValue = null;

          return new SemanticValue(yyValue, yyIndex, yyError);
        }

      default:
        /* No match. */
      }
    }

    // Alternative 2.

    yyC = character(yyStart);
    if (-1 != yyC) {
      yyIndex = yyStart + 1;
      if (('+' == yyC) ||
          (('<' <= yyC) && (yyC <= '>')) ||
          ('|' == yyC) ||
          ('~' == yyC) ||
          ('\u00ac' == yyC) ||
          ('\u00b1' == yyC) ||
          ('\u00d7' == yyC) ||
          ('\u00f7' == yyC) ||
          ('\u03f6' == yyC) ||
          (('\u0606' <= yyC) && (yyC <= '\u0608')) ||
          ('\u2044' == yyC) ||
          ('\u2052' == yyC) ||
          (('\u207a' <= yyC) && (yyC <= '\u207c')) ||
          (('\u208a' <= yyC) && (yyC <= '\u208c')) ||
          (('\u2140' <= yyC) && (yyC <= '\u2144')) ||
          ('\u214b' == yyC) ||
          (('\u2190' <= yyC) && (yyC <= '\u2194')) ||
          (('\u219a' <= yyC) && (yyC <= '\u219b')) ||
          ('\u21a0' == yyC) ||
          ('\u21a3' == yyC) ||
          ('\u21a6' == yyC) ||
          ('\u21ae' == yyC) ||
          (('\u21ce' <= yyC) && (yyC <= '\u21cf')) ||
          ('\u21d2' == yyC) ||
          ('\u21d4' == yyC) ||
          (('\u21f4' <= yyC) && (yyC <= '\u22ff')) ||
          (('\u2308' <= yyC) && (yyC <= '\u230b')) ||
          (('\u2320' <= yyC) && (yyC <= '\u2321')) ||
          ('\u237c' == yyC) ||
          (('\u239b' <= yyC) && (yyC <= '\u23b3')) ||
          (('\u23dc' <= yyC) && (yyC <= '\u23e1')) ||
          ('\u25b7' == yyC) ||
          ('\u25c1' == yyC) ||
          (('\u25f8' <= yyC) && (yyC <= '\u25ff')) ||
          ('\u266f' == yyC) ||
          (('\u27c0' <= yyC) && (yyC <= '\u27ca')) ||
          ('\u27cc' == yyC) ||
          (('\u27d0' <= yyC) && (yyC <= '\u27e5')) ||
          (('\u27f0' <= yyC) && (yyC <= '\u27ff')) ||
          (('\u2900' <= yyC) && (yyC <= '\u2982')) ||
          ('\u2999' == yyC) ||
          (('\u29c6' <= yyC) && (yyC <= '\u29d7')) ||
          (('\u29dc' <= yyC) && (yyC <= '\u29fb')) ||
          (('\u29fe' <= yyC) && (yyC <= '\u2aff')) ||
          (('\u2b30' <= yyC) && (yyC <= '\u2b44')) ||
          (('\u2b47' <= yyC) && (yyC <= '\u2b4c')) ||
          ('\ufb29' == yyC) ||
          ('\ufe62' == yyC) ||
          (('\ufe64' <= yyC) && (yyC <= '\ufe66')) ||
          ('\uff0b' == yyC) ||
          (('\uff1c' <= yyC) && (yyC <= '\uff1e')) ||
          ('\uff5c' == yyC) ||
          ('\uff5e' == yyC) ||
          ('\uffe2' == yyC) ||
          (('\uffe9' <= yyC) && (yyC <= '\uffec'))) {

        yyValue = null;

        return new SemanticValue(yyValue, yyIndex, yyError);
      }
    }

    // Alternative 3.

    yyC = character(yyStart);
    if ('\ud835' == yyC) {
      yyIndex = yyStart + 1;

      yyC = character(yyIndex);
      if (-1 != yyC) {
        yyIndex = yyIndex + 1;

        switch (yyC) {
        case '\udec1':
        case '\udedb':
        case '\udefb':
        case '\udf15':
        case '\udf35':
        case '\udf4f':
        case '\udf6f':
        case '\udf89':
        case '\udfa9':
        case '\udfc3':
          {
            yyValue = null;

            return new SemanticValue(yyValue, yyIndex, yyError);
          }

        default:
          /* No match. */
        }
      }
    }

    // Alternative 4.

    yyC = character(yyStart);
    if (-1 != yyC) {
      yyIndex = yyStart + 1;
      if ((('\u00a6' <= yyC) && (yyC <= '\u00a7')) ||
          ('\u00a9' == yyC) ||
          ('\u00ae' == yyC) ||
          ('\u00b0' == yyC) ||
          ('\u00b6' == yyC) ||
          ('\u0482' == yyC) ||
          (('\u060e' <= yyC) && (yyC <= '\u060f')) ||
          ('\u06e9' == yyC) ||
          (('\u06fd' <= yyC) && (yyC <= '\u06fe')) ||
          ('\u07f6' == yyC) ||
          ('\u09fa' == yyC) ||
          ('\u0b70' == yyC) ||
          (('\u0bf3' <= yyC) && (yyC <= '\u0bf8')) ||
          ('\u0bfa' == yyC) ||
          ('\u0c7f' == yyC) ||
          (('\u0cf1' <= yyC) && (yyC <= '\u0cf2')) ||
          ('\u0d79' == yyC) ||
          (('\u0f01' <= yyC) && (yyC <= '\u0f03')) ||
          (('\u0f13' <= yyC) && (yyC <= '\u0f17')) ||
          (('\u0f1a' <= yyC) && (yyC <= '\u0f1f')) ||
          ('\u0f34' == yyC) ||
          ('\u0f36' == yyC) ||
          ('\u0f38' == yyC) ||
          (('\u0fbe' <= yyC) && (yyC <= '\u0fcf')) ||
          (('\u109e' <= yyC) && (yyC <= '\u109f')) ||
          ('\u1360' == yyC) ||
          (('\u1390' <= yyC) && (yyC <= '\u1399')) ||
          ('\u1940' == yyC) ||
          (('\u19e0' <= yyC) && (yyC <= '\u19ff')) ||
          (('\u1b61' <= yyC) && (yyC <= '\u1b6a')) ||
          (('\u1b74' <= yyC) && (yyC <= '\u1b7c')) ||
          (('\u2100' <= yyC) && (yyC <= '\u2106')) ||
          (('\u2108' <= yyC) && (yyC <= '\u2109')) ||
          ('\u2114' == yyC) ||
          (('\u2116' <= yyC) && (yyC <= '\u2118')) ||
          (('\u211e' <= yyC) && (yyC <= '\u2123')) ||
          ('\u2125' == yyC) ||
          ('\u2127' == yyC) ||
          ('\u2129' == yyC) ||
          ('\u212e' == yyC) ||
          (('\u213a' <= yyC) && (yyC <= '\u213b')) ||
          ('\u214a' == yyC) ||
          (('\u214c' <= yyC) && (yyC <= '\u214d')) ||
          ('\u214f' == yyC) ||
          (('\u2195' <= yyC) && (yyC <= '\u2199')) ||
          (('\u219c' <= yyC) && (yyC <= '\u219f')) ||
          (('\u21a1' <= yyC) && (yyC <= '\u21a2')) ||
          (('\u21a4' <= yyC) && (yyC <= '\u21a5')) ||
          (('\u21a7' <= yyC) && (yyC <= '\u21ad')) ||
          (('\u21af' <= yyC) && (yyC <= '\u21cd')) ||
          (('\u21d0' <= yyC) && (yyC <= '\u21d1')) ||
          ('\u21d3' == yyC) ||
          (('\u21d5' <= yyC) && (yyC <= '\u21f3')) ||
          (('\u2300' <= yyC) && (yyC <= '\u2307')) ||
          (('\u230c' <= yyC) && (yyC <= '\u231f')) ||
          (('\u2322' <= yyC) && (yyC <= '\u2328')) ||
          (('\u232b' <= yyC) && (yyC <= '\u237b')) ||
          (('\u237d' <= yyC) && (yyC <= '\u239a')) ||
          (('\u23b4' <= yyC) && (yyC <= '\u23db')) ||
          (('\u23e2' <= yyC) && (yyC <= '\u23e7')) ||
          (('\u2400' <= yyC) && (yyC <= '\u2426')) ||
          (('\u2440' <= yyC) && (yyC <= '\u244a')) ||
          (('\u249c' <= yyC) && (yyC <= '\u24e9')) ||
          (('\u2500' <= yyC) && (yyC <= '\u25b6')) ||
          (('\u25b8' <= yyC) && (yyC <= '\u25c0')) ||
          (('\u25c2' <= yyC) && (yyC <= '\u25f7')) ||
          (('\u2600' <= yyC) && (yyC <= '\u26bc')) ||
          (('\u26c0' <= yyC) && (yyC <= '\u26c3')) ||
          (('\u2701' <= yyC) && (yyC <= '\u2704')) ||
          (('\u2706' <= yyC) && (yyC <= '\u2709')) ||
          (('\u270c' <= yyC) && (yyC <= '\u2727')) ||
          (('\u2729' <= yyC) && (yyC <= '\u274b')) ||
          ('\u274d' == yyC) ||
          (('\u274f' <= yyC) && (yyC <= '\u2752')) ||
          ('\u2756' == yyC) ||
          (('\u2758' <= yyC) && (yyC <= '\u275e')) ||
          (('\u2761' <= yyC) && (yyC <= '\u2767')) ||
          ('\u2794' == yyC) ||
          (('\u2798' <= yyC) && (yyC <= '\u27af')) ||
          (('\u27b1' <= yyC) && (yyC <= '\u27be')) ||
          (('\u2800' <= yyC) && (yyC <= '\u2b2f')) ||
          (('\u2b45' <= yyC) && (yyC <= '\u2b46')) ||
          (('\u2b50' <= yyC) && (yyC <= '\u2b54')) ||
          (('\u2ce5' <= yyC) && (yyC <= '\u2cea')) ||
          (('\u2e80' <= yyC) && (yyC <= '\u2e99')) ||
          (('\u2e9b' <= yyC) && (yyC <= '\u2ef3')) ||
          (('\u2f00' <= yyC) && (yyC <= '\u2fd5')) ||
          (('\u2ff0' <= yyC) && (yyC <= '\u2ffb')) ||
          ('\u3004' == yyC) ||
          (('\u3012' <= yyC) && (yyC <= '\u3013')) ||
          ('\u3020' == yyC) ||
          (('\u3036' <= yyC) && (yyC <= '\u3037')) ||
          (('\u303e' <= yyC) && (yyC <= '\u303f')) ||
          (('\u3190' <= yyC) && (yyC <= '\u3191')) ||
          (('\u3196' <= yyC) && (yyC <= '\u31e3')) ||
          (('\u3200' <= yyC) && (yyC <= '\u321e')) ||
          (('\u322a' <= yyC) && (yyC <= '\u3243')) ||
          ('\u3250' == yyC) ||
          (('\u3260' <= yyC) && (yyC <= '\u327f')) ||
          (('\u328a' <= yyC) && (yyC <= '\u32b0')) ||
          (('\u32c0' <= yyC) && (yyC <= '\u32fe')) ||
          (('\u3300' <= yyC) && (yyC <= '\ua4c6')) ||
          (('\ua828' <= yyC) && (yyC <= '\ua82b')) ||
          ('\ufdfd' == yyC) ||
          ('\uffe4' == yyC) ||
          ('\uffe8' == yyC) ||
          (('\uffed' <= yyC) && (yyC <= '\uffee')) ||
          (('\ufffc' <= yyC) && (yyC <= '\ufffd'))) {

        yyValue = null;

        return new SemanticValue(yyValue, yyIndex, yyError);
      }
    }

    // Alternative 5.

    yyC = character(yyStart);
    if (-1 != yyC) {
      yyIndex = yyStart + 1;

      switch (yyC) {
      case '\ud800':
        {
          yyC = character(yyIndex);
          if (-1 != yyC) {
            yyIndex = yyIndex + 1;
            if (('\udd02' == yyC) ||
                (('\udd37' <= yyC) && (yyC <= '\udd3f')) ||
                (('\udd79' <= yyC) && (yyC <= '\udd9b')) ||
                (('\uddd0' <= yyC) && (yyC <= '\uddfc'))) {

              yyValue = null;

              return new SemanticValue(yyValue, yyIndex, yyError);
            }
          }
        }
        break;

      case '\ud834':
        {
          yyC = character(yyIndex);
          if (-1 != yyC) {
            yyIndex = yyIndex + 1;
            if ((('\udc00' <= yyC) && (yyC <= '\udcf5')) ||
                (('\udd00' <= yyC) && (yyC <= '\udd6c')) ||
                (('\udd83' <= yyC) && (yyC <= '\udd84')) ||
                (('\udd8c' <= yyC) && (yyC <= '\udda9')) ||
                (('\uddae' <= yyC) && (yyC <= '\ude41')) ||
                ('\ude45' == yyC) ||
                (('\udf00' <= yyC) && (yyC <= '\udf56'))) {

              yyValue = null;

              return new SemanticValue(yyValue, yyIndex, yyError);
            }
          }
        }
        break;

      case '\ud83c':
        {
          yyC = character(yyIndex);
          if (-1 != yyC) {
            yyIndex = yyIndex + 1;
            if (('\udc00' <= yyC) && (yyC <= '\udc93')) {

              yyValue = null;

              return new SemanticValue(yyValue, yyIndex, yyError);
            }
          }
        }
        break;

View Full Code Here


                                        if (! yyPredMatched) {

                                          yyValue = "abstract";

                                          return new SemanticValue(yyValue, yyIndex, yyError);
                                        } else {
                                          yyError = yyError.select("keyword expected", yyStart);
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
          break;

        case 'c':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'a':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;

                    switch (yyC) {
                    case 's':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('e' == yyC) {

                            yyPredMatched = false;

                            yyPredResult = pidrest(yyIndex);
                            if (yyPredResult.hasValue()) {

                              yyPredMatched = true;
                            }

                            if (! yyPredMatched) {

                              yyValue = "case";

                              return new SemanticValue(yyValue, yyIndex, yyError);
                            } else {
                              yyError = yyError.select("keyword expected", yyStart);
                            }
                          }
                        }
                      }
                      break;

                    case 't':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('c' == yyC) {

                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('h' == yyC) {

                                yyPredMatched = false;

                                yyPredResult = pidrest(yyIndex);
                                if (yyPredResult.hasValue()) {

                                  yyPredMatched = true;
                                }

                                if (! yyPredMatched) {

                                  yyValue = "catch";

                                  return new SemanticValue(yyValue, yyIndex, yyError);
                                } else {
                                  yyError = yyError.select("keyword expected", yyStart);
                                }
                              }
                            }
                          }
                        }
                      }
                      break;

                    default:
                      /* No match. */
                    }
                  }
                }
                break;

              case 'l':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('a' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('s' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('s' == yyC) {

                              yyPredMatched = false;

                              yyPredResult = pidrest(yyIndex);
                              if (yyPredResult.hasValue()) {

                                yyPredMatched = true;
                              }

                              if (! yyPredMatched) {

                                yyValue = "class";

                                return new SemanticValue(yyValue, yyIndex, yyError);
                              } else {
                                yyError = yyError.select("keyword expected", yyStart);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'd':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'e':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('f' == yyC) {

                      yyPredMatched = false;

                      yyPredResult = pidrest(yyIndex);
                      if (yyPredResult.hasValue()) {

                        yyPredMatched = true;
                      }

                      if (! yyPredMatched) {

                        yyValue = "def";

                        return new SemanticValue(yyValue, yyIndex, yyError);
                      } else {
                        yyError = yyError.select("keyword expected", yyStart);
                      }
                    }
                  }
                }
                break;

              case 'o':
                {
                  yyPredMatched = false;

                  yyPredResult = pidrest(yyIndex);
                  if (yyPredResult.hasValue()) {

                    yyPredMatched = true;
                  }

                  if (! yyPredMatched) {

                    yyValue = "do";

                    return new SemanticValue(yyValue, yyIndex, yyError);
                  } else {
                    yyError = yyError.select("keyword expected", yyStart);
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'e':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'l':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('s' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('e' == yyC) {

                          yyPredMatched = false;

                          yyPredResult = pidrest(yyIndex);
                          if (yyPredResult.hasValue()) {

                            yyPredMatched = true;
                          }

                          if (! yyPredMatched) {

                            yyValue = "else";

                            return new SemanticValue(yyValue, yyIndex, yyError);
                          } else {
                            yyError = yyError.select("keyword expected", yyStart);
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'x':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('t' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('e' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('n' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('d' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('s' == yyC) {

                                      yyPredMatched = false;

                                      yyPredResult = pidrest(yyIndex);
                                      if (yyPredResult.hasValue()) {

                                        yyPredMatched = true;
                                      }

                                      if (! yyPredMatched) {

                                        yyValue = "extends";

                                        return new SemanticValue(yyValue, yyIndex, yyError);
                                      } else {
                                        yyError = yyError.select("keyword expected", yyStart);
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'f':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'a':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('l' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('s' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('e' == yyC) {

                              yyPredMatched = false;

                              yyPredResult = pidrest(yyIndex);
                              if (yyPredResult.hasValue()) {

                                yyPredMatched = true;
                              }

                              if (! yyPredMatched) {

                                yyValue = "false";

                                return new SemanticValue(yyValue, yyIndex, yyError);
                              } else {
                                yyError = yyError.select("keyword expected", yyStart);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'i':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('n' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('a' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('l' == yyC) {

                              final int yyChoice2 = yyIndex;

                              // Nested alternative 1.

                              yyPredMatched = false;

                              yyPredResult = pidrest(yyChoice2);
                              if (yyPredResult.hasValue()) {

                                yyPredMatched = true;
                              }

                              if (! yyPredMatched) {

                                yyValue = "final";

                                return new SemanticValue(yyValue, yyChoice2, yyError);
                              } else {
                                yyError = yyError.select("keyword expected", yyStart);
                              }

                              // Nested alternative 2.

                              yyC = character(yyChoice2);
                              if (-1 != yyC) {
                                yyIndex = yyChoice2 + 1;
                                if ('l' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('y' == yyC) {

                                      yyPredMatched = false;

                                      yyPredResult = pidrest(yyIndex);
                                      if (yyPredResult.hasValue()) {

                                        yyPredMatched = true;
                                      }

                                      if (! yyPredMatched) {

                                        yyValue = "finally";

                                        return new SemanticValue(yyValue, yyIndex, yyError);
                                      } else {
                                        yyError = yyError.select("keyword expected", yyStart);
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'o':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('r' == yyC) {

                      final int yyChoice2 = yyIndex;

                      // Nested alternative 1.

                      yyPredMatched = false;

                      yyPredResult = pidrest(yyChoice2);
                      if (yyPredResult.hasValue()) {

                        yyPredMatched = true;
                      }

                      if (! yyPredMatched) {

                        yyValue = "for";

                        return new SemanticValue(yyValue, yyChoice2, yyError);
                      } else {
                        yyError = yyError.select("keyword expected", yyStart);
                      }

                      // Nested alternative 2.

                      yyC = character(yyChoice2);
                      if (-1 != yyC) {
                        yyIndex = yyChoice2 + 1;
                        if ('S' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('o' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('m' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('e' == yyC) {

                                      yyPredMatched = false;

                                      yyPredResult = pidrest(yyIndex);
                                      if (yyPredResult.hasValue()) {

                                        yyPredMatched = true;
                                      }

                                      if (! yyPredMatched) {

                                        yyValue = "forSome";

                                        return new SemanticValue(yyValue, yyIndex, yyError);
                                      } else {
                                        yyError = yyError.select("keyword expected", yyStart);
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'i':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'f':
                {
                  yyPredMatched = false;

                  yyPredResult = pidrest(yyIndex);
                  if (yyPredResult.hasValue()) {

                    yyPredMatched = true;
                  }

                  if (! yyPredMatched) {

                    yyValue = "if";

                    return new SemanticValue(yyValue, yyIndex, yyError);
                  } else {
                    yyError = yyError.select("keyword expected", yyStart);
                  }
                }
                break;

              case 'm':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('p' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;

                        switch (yyC) {
                        case 'l':
                          {
                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('i' == yyC) {

                                yyC = character(yyIndex);
                                if (-1 != yyC) {
                                  yyIndex = yyIndex + 1;
                                  if ('c' == yyC) {

                                    yyC = character(yyIndex);
                                    if (-1 != yyC) {
                                      yyIndex = yyIndex + 1;
                                      if ('i' == yyC) {

                                        yyC = character(yyIndex);
                                        if (-1 != yyC) {
                                          yyIndex = yyIndex + 1;
                                          if ('t' == yyC) {

                                            yyPredMatched = false;

                                            yyPredResult = pidrest(yyIndex);
                                            if (yyPredResult.hasValue()) {

                                              yyPredMatched = true;
                                            }

                                            if (! yyPredMatched) {

                                              yyValue = "implicit";

                                              return new SemanticValue(yyValue, yyIndex, yyError);
                                            } else {
                                              yyError = yyError.select("keyword expected", yyStart);
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                          break;

                        case 'o':
                          {
                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('r' == yyC) {

                                yyC = character(yyIndex);
                                if (-1 != yyC) {
                                  yyIndex = yyIndex + 1;
                                  if ('t' == yyC) {

                                    yyPredMatched = false;

                                    yyPredResult = pidrest(yyIndex);
                                    if (yyPredResult.hasValue()) {

                                      yyPredMatched = true;
                                    }

                                    if (! yyPredMatched) {

                                      yyValue = "import";

                                      return new SemanticValue(yyValue, yyIndex, yyError);
                                    } else {
                                      yyError = yyError.select("keyword expected", yyStart);
                                    }
                                  }
                                }
                              }
                            }
                          }
                          break;

                        default:
                          /* No match. */
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'l':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if ('a' == yyC) {

                yyC = character(yyIndex);
                if (-1 != yyC) {
                  yyIndex = yyIndex + 1;
                  if ('z' == yyC) {

                    yyC = character(yyIndex);
                    if (-1 != yyC) {
                      yyIndex = yyIndex + 1;
                      if ('y' == yyC) {

                        yyPredMatched = false;

                        yyPredResult = pidrest(yyIndex);
                        if (yyPredResult.hasValue()) {

                          yyPredMatched = true;
                        }

                        if (! yyPredMatched) {

                          yyValue = "lazy";

                          return new SemanticValue(yyValue, yyIndex, yyError);
                        } else {
                          yyError = yyError.select("keyword expected", yyStart);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
          break;

        case 'm':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if ('a' == yyC) {

                yyC = character(yyIndex);
                if (-1 != yyC) {
                  yyIndex = yyIndex + 1;
                  if ('t' == yyC) {

                    yyC = character(yyIndex);
                    if (-1 != yyC) {
                      yyIndex = yyIndex + 1;
                      if ('c' == yyC) {

                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('h' == yyC) {

                            yyPredMatched = false;

                            yyPredResult = pidrest(yyIndex);
                            if (yyPredResult.hasValue()) {

                              yyPredMatched = true;
                            }

                            if (! yyPredMatched) {

                              yyValue = "match";

                              return new SemanticValue(yyValue, yyIndex, yyError);
                            } else {
                              yyError = yyError.select("keyword expected", yyStart);
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
          break;

        case 'n':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'e':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('w' == yyC) {

                      yyPredMatched = false;

                      yyPredResult = pidrest(yyIndex);
                      if (yyPredResult.hasValue()) {

                        yyPredMatched = true;
                      }

                      if (! yyPredMatched) {

                        yyValue = "new";

                        return new SemanticValue(yyValue, yyIndex, yyError);
                      } else {
                        yyError = yyError.select("keyword expected", yyStart);
                      }
                    }
                  }
                }
                break;

              case 'u':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('l' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('l' == yyC) {

                          yyPredMatched = false;

                          yyPredResult = pidrest(yyIndex);
                          if (yyPredResult.hasValue()) {

                            yyPredMatched = true;
                          }

                          if (! yyPredMatched) {

                            yyValue = "null";

                            return new SemanticValue(yyValue, yyIndex, yyError);
                          } else {
                            yyError = yyError.select("keyword expected", yyStart);
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'o':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'b':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('j' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('e' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('c' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('t' == yyC) {

                                  yyPredMatched = false;

                                  yyPredResult = pidrest(yyIndex);
                                  if (yyPredResult.hasValue()) {

                                    yyPredMatched = true;
                                  }

                                  if (! yyPredMatched) {

                                    yyValue = "object";

                                    return new SemanticValue(yyValue, yyIndex, yyError);
                                  } else {
                                    yyError = yyError.select("keyword expected", yyStart);
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'v':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('e' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('r' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('r' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('i' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('d' == yyC) {

                                      yyC = character(yyIndex);
                                      if (-1 != yyC) {
                                        yyIndex = yyIndex + 1;
                                        if ('e' == yyC) {

                                          yyPredMatched = false;

                                          yyPredResult = pidrest(yyIndex);
                                          if (yyPredResult.hasValue()) {

                                            yyPredMatched = true;
                                          }

                                          if (! yyPredMatched) {

                                            yyValue = "override";

                                            return new SemanticValue(yyValue, yyIndex, yyError);
                                          } else {
                                            yyError = yyError.select("keyword expected", yyStart);
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'p':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'a':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('c' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('k' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('a' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('g' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('e' == yyC) {

                                      yyPredMatched = false;

                                      yyPredResult = pidrest(yyIndex);
                                      if (yyPredResult.hasValue()) {

                                        yyPredMatched = true;
                                      }

                                      if (! yyPredMatched) {

                                        yyValue = "package";

                                        return new SemanticValue(yyValue, yyIndex, yyError);
                                      } else {
                                        yyError = yyError.select("keyword expected", yyStart);
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'r':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;

                    switch (yyC) {
                    case 'i':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('v' == yyC) {

                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('a' == yyC) {

                                yyC = character(yyIndex);
                                if (-1 != yyC) {
                                  yyIndex = yyIndex + 1;
                                  if ('t' == yyC) {

                                    yyC = character(yyIndex);
                                    if (-1 != yyC) {
                                      yyIndex = yyIndex + 1;
                                      if ('e' == yyC) {

                                        yyPredMatched = false;

                                        yyPredResult = pidrest(yyIndex);
                                        if (yyPredResult.hasValue()) {

                                          yyPredMatched = true;
                                        }

                                        if (! yyPredMatched) {

                                          yyValue = "private";

                                          return new SemanticValue(yyValue, yyIndex, yyError);
                                        } else {
                                          yyError = yyError.select("keyword expected", yyStart);
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                      break;

                    case 'o':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('t' == yyC) {

                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('e' == yyC) {

                                yyC = character(yyIndex);
                                if (-1 != yyC) {
                                  yyIndex = yyIndex + 1;
                                  if ('c' == yyC) {

                                    yyC = character(yyIndex);
                                    if (-1 != yyC) {
                                      yyIndex = yyIndex + 1;
                                      if ('t' == yyC) {

                                        yyC = character(yyIndex);
                                        if (-1 != yyC) {
                                          yyIndex = yyIndex + 1;
                                          if ('e' == yyC) {

                                            yyC = character(yyIndex);
                                            if (-1 != yyC) {
                                              yyIndex = yyIndex + 1;
                                              if ('d' == yyC) {

                                                yyPredMatched = false;

                                                yyPredResult =
                                                  pidrest(yyIndex);
                                                if (yyPredResult.hasValue()) {

                                                  yyPredMatched = true;
                                                }

                                                if (! yyPredMatched) {

                                                  yyValue = "protected";

                                                  return new SemanticValue(yyValue, yyIndex, yyError);
                                                } else {
                                                  yyError = yyError.select("keyword expected", yyStart);
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                      break;

                    default:
                      /* No match. */
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'r':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if ('e' == yyC) {

                yyC = character(yyIndex);
                if (-1 != yyC) {
                  yyIndex = yyIndex + 1;

                  switch (yyC) {
                  case 'q':
                    {
                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('u' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('i' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('r' == yyC) {

                                  yyC = character(yyIndex);
                                  if (-1 != yyC) {
                                    yyIndex = yyIndex + 1;
                                    if ('e' == yyC) {

                                      yyC = character(yyIndex);
                                      if (-1 != yyC) {
                                        yyIndex = yyIndex + 1;
                                        if ('s' == yyC) {

                                          yyPredMatched = false;

                                          yyPredResult = pidrest(yyIndex);
                                          if (yyPredResult.hasValue()) {

                                            yyPredMatched = true;
                                          }

                                          if (! yyPredMatched) {

                                            yyValue = "requires";

                                            return new SemanticValue(yyValue, yyIndex, yyError);
                                          } else {
                                            yyError = yyError.select("keyword expected", yyStart);
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                    break;

                  case 't':
                    {
                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('u' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('r' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('n' == yyC) {

                                  yyPredMatched = false;

                                  yyPredResult = pidrest(yyIndex);
                                  if (yyPredResult.hasValue()) {

                                    yyPredMatched = true;
                                  }

                                  if (! yyPredMatched) {

                                    yyValue = "return";

                                    return new SemanticValue(yyValue, yyIndex, yyError);
                                  } else {
                                    yyError = yyError.select("keyword expected", yyStart);
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                    break;

                  default:
                    /* No match. */
                  }
                }
              }
            }
          }
          break;

        case 's':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'e':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('a' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('l' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('e' == yyC) {

                              yyC = character(yyIndex);
                              if (-1 != yyC) {
                                yyIndex = yyIndex + 1;
                                if ('d' == yyC) {

                                  yyPredMatched = false;

                                  yyPredResult = pidrest(yyIndex);
                                  if (yyPredResult.hasValue()) {

                                    yyPredMatched = true;
                                  }

                                  if (! yyPredMatched) {

                                    yyValue = "sealed";

                                    return new SemanticValue(yyValue, yyIndex, yyError);
                                  } else {
                                    yyError = yyError.select("keyword expected", yyStart);
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'u':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('p' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('e' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('r' == yyC) {

                              yyPredMatched = false;

                              yyPredResult = pidrest(yyIndex);
                              if (yyPredResult.hasValue()) {

                                yyPredMatched = true;
                              }

                              if (! yyPredMatched) {

                                yyValue = "super";

                                return new SemanticValue(yyValue, yyIndex, yyError);
                              } else {
                                yyError = yyError.select("keyword expected", yyStart);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 't':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'h':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;

                    switch (yyC) {
                    case 'i':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('s' == yyC) {

                            yyPredMatched = false;

                            yyPredResult = pidrest(yyIndex);
                            if (yyPredResult.hasValue()) {

                              yyPredMatched = true;
                            }

                            if (! yyPredMatched) {

                              yyValue = "this";

                              return new SemanticValue(yyValue, yyIndex, yyError);
                            } else {
                              yyError = yyError.select("keyword expected", yyStart);
                            }
                          }
                        }
                      }
                      break;

                    case 'r':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('o' == yyC) {

                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('w' == yyC) {

                                yyPredMatched = false;

                                yyPredResult = pidrest(yyIndex);
                                if (yyPredResult.hasValue()) {

                                  yyPredMatched = true;
                                }

                                if (! yyPredMatched) {

                                  yyValue = "throw";

                                  return new SemanticValue(yyValue, yyIndex, yyError);
                                } else {
                                  yyError = yyError.select("keyword expected", yyStart);
                                }
                              }
                            }
                          }
                        }
                      }
                      break;

                    default:
                      /* No match. */
                    }
                  }
                }
                break;

              case 'r':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;

                    switch (yyC) {
                    case 'a':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('i' == yyC) {

                            yyC = character(yyIndex);
                            if (-1 != yyC) {
                              yyIndex = yyIndex + 1;
                              if ('t' == yyC) {

                                yyPredMatched = false;

                                yyPredResult = pidrest(yyIndex);
                                if (yyPredResult.hasValue()) {

                                  yyPredMatched = true;
                                }

                                if (! yyPredMatched) {

                                  yyValue = "trait";

                                  return new SemanticValue(yyValue, yyIndex, yyError);
                                } else {
                                  yyError = yyError.select("keyword expected", yyStart);
                                }
                              }
                            }
                          }
                        }
                      }
                      break;

                    case 'y':
                      {
                        yyPredMatched = false;

                        yyPredResult = pidrest(yyIndex);
                        if (yyPredResult.hasValue()) {

                          yyPredMatched = true;
                        }

                        if (! yyPredMatched) {

                          yyValue = "try";

                          return new SemanticValue(yyValue, yyIndex, yyError);
                        } else {
                          yyError = yyError.select("keyword expected", yyStart);
                        }
                      }
                      break;

                    case 'u':
                      {
                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('e' == yyC) {

                            yyPredMatched = false;

                            yyPredResult = pidrest(yyIndex);
                            if (yyPredResult.hasValue()) {

                              yyPredMatched = true;
                            }

                            if (! yyPredMatched) {

                              yyValue = "true";

                              return new SemanticValue(yyValue, yyIndex, yyError);
                            } else {
                              yyError = yyError.select("keyword expected", yyStart);
                            }
                          }
                        }
                      }
                      break;

                    default:
                      /* No match. */
                    }
                  }
                }
                break;

              case 'y':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('p' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('e' == yyC) {

                          yyPredMatched = false;

                          yyPredResult = pidrest(yyIndex);
                          if (yyPredResult.hasValue()) {

                            yyPredMatched = true;
                          }

                          if (! yyPredMatched) {

                            yyValue = "type";

                            return new SemanticValue(yyValue, yyIndex, yyError);
                          } else {
                            yyError = yyError.select("keyword expected", yyStart);
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'v':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if ('a' == yyC) {

                yyC = character(yyIndex);
                if (-1 != yyC) {
                  yyIndex = yyIndex + 1;

                  switch (yyC) {
                  case 'l':
                    {
                      yyPredMatched = false;

                      yyPredResult = pidrest(yyIndex);
                      if (yyPredResult.hasValue()) {

                        yyPredMatched = true;
                      }

                      if (! yyPredMatched) {

                        yyValue = "val";

                        return new SemanticValue(yyValue, yyIndex, yyError);
                      } else {
                        yyError = yyError.select("keyword expected", yyStart);
                      }
                    }
                    break;

                  case 'r':
                    {
                      yyPredMatched = false;

                      yyPredResult = pidrest(yyIndex);
                      if (yyPredResult.hasValue()) {

                        yyPredMatched = true;
                      }

                      if (! yyPredMatched) {

                        yyValue = "var";

                        return new SemanticValue(yyValue, yyIndex, yyError);
                      } else {
                        yyError = yyError.select("keyword expected", yyStart);
                      }
                    }
                    break;

                  default:
                    /* No match. */
                  }
                }
              }
            }
          }
          break;

        case 'w':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case 'h':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('i' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('l' == yyC) {

                          yyC = character(yyIndex);
                          if (-1 != yyC) {
                            yyIndex = yyIndex + 1;
                            if ('e' == yyC) {

                              yyPredMatched = false;

                              yyPredResult = pidrest(yyIndex);
                              if (yyPredResult.hasValue()) {

                                yyPredMatched = true;
                              }

                              if (! yyPredMatched) {

                                yyValue = "while";

                                return new SemanticValue(yyValue, yyIndex, yyError);
                              } else {
                                yyError = yyError.select("keyword expected", yyStart);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
                break;

              case 'i':
                {
                  yyC = character(yyIndex);
                  if (-1 != yyC) {
                    yyIndex = yyIndex + 1;
                    if ('t' == yyC) {

                      yyC = character(yyIndex);
                      if (-1 != yyC) {
                        yyIndex = yyIndex + 1;
                        if ('h' == yyC) {

                          yyPredMatched = false;

                          yyPredResult = pidrest(yyIndex);
                          if (yyPredResult.hasValue()) {

                            yyPredMatched = true;
                          }

                          if (! yyPredMatched) {

                            yyValue = "with";

                            return new SemanticValue(yyValue, yyIndex, yyError);
                          } else {
                            yyError = yyError.select("keyword expected", yyStart);
                          }
                        }
                      }
                    }
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case 'y':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if ('i' == yyC) {

                yyC = character(yyIndex);
                if (-1 != yyC) {
                  yyIndex = yyIndex + 1;
                  if ('e' == yyC) {

                    yyC = character(yyIndex);
                    if (-1 != yyC) {
                      yyIndex = yyIndex + 1;
                      if ('l' == yyC) {

                        yyC = character(yyIndex);
                        if (-1 != yyC) {
                          yyIndex = yyIndex + 1;
                          if ('d' == yyC) {

                            yyPredMatched = false;

                            yyPredResult = pidrest(yyIndex);
                            if (yyPredResult.hasValue()) {

                              yyPredMatched = true;
                            }

                            if (! yyPredMatched) {

                              yyValue = "yield";

                              return new SemanticValue(yyValue, yyIndex, yyError);
                            } else {
                              yyError = yyError.select("keyword expected", yyStart);
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
          break;

        case '_':
          {
            yyPredMatched = false;

            yyPredResult = pidrest(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "_";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '=':
          {
            final int yyChoice2 = yyIndex;

            // Nested alternative 1.

            yyC = character(yyChoice2);
            if (-1 != yyC) {
              yyIndex = yyChoice2 + 1;
              if ('>' == yyC) {

                yyPredMatched = false;

                yyPredResult = popchar(yyIndex);
                if (yyPredResult.hasValue()) {

                  yyPredMatched = true;
                }

                if (! yyPredMatched) {

                  yyValue = "=>";

                  return new SemanticValue(yyValue, yyIndex, yyError);
                } else {
                  yyError = yyError.select("keyword expected", yyStart);
                }
              }
            }

            // Nested alternative 2.

            yyPredMatched = false;

            yyPredResult = popchar(yyChoice2);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "=";

              return new SemanticValue(yyValue, yyChoice2, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '\u21d2':
          {
            yyPredMatched = false;

            yyPredResult = popchar(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "\u21d2";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '<':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;

              switch (yyC) {
              case '-':
                {
                  yyPredMatched = false;

                  yyPredResult = popchar(yyIndex);
                  if (yyPredResult.hasValue()) {

                    yyPredMatched = true;
                  }

                  if (! yyPredMatched) {

                    yyValue = "<-";

                    return new SemanticValue(yyValue, yyIndex, yyError);
                  } else {
                    yyError = yyError.select("keyword expected", yyStart);
                  }
                }
                break;

              case ':':
                {
                  yyPredMatched = false;

                  yyPredResult = popchar(yyIndex);
                  if (yyPredResult.hasValue()) {

                    yyPredMatched = true;
                  }

                  if (! yyPredMatched) {

                    yyValue = "<:";

                    return new SemanticValue(yyValue, yyIndex, yyError);
                  } else {
                    yyError = yyError.select("keyword expected", yyStart);
                  }
                }
                break;

              case '%':
                {
                  yyPredMatched = false;

                  yyPredResult = popchar(yyIndex);
                  if (yyPredResult.hasValue()) {

                    yyPredMatched = true;
                  }

                  if (! yyPredMatched) {

                    yyValue = "<%";

                    return new SemanticValue(yyValue, yyIndex, yyError);
                  } else {
                    yyError = yyError.select("keyword expected", yyStart);
                  }
                }
                break;

              default:
                /* No match. */
              }
            }
          }
          break;

        case '\u2190':
          {
            yyPredMatched = false;

            yyPredResult = popchar(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "\u2190";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '>':
          {
            yyC = character(yyIndex);
            if (-1 != yyC) {
              yyIndex = yyIndex + 1;
              if (':' == yyC) {

                yyPredMatched = false;

                yyPredResult = popchar(yyIndex);
                if (yyPredResult.hasValue()) {

                  yyPredMatched = true;
                }

                if (! yyPredMatched) {

                  yyValue = ">:";

                  return new SemanticValue(yyValue, yyIndex, yyError);
                } else {
                  yyError = yyError.select("keyword expected", yyStart);
                }
              }
            }
          }
          break;

        case ':':
          {
            yyPredMatched = false;

            yyPredResult = popchar(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = ":";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '#':
          {
            yyPredMatched = false;

            yyPredResult = popchar(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "#";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;

        case '@':
          {
            yyPredMatched = false;

            yyPredResult = popchar(yyIndex);
            if (yyPredResult.hasValue()) {

              yyPredMatched = true;
            }

            if (! yyPredMatched) {

              yyValue = "@";

              return new SemanticValue(yyValue, yyIndex, yyError);
            } else {
              yyError = yyError.select("keyword expected", yyStart);
            }
          }
          break;
View Full Code Here

        }
      }

      yyValue = difference(yyStart, yyOption1);

      return new SemanticValue(yyValue, yyOption1, yyError);
    }

    // Alternative 2.

    yyResult = poctalNumeral(yyStart);
    yyError  = yyResult.select(yyError);
    if (yyResult.hasValue()) {

      yyOption1  = yyResult.index;

      yyC = character(yyOption1);
      if (-1 != yyC) {
        yyIndex = yyOption1 + 1;

        switch (yyC) {
        case 'L':
        case 'l':
          {
            yyOption1  = yyIndex;
          }
          break;

        default:
          /* No match. */
        }
      }

      yyValue = difference(yyStart, yyOption1);

      return new SemanticValue(yyValue, yyOption1, yyError);
    }

    // Alternative 3.

    yyResult = pdecimalNumeral(yyStart);
    yyError  = yyResult.select(yyError);
    if (yyResult.hasValue()) {

      yyOption1  = yyResult.index;

      yyC = character(yyOption1);
      if (-1 != yyC) {
        yyIndex = yyOption1 + 1;

        switch (yyC) {
        case 'L':
        case 'l':
          {
            yyOption1  = yyIndex;
          }
          break;

        default:
          /* No match. */
        }
      }

      yyValue = difference(yyStart, yyOption1);

      return new SemanticValue(yyValue, yyOption1, yyError);
    }

    // Done.
    yyError = yyError.select("integer literal expected", yyStart);
    return yyError;
View Full Code Here

          }
        }

        yyValue = difference(yyStart, yyOption1);

        return new SemanticValue(yyValue, yyOption1, yyError);
      }
    }

    // Alternative 2.

    yyC = character(yyStart);
    if ('.' == yyC) {
      yyIndex = yyStart + 1;

      yyRepetition1 = yyIndex;
      yyRepeated1   = false;
      while (true) {

        yyC = character(yyRepetition1);
        if (-1 != yyC) {
          yyIndex = yyRepetition1 + 1;

          switch (yyC) {
          case '0':
          case '1':
          case '2':
          case '3':
          case '4':
          case '5':
          case '6':
          case '7':
          case '8':
          case '9':
            {
              yyRepetition1 = yyIndex;
              yyRepeated1   = true;
              continue;
            }

          default:
            /* No match. */
          }
        }
        break;
      }

      if (yyRepeated1) {

        yyOption1  = yyRepetition1;

        yyResult = pexponent(yyOption1);
        yyError  = yyResult.select(yyError, yyOption1);
        if (yyResult.hasValue()) {

          yyOption1  = yyResult.index;
        }


        yyC = character(yyOption1);
        if (-1 != yyC) {
          yyIndex = yyOption1 + 1;

          switch (yyC) {
          case 'D':
          case 'F':
          case 'd':
          case 'f':
            {
              yyOption1  = yyIndex;
            }
            break;

          default:
            /* No match. */
          }
        }

        yyValue = difference(yyStart, yyOption1);

        return new SemanticValue(yyValue, yyOption1, yyError);
      }
    }

    // Alternative 3.

    yyRepetition1 = yyStart;
    yyRepeated1   = false;
    while (true) {

      yyC = character(yyRepetition1);
      if (-1 != yyC) {
        yyIndex = yyRepetition1 + 1;

        switch (yyC) {
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
          {
            yyRepetition1 = yyIndex;
            yyRepeated1   = true;
            continue;
          }

        default:
          /* No match. */
        }
      }
      break;
    }

    if (yyRepeated1) {

      final int yyChoice1 = yyRepetition1;

      // Nested alternative 1.

      yyResult = pexponent(yyChoice1);
      yyError  = yyResult.select(yyError);
      if (yyResult.hasValue()) {

        yyOption1  = yyResult.index;

        yyC = character(yyOption1);
        if (-1 != yyC) {
          yyIndex = yyOption1 + 1;

          switch (yyC) {
          case 'D':
          case 'F':
          case 'd':
          case 'f':
            {
              yyOption1  = yyIndex;
            }
            break;

          default:
            /* No match. */
          }
        }

        yyValue = difference(yyStart, yyOption1);

        return new SemanticValue(yyValue, yyOption1, yyError);
      }

      // Nested alternative 2.

      yyOption1  = yyChoice1;

      yyResult = pexponent(yyOption1);
      yyError  = yyResult.select(yyError, yyOption1);
      if (yyResult.hasValue()) {

        yyOption1  = yyResult.index;
      }

      yyC = character(yyOption1);
      if (-1 != yyC) {
        yyIndex = yyOption1 + 1;

        switch (yyC) {
        case 'D':
        case 'F':
        case 'd':
        case 'f':
          {
            yyValue = difference(yyStart, yyIndex);

            return new SemanticValue(yyValue, yyIndex, yyError);
          }

        default:
          /* No match. */
        }
View Full Code Here

          if (yyRepeated1) {

            yyValue = null;

            return new SemanticValue(yyValue, yyRepetition1, yyError);
          }
        }
        break;

      default:
View Full Code Here

      if ('\'' == yyC) {
        yyIndex = yyOption1 + 1;

        yyValue = difference(yyStart, yyIndex);

        return new SemanticValue(yyValue, yyIndex, yyError);
      }
    }

    // Done.
    yyError = yyError.select("character literal expected", yyStart);
View Full Code Here

              if ('\"' == yyC) {
                yyIndex = yyIndex + 1;

                yyValue = difference(yyStart, yyIndex);

                return new SemanticValue(yyValue, yyIndex, yyError);
              }
            }
          }
        }
      }

      // Nested alternative 2.

      yyRepetition1 = yyChoice1;
      while (true) {

        yyResult = pstringChar(yyRepetition1);
        yyError  = yyResult.select(yyError, yyRepetition1);
        if (yyResult.hasValue()) {

          yyRepetition1 = yyResult.index;
          continue;
        }
        break;
      }

      yyC = character(yyRepetition1);
      if ('\"' == yyC) {
        yyIndex = yyRepetition1 + 1;

        yyValue = difference(yyStart, yyIndex);

        return new SemanticValue(yyValue, yyIndex, yyError);
      }
    }

    // Done.
    yyError = yyError.select("string literal expected", yyStart);
View Full Code Here

      yyIndex = yyOption1 + 1;
      if ('\"' != yyC) {

        yyValue = null;

        return new SemanticValue(yyValue, yyIndex, yyError);
      }
    }

    // Done.
    yyError = yyError.select("multi line char expected", yyStart);
View Full Code Here

      if (yyRepeated1) {

        yyValue = difference(yyStart, yyRepetition1);

        return new SemanticValue(yyValue, yyRepetition1, yyError);
      }

      // Nested alternative 2.

      yyC = character(yyChoice1);
      if (-1 != yyC) {
        yyIndex = yyChoice1 + 1;
        if (('a' <= yyC) && (yyC <= 'z')) {

          yyOption1  = yyIndex;

          yyResult = pidrest(yyOption1);
          yyError  = yyResult.select(yyError, yyOption1);
          if (yyResult.hasValue()) {

            yyOption1  = yyResult.index;
          }

          yyValue = difference(yyStart, yyOption1);

          return new SemanticValue(yyValue, yyOption1, yyError);
        }
      }

      // Nested alternative 3.

      yyC = character(yyChoice1);
      if (-1 != yyC) {
        yyIndex = yyChoice1 + 1;
        if (('A' <= yyC) && (yyC <= 'Z')) {

          yyOption1  = yyIndex;

          yyResult = pidrest(yyOption1);
          yyError  = yyResult.select(yyError, yyOption1);
          if (yyResult.hasValue()) {

            yyOption1  = yyResult.index;
          }

          yyValue = difference(yyStart, yyOption1);

          return new SemanticValue(yyValue, yyOption1, yyError);
        }
      }

      // Nested alternative 4.

      yyC = character(yyChoice1);
      if (-1 != yyC) {
        yyIndex = yyChoice1 + 1;

        switch (yyC) {
        case '$':
        case '_':
          {
            yyOption1  = yyIndex;

            yyResult = pidrest(yyOption1);
            yyError  = yyResult.select(yyError, yyOption1);
            if (yyResult.hasValue()) {

              yyOption1  = yyResult.index;
            }

            yyValue = difference(yyStart, yyOption1);

            return new SemanticValue(yyValue, yyOption1, yyError);
          }

        default:
          /* No match. */
        }
View Full Code Here

          String v$g$1 = "/**";

          yyValue = GNode.create("DocCommentStart", v$g$1);
          yyValue.setLocation(location(yyStart));

          return new SemanticValue(yyValue, yyIndex, yyError);
        }
      }
    }

    // Done.
View Full Code Here

TOP

Related Classes of xtc.parser.SemanticValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.