Esempio n. 1
0
 public final SemgrexPattern Relation() throws ParseException {
   GraphRelation reln;
   Token rel = null;
   Token relnType = null;
   Token numArg = null;
   Token numArg2 = null;
   Token name = null;
   SemgrexPattern node;
   boolean pC = false;
   switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
     case RELATION:
     case IDENTIFIER:
       {
         switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
           case IDENTIFIER:
             {
               numArg = jj_consume_token(IDENTIFIER);
               switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
                 case 21:
                   {
                     jj_consume_token(21);
                     numArg2 = jj_consume_token(IDENTIFIER);
                     break;
                   }
                 default:
                   jj_la1[10] = jj_gen;
                   ;
               }
               break;
             }
           default:
             jj_la1[11] = jj_gen;
             ;
         }
         rel = jj_consume_token(RELATION);
         switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
           case IDENTIFIER:
           case REGEX:
             {
               switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
                 case IDENTIFIER:
                   {
                     relnType = jj_consume_token(IDENTIFIER);
                     break;
                   }
                 case REGEX:
                   {
                     relnType = jj_consume_token(REGEX);
                     break;
                   }
                 default:
                   jj_la1[12] = jj_gen;
                   jj_consume_token(-1);
                   throw new ParseException();
               }
               break;
             }
           default:
             jj_la1[13] = jj_gen;
             ;
         }
         switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
           case 22:
             {
               jj_consume_token(22);
               name = jj_consume_token(IDENTIFIER);
               break;
             }
           default:
             jj_la1[14] = jj_gen;
             ;
         }
         break;
       }
     case ALIGNRELN:
       {
         rel = jj_consume_token(ALIGNRELN);
         break;
       }
     default:
       jj_la1[15] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
   }
   if (numArg == null && numArg2 == null) {
     reln =
         GraphRelation.getRelation(
             rel != null ? rel.image : null,
             relnType != null ? relnType.image : null,
             name != null ? name.image : null);
   } else if (numArg2 == null) {
     reln =
         GraphRelation.getRelation(
             rel != null ? rel.image : null,
             relnType != null ? relnType.image : null,
             Integer.parseInt(numArg.image),
             name != null ? name.image : null);
   } else {
     reln =
         GraphRelation.getRelation(
             rel != null ? rel.image : null,
             relnType != null ? relnType.image : null,
             Integer.parseInt(numArg.image),
             Integer.parseInt(numArg2.image),
             name != null ? name.image : null);
   }
   switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
     case 17:
     case 19:
     case 23:
       {
         node = ModNode(reln);
         break;
       }
     case 13:
       {
         jj_consume_token(13);
         node = SubNode(reln);
         jj_consume_token(14);
         break;
       }
     default:
       jj_la1[16] = jj_gen;
       jj_consume_token(-1);
       throw new ParseException();
   }
   {
     if ("" != null) return node;
   }
   throw new Error("Missing return statement in function");
 }