?? senseparser.java
字號:
int nright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; String n = (String)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; ArithExpressionClass a = (ArithExpressionClass)aObj; SelStmt s = new SelStmt(); // if (a.finf.qf.getType() != QueryField.STRING) { // SensorQueryer.errorMessage = "Non-numeric field value not allowed with non-STRING fields"; // return null; // } s.op = r; s.aexp = a; s.s = n; RESULT = s;
CUP$senseParser$result = new java_cup.runtime.Symbol(11/*condition*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 40: // condition ::= arith_expr rel_op CONSTANT
{
SelStmt RESULT = null;
int aObjleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left; int aObjright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).right; Object aObj = (Object)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).value; int rleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left; int rright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).right; SelOp r = (SelOp)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).value; int cleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; Integer c = (Integer)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; ArithExpressionClass a = (ArithExpressionClass) aObj; SelStmt s = new SelStmt(); // if (a.finf.qf.getType() == QueryField.STRING) { // SensorQueryer.errorMessage = "Numeric field value not allowed with STRING fields"; // return null; // } if (a.finf.isAgg && a.finf.af.fieldData.finf.isAgg) { SensorQueryer.errorMessage = "Too much nesting in WHERE clause."; RESULT = null; } s.op = r; s.aexp = a; s.c = c.shortValue(); RESULT = s;
CUP$senseParser$result = new java_cup.runtime.Symbol(11/*condition*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 39: // where_stat ::=
{
Object RESULT = null;
CUP$senseParser$result = new java_cup.runtime.Symbol(10/*where_stat*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 38: // where_stat ::= WHERE condition more_conditions
{
Object RESULT = null;
int cleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left; int cright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).right; SelStmt c = (SelStmt)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).value; int vleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left; int vright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; Vector v = (Vector)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; conds.addElement(c); for (int i = 0; i < v.size(); i++) { conds.addElement(v.elementAt(i)); }
CUP$senseParser$result = new java_cup.runtime.Symbol(10/*where_stat*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 37: // where_stat ::= WHERE condition
{
Object RESULT = null;
int cleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; SelStmt c = (SelStmt)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; conds.addElement(c);
CUP$senseParser$result = new java_cup.runtime.Symbol(10/*where_stat*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 36: // source ::= NAME AS NAME
{
Object RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left; int nright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).right; String n = (String)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).value;
CUP$senseParser$result = new java_cup.runtime.Symbol(17/*source*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 35: // source ::= NAME
{
Object RESULT = null;
int nleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; String n = (String)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; String ln = n.toLowerCase(); if (!ln.equals("sensors")) { try { catalogTableName = ln; System.out.println("CATALOG TABLE NAME = " + ln); byte tid = (byte)CatalogTables.getTableIdFromName(ln); if (tid != CatalogTables.USER_DEFINED_TABLE_ID) tinyDBQuery.setFromCatalogTable(tid); else throw new NoSuchElementException(); } catch (NoSuchElementException e) { TinyDBQuery query; /* if ((query = TinyDBQuery.getQueryForBufName(ln)) != null) { System.out.println("Table : " + ln + " = table id " + query.getId()); tinyDBQuery.setFromQid((byte)query.getId()); } else { */ //SensorQueryer.errorMessage = "Unknown table : " + n; //we don't know about this table -- pass in a buffer name tinyDBQuery.useRamBuffer((short)0); //don't know the size ... tinyDBQuery.setInputBufferName(catalogTableName); //return null; // } } }
CUP$senseParser$result = new java_cup.runtime.Symbol(17/*source*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 34: // source ::= QUERY_STRING CONSTANT
{
Object RESULT = null;
int cleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left; int cright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right; Integer c = (Integer)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).value; //System.out.println("got : " + c); tinyDBQuery.setFromQid(c.byteValue());
CUP$senseParser$result = new java_cup.runtime.Symbol(17/*source*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 33: // from_stat_list ::= source
{
Object RESULT = null;
CUP$senseParser$result = new java_cup.runtime.Symbol(9/*from_stat_list*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 32: // from_stat_list ::= from_stat_list COMMA source
{
Object RESULT = null;
CUP$senseParser$result = new java_cup.runtime.Symbol(9/*from_stat_list*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 31: // from_stat ::=
{
Object RESULT = null;
CUP$senseParser$result = new java_cup.runtime.Symbol(8/*from_stat*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 30: // from_stat ::= FROM from_stat_list
{
Object RESULT = null;
CUP$senseParser$result = new java_cup.runtime.Symbol(8/*from_stat*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
return CUP$senseParser$result;
/*. . . . . . . . . . . . . . . . . . . .*/
case 29: // attr_core ::= agg arith_expr RPAREN
{
FieldInfo RESULT = null;
int aggleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left; int aggright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).right; AggOp agg = (AggOp)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).value; int arithObjleft = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).left; int arithObjright = ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).right; Object arithObj = (Object)((java_cup.runtime.Symbol) CUP$senseParser$stack.elementAt(CUP$senseParser$top-1)).value; ArithExpressionClass ac = (ArithExpressionClass)arithObj; if (ac.finf.isAgg) { //if this is an agg of an agg, set the operator of the inner //query field to be the inner agg operator AggField inner = ac.finf.af; if (inner.fieldData.finf.isAgg) { SensorQueryer.errorMessage = "Nested aggregate expressions with nesting greater than 2 not allowed."; return null; } short fid = removeField(inner.fieldData.finf.qf.getName(), AggOp.AGG_NOOP); //weirdness -- set the qf field, but don't unset the isAgg field, //since we'll need to fire an error about this double nesting //later if this doesn't turn out to be a nested query //also, nested queries convert a single aggregate expression to //a query field, which we don't want to do if (fid == 0xFF) ac.finf.qf= getQueryField(inner.fieldData.finf.qf.getName(), inner.fieldOp.toByte()); else ac.finf.qf= getQueryField(inner.fieldData.finf.qf.getName(), inner.fieldOp.toByte(), fid); } else { if (ac.finf.qf.getType() == QueryField.STRING) { SensorQueryer.errorMessage = "Can't aggregate on a STRING field."; RESULT = null; return null; } } FieldInfo f = new FieldInfo(); f.isAgg = true; AggField af = new AggField(); af.fieldOp = agg; af.fieldData = (ArithExpressionClass)arithObj; f.af = af; RESULT = f;
CUP$senseParser$result = new java_cup.runtime.Symbol(7/*attr_core*/, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$senseParser$stack.elementAt(CUP$senseParser$top-0)).right, RESULT);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -