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

📄 parser.java

📁 OLAP 的客户端代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
  "\001\001\000\002\001\001\000\002\001\001\000\012\016" +
  "\173\017\171\020\174\036\172\001\001\000\002\001\001" +
  "\000\002\001\001\000\030\021\217\022\057\024\025\025" +
  "\045\026\037\027\040\030\041\031\044\032\036\033\035" +
  "\037\024\001\001\000\002\001\001\000\002\001\001\000" +
  "\002\001\001\000\002\001\001\000\010\017\200\020\174" +
  "\036\172\001\001\000\002\001\001\000\006\004\203\037" +
  "\202\001\001\000\002\001\001\000\004\005\205\001\001" +
  "\000\030\021\216\022\057\024\025\025\045\026\037\027" +
  "\040\030\041\031\044\032\036\033\035\037\024\001\001" +
  "\000\004\006\207\001\001\000\002\001\001\000\002\001" +
  "\001\000\006\007\212\037\211\001\001\000\004\053\213" +
  "\001\001\000\002\001\001\000\002\001\001\000\006\007" +
  "\215\037\211\001\001\000\002\001\001\000\002\001\001" +
  "\000\004\051\220\001\001\000\002\001\001\000\002\001" +
  "\001\000\010\037\015\047\224\052\223\001\001\000\002" +
  "\001\001\000\002\001\001\000\010\037\015\047\224\052" +
  "\226\001\001\000\002\001\001\000\006\037\230\040\231" +
  "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
  "\001\000\002\001\001" });

/** Access to <code>reduce_goto</code> table. */
public short[][] reduce_table() {return _reduce_table;}

/** Instance of action encapsulation class. */
protected CUP$parser$actions action_obj;

/** Action encapsulation object initializer. */
protected void init_actions()
  {
    action_obj = new CUP$parser$actions(this);
  }

/** Invoke a user supplied parse action. */
public java_cup.runtime.Symbol do_action(
  int                        act_num,
  java_cup.runtime.lr_parser parser,
  java.util.Stack            stack,
  int                        top)
  throws java.lang.Exception
{
  /* call code in generated class */
  return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
}

/** Indicates start state. */
public int start_state() {return 0;}
/** Indicates start production. */
public int start_production() {return 0;}

/** <code>EOF</code> Symbol index. */
public int EOF_sym() {return 0;}

/** <code>error</code> Symbol index. */
public int error_sym() {return 1;}



static Logger logger = Logger.getLogger(parser.class);
  
/**
 * report_error
 */ 
public void report_error(String message, Object info) {
  logger.warn("Parsing MDX:" +message);
  if (info instanceof Symbol) {
	  if (((Symbol)info).left != -1) {
	     logger.warn("at character " + ((Symbol)info).left +  " of input");
	  }
	}
}
	
/**
 * report_fatal_error
 */ 
public void report_fatal_error(String message, Object info) throws Exception {
  String err;
  err = "Fatal error parsing MDX:" +message;
  if (info instanceof Symbol) {
	  if (((Symbol)info).left != -1) {
	     err += "\n at character " + ((Symbol)info).left +  " of input";
	  } else {
	    err += "\n invalid symbol \"" + ((Symbol)info).value +"\"";
	  }
	} else
	  err += "\n" + info.toString();
	logger.error("Fatal error parsing MDX:" +err);
	throw new Exception(err);
}

          
}

/** Cup generated class to encapsulate user supplied action code.*/
class CUP$parser$actions {

ParsedQuery pQuery = new ParsedQuery();  
private final parser parser;

/** Constructor */
CUP$parser$actions(parser parser) {
  this.parser = parser;
}

/** Method with the actual generated action code. */
public final java_cup.runtime.Symbol CUP$parser$do_action(
  int                        CUP$parser$act_num,
  java_cup.runtime.lr_parser CUP$parser$parser,
  java.util.Stack            CUP$parser$stack,
  int                        CUP$parser$top)
  throws java.lang.Exception
  {
    /* Symbol object for return from actions */
    java_cup.runtime.Symbol CUP$parser$result;

    /* select the action based on the action number */
    switch (CUP$parser$act_num)
      {
        /*. . . . . . . . . . . . . . . . . . . .*/
        case 92: // comp_op ::= GE 
          {
            String RESULT = null;
		 RESULT = ">="; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 91: // comp_op ::= LE 
          {
            String RESULT = null;
		 RESULT = "<="; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 90: // comp_op ::= GT 
          {
            String RESULT = null;
		 RESULT = ">"; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 89: // comp_op ::= LT 
          {
            String RESULT = null;
		 RESULT = "<"; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 88: // comp_op ::= NE 
          {
            String RESULT = null;
		 RESULT = "<>"; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 87: // comp_op ::= EQ 
          {
            String RESULT = null;
		 RESULT = "="; 
            CUP$parser$result = new java_cup.runtime.Symbol(38/*comp_op*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 86: // else_clause_opt ::= ELSE value_expression 
          {
            Exp RESULT = null;
		int xleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
		int xright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
		Exp x = (Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
		 RESULT = x; 
            CUP$parser$result = new java_cup.runtime.Symbol(26/*else_clause_opt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 85: // else_clause_opt ::= 
          {
            Exp RESULT = null;

            CUP$parser$result = new java_cup.runtime.Symbol(26/*else_clause_opt*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 84: // when_clause ::= WHEN value_expression THEN value_expression 
          {
            Exp[] RESULT = null;
		int xleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left;
		int xright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).right;
		Exp x = (Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
		int yleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
		int yright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
		Exp y = (Exp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
		 RESULT = new Exp[] { x, y }; 
            CUP$parser$result = new java_cup.runtime.Symbol(27/*when_clause*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-3)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);
          }
        return CUP$parser$result;

        /*. . . . . . . . . . . . . . . . . . . .*/
        case 83: // when_list ::= when_list when_clause 
          {
            ArrayList RESULT = null;
		int xleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;
		int xright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;
		ArrayList x = (ArrayList)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
		int yleft = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;
		int yright = ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;
		Exp[] y = (Exp[])((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;
		 RESULT = x;  x.add(y); 
            CUP$parser$result = new java_cup.runtime.Symbol(35/*when_list*/, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);

⌨️ 快捷键说明

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