⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rqlparser.java

📁 这是外国一个开源推理机
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        Var var;    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case TRUE:      jj_consume_token(TRUE);                 {if (true) return new BooleanConstant(true);}      break;    case FALSE:      jj_consume_token(FALSE);                  {if (true) return new BooleanConstant(false);}      break;    case NOT:      jj_consume_token(NOT);      bq = and_part();                                {if (true) return new Not(bq);}      break;    case EXISTS:      jj_consume_token(EXISTS);      var = var();      rq = resource_query();      jj_consume_token(COLON);      bq = boolean_query();          {if (true) return new Exists(var, rq, bq);}      break;    case FORALL:      jj_consume_token(FORALL);      var = var();      rq = resource_query();      jj_consume_token(COLON);      bq = boolean_query();          {if (true) return new Forall(var, rq, bq);}      break;    case CIRCUMFLEX:    case SELECT:    case CLASS:    case PROPERTY:    case TYPEOF:    case SUBCLASSOF:    case SUPERCLASSOF:    case SUBPROPERTYOF:    case SUPERPROPERTYOF:    case DOMAIN:    case RANGE:    case IDENTIFIER:    case CLASSVAR:    case PROPERTYVAR:    case INTEGER_LITERAL:    case REAL_LITERAL:    case QUOTED_STRING:    case QUOTED_CHAR:    case URI:      rq = resource_query();      bq = compare_to_part(rq);                                                         {if (true) return bq;}      break;    case LPAREN:      jj_consume_token(LPAREN);      bq = boolean_query();      jj_consume_token(RPAREN);                                                 {if (true) return bq;}      break;    default:      jj_la1[37] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }    throw new Error("Missing return statement in function");  }  final public BooleanQuery compare_to_part(ResourceQuery arg1) throws ParseException {        int op;        ResourceQuery arg2;        StringConstant sc;    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case LT:    case LE:    case EQ:    case GE:    case GT:    case NE:      op = comp_op();      arg2 = resource_query();          {if (true) return new CompareTo(arg1, op, arg2);}      break;    case LIKE:      jj_consume_token(LIKE);      sc = quoted_string();          {if (true) return new Like(arg1, sc);}      break;    case IN:      jj_consume_token(IN);      arg2 = resource_query();          {if (true) return new In(arg1, arg2);}      break;    default:      jj_la1[38] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }    throw new Error("Missing return statement in function");  }  final public int comp_op() throws ParseException {    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case LT:      jj_consume_token(LT);               {if (true) return CompareTo.LT;}      break;    case LE:      jj_consume_token(LE);               {if (true) return CompareTo.LE;}      break;    case EQ:      jj_consume_token(EQ);               {if (true) return CompareTo.EQ;}      break;    case GE:      jj_consume_token(GE);               {if (true) return CompareTo.GE;}      break;    case GT:      jj_consume_token(GT);               {if (true) return CompareTo.GT;}      break;    case NE:      jj_consume_token(NE);               {if (true) return CompareTo.NE;}      break;    default:      jj_la1[39] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }    throw new Error("Missing return statement in function");  }/*-------------------------------------------------+| CONSTANTS                                        |+-------------------------------------------------*/  final public Constant constant() throws ParseException {        Constant c;    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {    case QUOTED_STRING:      c = quoted_string();                                {if (true) return c;}      break;    case QUOTED_CHAR:      c = quoted_char();                                {if (true) return c;}      break;    case INTEGER_LITERAL:      c = integer_literal();                                {if (true) return c;}      break;    case REAL_LITERAL:      c = real_literal();                                {if (true) return c;}      break;    default:      jj_la1[40] = jj_gen;      jj_consume_token(-1);      throw new ParseException();    }    throw new Error("Missing return statement in function");  }  final public StringConstant quoted_string() throws ParseException {        Token t;    t = jj_consume_token(QUOTED_STRING);                String st = t.image;                st = st.substring(1, st.length() - 1);                {if (true) return new StringConstant(st);}    throw new Error("Missing return statement in function");  }  final public StringConstant quoted_char() throws ParseException {        Token t;    t = jj_consume_token(QUOTED_CHAR);                String st = t.image;                st = st.substring(1, st.length() - 1);                {if (true) return new StringConstant(st);}    throw new Error("Missing return statement in function");  }  final public IntegerConstant integer_literal() throws ParseException {        Token t;    t = jj_consume_token(INTEGER_LITERAL);                int i = Integer.parseInt(t.image);                {if (true) return new IntegerConstant(i);}    throw new Error("Missing return statement in function");  }  final public RealConstant real_literal() throws ParseException {        Token t;    t = jj_consume_token(REAL_LITERAL);                float f = Float.parseFloat(t.image);                {if (true) return new RealConstant(f);}    throw new Error("Missing return statement in function");  }  public RqlParserTokenManager token_source;  SimpleCharStream jj_input_stream;  public Token token, jj_nt;  private int jj_ntk;  private int jj_gen;  final private int[] jj_la1 = new int[41];  static private int[] jj_la1_0;  static private int[] jj_la1_1;  static private int[] jj_la1_2;  static {      jj_la1_0();      jj_la1_1();      jj_la1_2();   }   private static void jj_la1_0() {      jj_la1_0 = new int[] {0x80000,0x10000000,0xc3001000,0x0,0x8000000,0x80000,0x40000,0x0,0x80000,0xc0004000,0xc0000000,0x100000,0x4000,0xc0000000,0x4000,0x4000,0x0,0x200000,0x0,0x1000000,0x1000000,0x40000000,0x40000000,0x1000000,0xc1000000,0x1000000,0x1000000,0x80000000,0x80000000,0x1000000,0x1000000,0xc3000000,0x200000,0x10000,0x0,0x0,0x0,0xc3001000,0x7e0,0x7e0,0x0,};   }   private static void jj_la1_1() {      jj_la1_1 = new int[] {0x0,0x0,0x2070007f,0x700000,0x0,0x0,0x2078007f,0x2078007f,0x0,0x2060007f,0x0,0x0,0x0,0x2060007f,0x0,0x0,0x100000,0x0,0x20200000,0x20100000,0x100000,0x20200067,0x200067,0x0,0x2070007f,0x0,0x0,0x20400018,0x400018,0x0,0x0,0x27f0007f,0x0,0x0,0x70000,0x400,0x200,0x27f069ff,0x9000,0x0,0x7800000,};   }   private static void jj_la1_2() {      jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};   }  public RqlParser(java.io.InputStream stream) {    jj_input_stream = new SimpleCharStream(stream, 1, 1);    token_source = new RqlParserTokenManager(jj_input_stream);    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  public void ReInit(java.io.InputStream stream) {    jj_input_stream.ReInit(stream, 1, 1);    token_source.ReInit(jj_input_stream);    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  public RqlParser(java.io.Reader stream) {    jj_input_stream = new SimpleCharStream(stream, 1, 1);    token_source = new RqlParserTokenManager(jj_input_stream);    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  public void ReInit(java.io.Reader stream) {    jj_input_stream.ReInit(stream, 1, 1);    token_source.ReInit(jj_input_stream);    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  public RqlParser(RqlParserTokenManager tm) {    token_source = tm;    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  public void ReInit(RqlParserTokenManager tm) {    token_source = tm;    token = new Token();    jj_ntk = -1;    jj_gen = 0;    for (int i = 0; i < 41; i++) jj_la1[i] = -1;  }  final private Token jj_consume_token(int kind) throws ParseException {    Token oldToken;    if ((oldToken = token).next != null) token = token.next;    else token = token.next = token_source.getNextToken();    jj_ntk = -1;    if (token.kind == kind) {      jj_gen++;      return token;    }    token = oldToken;    jj_kind = kind;    throw generateParseException();  }  final public Token getNextToken() {    if (token.next != null) token = token.next;    else token = token.next = token_source.getNextToken();    jj_ntk = -1;    jj_gen++;    return token;  }  final public Token getToken(int index) {    Token t = token;    for (int i = 0; i < index; i++) {      if (t.next != null) t = t.next;      else t = t.next = token_source.getNextToken();    }    return t;  }  final private int jj_ntk() {    if ((jj_nt=token.next) == null)      return (jj_ntk = (token.next=token_source.getNextToken()).kind);    else      return (jj_ntk = jj_nt.kind);  }  private java.util.Vector jj_expentries = new java.util.Vector();  private int[] jj_expentry;  private int jj_kind = -1;  public ParseException generateParseException() {    jj_expentries.removeAllElements();    boolean[] la1tokens = new boolean[71];    for (int i = 0; i < 71; i++) {      la1tokens[i] = false;    }    if (jj_kind >= 0) {      la1tokens[jj_kind] = true;      jj_kind = -1;    }    for (int i = 0; i < 41; i++) {      if (jj_la1[i] == jj_gen) {        for (int j = 0; j < 32; j++) {          if ((jj_la1_0[i] & (1<<j)) != 0) {            la1tokens[j] = true;          }          if ((jj_la1_1[i] & (1<<j)) != 0) {            la1tokens[32+j] = true;          }          if ((jj_la1_2[i] & (1<<j)) != 0) {            la1tokens[64+j] = true;          }        }      }    }    for (int i = 0; i < 71; i++) {      if (la1tokens[i]) {        jj_expentry = new int[1];        jj_expentry[0] = i;        jj_expentries.addElement(jj_expentry);      }    }    int[][] exptokseq = new int[jj_expentries.size()][];    for (int i = 0; i < jj_expentries.size(); i++) {      exptokseq[i] = (int[])jj_expentries.elementAt(i);    }    return new ParseException(token, exptokseq, tokenImage);  }  final public void enable_tracing() {  }  final public void disable_tracing() {  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -