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

📄 lexparse.java

📁 java语法解释器生成器
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		Character c = (Character)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		                      try {                       if ( scanner.caseless ) {                         charClasses.makeClass(c.charValue(), true);                         RESULT = new RegExp1(sym.CHAR_I, c);                       }                       else {                         charClasses.makeClass(c.charValue(), false);                         RESULT = new RegExp1(sym.CHAR, c);                        }                     }                     catch (CharClassException e) {                       syntaxError(ErrorMessages.CS2SMALL_CHAR, cleft, cright);                     }                                 CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 51: // regexp ::= POINT             {              RegExp RESULT =null;		                       Vector any = new Vector();                      any.addElement(new Interval('\n','\n'));                      // assumption: there is no upper case for \n                      charClasses.makeClass('\n', false);                      RESULT = new RegExp1(sym.CCLASSNOT, any);                                  CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 50: // regexp ::= STRING             {              RegExp RESULT =null;		int strleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int strright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		String str = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		                      try {                       if ( scanner.caseless ) {                         charClasses.makeClass(str, true);                         RESULT = new RegExp1(sym.STRING_I, str);                       }                       else {                         charClasses.makeClass(str, false);                         RESULT = new RegExp1(sym.STRING, str);                        }                     }                     catch (CharClassException e) {                       syntaxError(ErrorMessages.CS2SMALL_STRING, strleft, strright);                     }                                 CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 49: // regexp ::= preclass             {              RegExp RESULT =null;		int listleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int listright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		Vector list = (Vector)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		                     try {                       // assumption [correct?]: preclasses are already closed under case                       charClasses.makeClass(list, false);                     }                     catch (CharClassException e) {                       syntaxError(ErrorMessages.CHARSET_2_SMALL, listleft);                     }                     RESULT = new RegExp1(sym.CCLASS, list);                                 CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 48: // regexp ::= charclass             {              RegExp RESULT =null;		int cleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int cright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		RegExp c = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = c;               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 47: // regexp ::= MACROUSE             {              RegExp RESULT =null;		int identleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int identright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		String ident = (String)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		                       if ( !scanner.macroDefinition ) {                        if ( ! macros.markUsed(ident) )                           throw new ScannerException(scanner.file, ErrorMessages.MACRO_UNDECL,                                                      identleft, identright);                      }                      RESULT = new RegExp1(sym.MACROUSE, ident);                                  CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 46: // regexp ::= OPENBRACKET series CLOSEBRACKET             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		 RESULT = r;               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 45: // regexp ::= regexp REPEAT REPEAT RBRACE             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)).value;		int n1left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;		int n1right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;		Integer n1 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;		int n2left = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int n2right = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		Integer n2 = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		 RESULT = makeRepeat(r, n1.intValue(), n2.intValue(), n1left, n2right);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-3)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 44: // regexp ::= regexp REPEAT RBRACE             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)).value;		int nleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int nright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		Integer n = (Integer)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		int bleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int bright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		Object b = (Object)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = makeRepeat(r, n.intValue(), n.intValue(), bleft, bright);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-2)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 43: // regexp ::= regexp QUESTION             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		 RESULT = new RegExp1(sym.QUESTION, r);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 42: // regexp ::= regexp PLUS             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		 RESULT = new RegExp1(sym.PLUS, r);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 41: // regexp ::= regexp STAR             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)).value;		 RESULT = new RegExp1(sym.STAR, r);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("regexp",7, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 40: // nregexp ::= TILDE nregexp             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = new RegExp1(sym.TILDE, r);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 39: // nregexp ::= BANG nregexp             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = new RegExp1(sym.BANG, r);               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.elementAt(CUP$LexParse$top-1)), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 38: // nregexp ::= regexp             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = r;               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("nregexp",6, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), RESULT);            }          return CUP$LexParse$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 37: // concs ::= nregexp             {              RegExp RESULT =null;		int rleft = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).left;		int rright = ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()).right;		RegExp r = (RegExp)((java_cup.runtime.Symbol) CUP$LexParse$stack.peek()).value;		 RESULT = r;               CUP$LexParse$result = parser.getSymbolFactory().newSymbol("concs",5, ((java_cup.runtime.Symbol)CUP$LexParse$stack.peek()), ((java_cup.runtime.Symbol)CUP$

⌨️ 快捷键说明

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