parser.java

来自「JAVA的一些源码 JAVA2 STANDARD EDITION DEVELO」· Java 代码 · 共 1,233 行 · 第 1/5 页

JAVA
1,233
字号
              String RESULT = null;				lexer.emit_error("Illegal use of reserved word");		RESULT="ILLEGAL";	              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*nt_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 81: // nt_id ::= ID             {              String RESULT = null;		int the_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int the_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String the_id = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 RESULT = the_id;               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(36/*nt_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 80: // new_non_term_id ::= ID             {              Object RESULT = null;		int non_term_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int non_term_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String non_term_id = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 	  /* see if this non terminal has been declared before */	  if (symbols.get(non_term_id) != null)	    {	      /* issue a message */	      lexer.emit_error( "com.sun.java_cup.internal.runtime.Symbol \"" + non_term_id + 			                      "\" has already been declared");	    }	  else	    {	      if (multipart_name.equals("")) {		append_multipart("Object");	      }	      /* build the non terminal object */              non_terminal this_nt = 		new non_terminal(non_term_id, multipart_name);	      /* put it in the non_terms table */	      non_terms.put(non_term_id, this_nt);	      /* build a production_part and put it in the symbols table */ 	      symbols.put(non_term_id, new symbol_part(this_nt));	    }	              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(26/*new_non_term_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 79: // new_term_id ::= ID             {              Object RESULT = null;		int term_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int term_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String term_id = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 	  /* see if this terminal has been declared before */	  if (symbols.get(term_id) != null)	    {	      /* issue a message */	      lexer.emit_error("com.sun.java_cup.internal.runtime.Symbol \"" + term_id + 			   "\" has already been declared");	    }	  else	    {	      /* if no type declared, declare one */	      if (multipart_name.equals("")) {		append_multipart("Object");	      }	      /* build a production_part and put it in the table */ 	      symbols.put(term_id, 	        new symbol_part(new terminal(term_id, multipart_name)));	    }	              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(25/*new_term_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 78: // type_id ::= type_id LBRACK RBRACK             {              Object RESULT = null;		 multipart_name = multipart_name.concat("[]");               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*type_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 77: // type_id ::= multipart_id             {              Object RESULT = null;              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(19/*type_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 76: // import_id ::= multipart_id             {              Object RESULT = null;              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(15/*import_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 75: // import_id ::= multipart_id DOT STAR             {              Object RESULT = null;		 append_multipart("*");               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(15/*import_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 74: // multipart_id ::= robust_id             {              Object RESULT = null;		int an_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int an_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String an_id = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 append_multipart(an_id);               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*multipart_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 73: // multipart_id ::= multipart_id DOT robust_id             {              Object RESULT = null;		int another_idleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int another_idright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String another_id = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 append_multipart(another_id);               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(13/*multipart_id*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 72: // opt_label ::= empty             {              String RESULT = null;		 RESULT = null;               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(39/*opt_label*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 71: // opt_label ::= COLON label_id             {              String RESULT = null;		int labidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int labidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String labid = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 RESULT = labid;               CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(39/*opt_label*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 70: // prod_part ::= CODE_STRING             {              Object RESULT = null;		int code_strleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int code_strright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String code_str = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 	  /* add a new production part */	  add_rhs_part(new action_part(code_str));	              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(24/*prod_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 69: // prod_part ::= symbol_id opt_label             {              Object RESULT = null;		int symidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left;		int symidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).right;		String symid = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;		int labidleft = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left;		int labidright = ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right;		String labid = (String)((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-0)).value;		 	  /* try to look up the id */	  production_part symb = (production_part)symbols.get(symid);	  /* if that fails, symbol is undeclared */	  if (symb == null)	    {	      if (lexer.error_count == 0)	        lexer.emit_error("com.sun.java_cup.internal.runtime.Symbol \"" + symid + 			       "\" has not been declared");	    }	  else	    {	      /* add a labeled production part */	      add_rhs_part(add_lab(symb, labid));	    }	              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(24/*prod_part*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 68: // prod_part_list ::= empty             {              Object RESULT = null;              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*prod_part_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 67: // prod_part_list ::= prod_part_list prod_part             {              Object RESULT = null;              CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(23/*prod_part_list*/, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-1)).left, ((com.sun.java_cup.internal.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-0)).right, RESULT);            }          return CUP$parser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 66: // rhs ::= prod_part_list             {              Object RESULT = null;		 	  if (lhs_nt != null) 	    {	      /* build the production */	      production p = new production(lhs_nt, rhs_parts, rhs_pos);	      /* if we have no start non-terminal declared and this is 		 the first production, make its lhs nt the start_nt 		 and build a special start production for it. */              if (start_nt == null)		{		  start_nt = lhs_nt;

⌨️ 快捷键说明

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