From 600887a9c6ae65cf8705b3fda4d39722190b555d Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Sat, 26 Apr 2014 13:56:20 +0400 Subject: [PATCH] move reg exp lexer to gen root --- RegExpSupport/RegExpSupport.iml | 1 + .../org/intellij/lang/regexp/_RegExLexer.java | 412 +++++++++--------- 2 files changed, 207 insertions(+), 206 deletions(-) rename RegExpSupport/{src => gen}/org/intellij/lang/regexp/_RegExLexer.java (99%) diff --git a/RegExpSupport/RegExpSupport.iml b/RegExpSupport/RegExpSupport.iml index a94309f991db..fb5964f4c81a 100644 --- a/RegExpSupport/RegExpSupport.iml +++ b/RegExpSupport/RegExpSupport.iml @@ -6,6 +6,7 @@ + diff --git a/RegExpSupport/src/org/intellij/lang/regexp/_RegExLexer.java b/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java similarity index 99% rename from RegExpSupport/src/org/intellij/lang/regexp/_RegExLexer.java rename to RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java index 701745789208..c4c4f4d9a02a 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/_RegExLexer.java +++ b/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 2/9/13 3:43 PM */ +/* The following code was generated by JFlex 1.4.3 on 4/26/14 1:54 PM */ /* It's an automatically generated code. Do not modify it. */ package org.intellij.lang.regexp; @@ -15,8 +15,8 @@ import com.intellij.psi.StringEscapesTokenTypes; /** * This class is a scanner generated by * JFlex 1.4.3 - * on 2/9/13 3:43 PM from the specification file - * C:/work/IDEA/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex + * on 4/26/14 1:54 PM from the specification file + * /Users/ignatov/src/ultimate/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex */ class _RegExLexer implements FlexLexer { /** initial size of the lookahead buffer */ @@ -683,96 +683,93 @@ class _RegExLexer implements FlexLexer { { return RegExpTT.STAR; } case 82: break; - case 28: - { if (allowNestedCharacterClasses) { - yypushstate(CLASS2); - return RegExpTT.CLASS_BEGIN; - } - return RegExpTT.CHARACTER; - } - case 83: break; case 59: { yybegin(PY_COND_REF); return RegExpTT.PYTHON_COND_REF; } - case 84: break; + case 83: break; case 48: { return RegExpTT.CHAR_CLASS; } - case 85: break; + case 84: break; case 35: { handleOptions(); return RegExpTT.OPTIONS_OFF; } + case 85: break; + case 55: + { yypopstate(); return RegExpTT.QUOTE_END; + } case 86: break; + case 34: + { yybegin(YYINITIAL); return RegExpTT.GROUP_END; + } + case 87: break; + case 5: + { return RegExpTT.GROUP_BEGIN; + } + case 88: break; + case 36: + { yybegin(YYINITIAL); return RegExpTT.COLON; + } + case 89: break; + case 6: + { return RegExpTT.GROUP_END; + } + case 90: break; + case 25: + { assert false : yytext(); + } + case 91: break; + case 18: + { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CHARACTER; + } + case 92: break; + case 45: + { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE; + } + case 93: break; + case 23: + { return RegExpTT.NAME; + } + case 94: break; + case 73: + { if (allowOctalNoLeadingZero) return RegExpTT.OCT_CHAR; + return yystate() != CLASS2 ? RegExpTT.BACKREF : RegExpTT.ESC_CHARACTER; + } + case 95: break; + case 29: + { yypopstate(); return RegExpTT.CLASS_END; + } + case 96: break; + case 33: + { yybegin(YYINITIAL); return RegExpTT.BAD_CHARACTER; + } + case 97: break; + case 51: + { yypushstate(QUOTED); return RegExpTT.QUOTE_BEGIN; + } + case 98: break; + case 21: + { return RegExpTT.NUMBER; + } + case 99: break; + case 4: + { return RegExpTT.DOT; + } + case 100: break; + case 71: + { return RegExpTT.NEG_LOOKBEHIND; + } + case 101: break; + case 43: + { return (allowOctalNoLeadingZero ? RegExpTT.OCT_CHAR : RegExpTT.BAD_OCT_VALUE); + } + case 102: break; case 40: // lookahead expression with fixed base length zzMarkedPos = zzStartRead + 1; { yypushstate(CLASS1); return RegExpTT.CLASS_BEGIN; } - case 87: break; - case 55: - { yypopstate(); return RegExpTT.QUOTE_END; - } - case 88: break; - case 34: - { yybegin(YYINITIAL); return RegExpTT.GROUP_END; - } - case 89: break; - case 5: - { return RegExpTT.GROUP_BEGIN; - } - case 90: break; - case 36: - { yybegin(YYINITIAL); return RegExpTT.COLON; - } - case 91: break; - case 6: - { return RegExpTT.GROUP_END; - } - case 92: break; - case 25: - { assert false : yytext(); - } - case 93: break; - case 18: - { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CHARACTER; - } - case 94: break; - case 45: - { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE; - } - case 95: break; - case 23: - { return RegExpTT.NAME; - } - case 96: break; - case 29: - { yypopstate(); return RegExpTT.CLASS_END; - } - case 97: break; - case 33: - { yybegin(YYINITIAL); return RegExpTT.BAD_CHARACTER; - } - case 98: break; - case 51: - { yypushstate(QUOTED); return RegExpTT.QUOTE_BEGIN; - } - case 99: break; - case 21: - { return RegExpTT.NUMBER; - } - case 100: break; - case 4: - { return RegExpTT.DOT; - } - case 101: break; - case 71: - { return RegExpTT.NEG_LOOKBEHIND; - } - case 102: break; - case 43: - { return (allowOctalNoLeadingZero ? RegExpTT.OCT_CHAR : RegExpTT.BAD_OCT_VALUE); - } case 103: break; case 62: { return RegExpTT.NEG_LOOKAHEAD; @@ -790,66 +787,66 @@ class _RegExLexer implements FlexLexer { { yybegin(QUOTED_NAMED_GROUP); return RegExpTT.RUBY_QUOTED_NAMED_GROUP; } case 107: break; + case 28: + { if (allowNestedCharacterClasses) { + yypushstate(CLASS2); + return RegExpTT.CLASS_BEGIN; + } + return RegExpTT.CHARACTER; + } + case 108: break; case 19: { if (commentMode) { yypushstate(COMMENT); return RegExpTT.COMMENT; } else return RegExpTT.CHARACTER; } - case 108: break; + case 109: break; case 50: { yypushstate(PROP); return RegExpTT.PROPERTY; } - case 109: break; + case 110: break; + case 8: + { yypushstate(CLASS2); + return RegExpTT.CLASS_BEGIN; + } + case 111: break; case 70: { return RegExpTT.POS_LOOKBEHIND; } - case 110: break; + case 112: break; case 42: { return yystate() != CLASS2 ? RegExpTT.BACKREF : RegExpTT.ESC_CHARACTER; } - case 111: break; + case 113: break; case 72: { return RegExpTT.HEX_CHAR; } - case 112: break; + case 114: break; case 1: { handleOptions(); return RegExpTT.OPTIONS_ON; } - case 113: break; + case 115: break; case 58: { return allowNestedCharacterClasses ? RegExpTT.ANDAND : RegExpTT.CHARACTER; } - case 114: break; + case 116: break; case 2: { yypopstate(); return RegExpTT.COMMENT; } - case 115: break; + case 117: break; case 17: { return RegExpTT.MINUS; } - case 116: break; + case 118: break; case 46: { return RegExpTT.ESC_CTRL_CHARACTER; } - case 117: break; + case 119: break; case 32: { yypopstate(); yypushstate(EMBRACED); return RegExpTT.LBRACE; } - case 118: break; - case 57: - { if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER; - return RegExpTT.REDUNDANT_ESCAPE; - } - case 119: break; + case 120: break; case 13: { return RegExpTT.QUEST; } - case 120: break; - case 20: - { if (allowDanglingMetacharacters) { - yypopstate(); yypushback(1); - } else { - return RegExpTT.BAD_CHARACTER; - } - } case 121: break; case 54: { return (allowHexDigitClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN); @@ -863,114 +860,10 @@ class _RegExLexer implements FlexLexer { { return RegExpTT.OCT_CHAR; } case 124: break; - case 73: - { if (allowOctalNoLeadingZero) return RegExpTT.OCT_CHAR; - return yystate() != CLASS2 ? RegExpTT.BACKREF : RegExpTT.ESC_CHARACTER; - } - case 125: break; case 38: { yybegin(YYINITIAL); return RegExpTT.QUOTE; } - case 126: break; - case 31: - { yypopstate(); yypushback(1); - } - case 127: break; - case 27: - { yybegin(CLASS1); return RegExpTT.CARET; - } - case 128: break; - case 37: - { yybegin(YYINITIAL); return RegExpTT.GT; - } - case 129: break; - case 68: - { yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF; - } - case 130: break; - case 16: - { return RegExpTT.UNION; - } - case 131: break; - case 3: - { return RegExpTT.CHARACTER; - } - case 132: break; - case 63: - { yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP; - } - case 133: break; - case 39: - { yybegin(OPTIONS); return RegExpTT.SET_OPTIONS; - } - case 134: break; - case 26: - { yybegin(CLASS2); return RegExpTT.CHARACTER; - } - case 135: break; - case 67: - { if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL; - } - case 136: break; - case 30: - { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER; - } - case 137: break; - case 12: - { return RegExpTT.DOLLAR; - } - case 138: break; - case 49: - { if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN; - } - case 139: break; - case 41: - { return RegExpTT.REDUNDANT_ESCAPE; - } - case 140: break; - case 47: - { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER; - } - case 141: break; - case 8: - { yypushstate(CLASS2); - return RegExpTT.CLASS_BEGIN; - } - case 142: break; - case 22: - { yypopstate(); return RegExpTT.RBRACE; - } - case 143: break; - case 53: - { return StringEscapesTokenTypes.INVALID_UNICODE_ESCAPE_TOKEN; - } - case 144: break; - case 52: - { return RegExpTT.BAD_HEX_VALUE; - } - case 145: break; - case 9: - { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN; - } - case 146: break; - case 11: - { return RegExpTT.CARET; - } - case 147: break; - case 44: - { return RegExpTT.ESC_CHARACTER; - } - case 148: break; - case 56: - // lookahead expression with fixed base length - zzMarkedPos = zzStartRead + 1; - { if (allowNestedCharacterClasses) { - yypushstate(CLASS1); - return RegExpTT.CLASS_BEGIN; - } - return RegExpTT.CHARACTER; - } - case 149: break; + case 125: break; case 65: // lookahead expression with fixed base length zzMarkedPos = zzStartRead + 1; @@ -982,6 +875,113 @@ class _RegExLexer implements FlexLexer { } return RegExpTT.CLASS_BEGIN; } + case 126: break; + case 20: + { if (allowDanglingMetacharacters) { + yypopstate(); yypushback(1); + } else { + return RegExpTT.BAD_CHARACTER; + } + } + case 127: break; + case 31: + { yypopstate(); yypushback(1); + } + case 128: break; + case 27: + { yybegin(CLASS1); return RegExpTT.CARET; + } + case 129: break; + case 56: + // lookahead expression with fixed base length + zzMarkedPos = zzStartRead + 1; + { if (allowNestedCharacterClasses) { + yypushstate(CLASS1); + return RegExpTT.CLASS_BEGIN; + } + return RegExpTT.CHARACTER; + } + case 130: break; + case 57: + { if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER; + return RegExpTT.REDUNDANT_ESCAPE; + } + case 131: break; + case 37: + { yybegin(YYINITIAL); return RegExpTT.GT; + } + case 132: break; + case 68: + { yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF; + } + case 133: break; + case 16: + { return RegExpTT.UNION; + } + case 134: break; + case 3: + { return RegExpTT.CHARACTER; + } + case 135: break; + case 63: + { yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP; + } + case 136: break; + case 39: + { yybegin(OPTIONS); return RegExpTT.SET_OPTIONS; + } + case 137: break; + case 26: + { yybegin(CLASS2); return RegExpTT.CHARACTER; + } + case 138: break; + case 67: + { if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL; + } + case 139: break; + case 30: + { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER; + } + case 140: break; + case 12: + { return RegExpTT.DOLLAR; + } + case 141: break; + case 49: + { if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN; + } + case 142: break; + case 41: + { return RegExpTT.REDUNDANT_ESCAPE; + } + case 143: break; + case 47: + { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER; + } + case 144: break; + case 22: + { yypopstate(); return RegExpTT.RBRACE; + } + case 145: break; + case 53: + { return StringEscapesTokenTypes.INVALID_UNICODE_ESCAPE_TOKEN; + } + case 146: break; + case 52: + { return RegExpTT.BAD_HEX_VALUE; + } + case 147: break; + case 9: + { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN; + } + case 148: break; + case 11: + { return RegExpTT.CARET; + } + case 149: break; + case 44: + { return RegExpTT.ESC_CHARACTER; + } case 150: break; default: if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {