📄 lexparse.java
字号:
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 + -