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

📄 senseparser.java

📁 tinyos最新版
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		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 + -