|
|
|
@@ -1,4 +1,4 @@
|
|
|
|
|
/* The following code was generated by JFlex 1.4.3 on 4/29/14 2:27 PM */
|
|
|
|
|
/* The following code was generated by JFlex 1.4.3 on 10/22/14 10:42 AM */
|
|
|
|
|
|
|
|
|
|
/* 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
|
|
|
|
|
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3
|
|
|
|
|
* on 4/29/14 2:27 PM from the specification file
|
|
|
|
|
* <tt>C:/idea_src/ultimate/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex</tt>
|
|
|
|
|
* on 10/22/14 10:42 AM from the specification file
|
|
|
|
|
* <tt>/Users/bas/Projects/IntelliJ IDEA Ultimate/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex</tt>
|
|
|
|
|
*/
|
|
|
|
|
class _RegExLexer implements FlexLexer {
|
|
|
|
|
/** initial size of the lookahead buffer */
|
|
|
|
@@ -56,69 +56,90 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
"\1\61\1\15\1\0\1\52\1\62\1\4\1\5\1\17\1\20\1\51"+
|
|
|
|
|
"\1\43\1\3\1\0\1\2\7\42\2\1\1\54\1\0\1\60\1\56"+
|
|
|
|
|
"\1\55\1\16\1\0\1\24\1\24\1\30\1\27\1\37\1\35\1\25"+
|
|
|
|
|
"\1\44\1\32\6\45\1\34\1\36\1\45\1\26\3\45\1\26\1\26"+
|
|
|
|
|
"\1\45\1\25\1\10\1\12\1\11\1\14\1\47\1\0\1\23\1\24"+
|
|
|
|
|
"\1\31\1\27\1\23\1\23\1\45\1\44\1\32\4\45\1\22\1\45"+
|
|
|
|
|
"\1\33\1\45\1\22\1\26\1\22\1\41\1\45\1\26\1\40\1\45"+
|
|
|
|
|
"\1\25\1\6\1\21\1\7\54\0\1\45\12\0\1\45\4\0\1\45"+
|
|
|
|
|
"\5\0\27\45\1\0\37\45\1\0\u013f\45\31\0\162\45\4\0\14\45"+
|
|
|
|
|
"\16\0\5\45\11\0\1\45\213\0\1\45\13\0\1\45\1\0\3\45"+
|
|
|
|
|
"\1\0\1\45\1\0\24\45\1\0\54\45\1\0\46\45\1\0\5\45"+
|
|
|
|
|
"\4\0\202\45\10\0\105\45\1\0\46\45\2\0\2\45\6\0\20\45"+
|
|
|
|
|
"\41\0\46\45\2\0\1\45\7\0\47\45\110\0\33\45\5\0\3\45"+
|
|
|
|
|
"\56\0\32\45\5\0\13\45\25\0\12\50\4\0\2\45\1\0\143\45"+
|
|
|
|
|
"\1\0\1\45\17\0\2\45\7\0\2\45\12\50\3\45\2\0\1\45"+
|
|
|
|
|
"\20\0\1\45\1\0\36\45\35\0\3\45\60\0\46\45\13\0\1\45"+
|
|
|
|
|
"\u0152\0\66\45\3\0\1\45\22\0\1\45\7\0\12\45\4\0\12\50"+
|
|
|
|
|
"\25\0\10\45\2\0\2\45\2\0\26\45\1\0\7\45\1\0\1\45"+
|
|
|
|
|
"\3\0\4\45\3\0\1\45\36\0\2\45\1\0\3\45\4\0\12\50"+
|
|
|
|
|
"\2\45\23\0\6\45\4\0\2\45\2\0\26\45\1\0\7\45\1\0"+
|
|
|
|
|
"\2\45\1\0\2\45\1\0\2\45\37\0\4\45\1\0\1\45\7\0"+
|
|
|
|
|
"\12\50\2\0\3\45\20\0\11\45\1\0\3\45\1\0\26\45\1\0"+
|
|
|
|
|
"\7\45\1\0\2\45\1\0\5\45\3\0\1\45\22\0\1\45\17\0"+
|
|
|
|
|
"\2\45\4\0\12\50\25\0\10\45\2\0\2\45\2\0\26\45\1\0"+
|
|
|
|
|
"\7\45\1\0\2\45\1\0\5\45\3\0\1\45\36\0\2\45\1\0"+
|
|
|
|
|
"\3\45\4\0\12\50\1\0\1\45\21\0\1\45\1\0\6\45\3\0"+
|
|
|
|
|
"\3\45\1\0\4\45\3\0\2\45\1\0\1\45\1\0\2\45\3\0"+
|
|
|
|
|
"\2\45\3\0\3\45\3\0\10\45\1\0\3\45\55\0\11\50\25\0"+
|
|
|
|
|
"\10\45\1\0\3\45\1\0\27\45\1\0\12\45\1\0\5\45\46\0"+
|
|
|
|
|
"\2\45\4\0\12\50\25\0\10\45\1\0\3\45\1\0\27\45\1\0"+
|
|
|
|
|
"\12\45\1\0\5\45\3\0\1\45\40\0\1\45\1\0\2\45\4\0"+
|
|
|
|
|
"\12\50\25\0\10\45\1\0\3\45\1\0\27\45\1\0\20\45\46\0"+
|
|
|
|
|
"\2\45\4\0\12\50\25\0\22\45\3\0\30\45\1\0\11\45\1\0"+
|
|
|
|
|
"\1\45\2\0\7\45\72\0\60\45\1\0\2\45\14\0\7\45\11\0"+
|
|
|
|
|
"\12\50\47\0\2\45\1\0\1\45\2\0\2\45\1\0\1\45\2\0"+
|
|
|
|
|
"\1\45\6\0\4\45\1\0\7\45\1\0\3\45\1\0\1\45\1\0"+
|
|
|
|
|
"\1\45\2\0\2\45\1\0\4\45\1\0\2\45\11\0\1\45\2\0"+
|
|
|
|
|
"\5\45\1\0\1\45\11\0\12\50\2\0\2\45\42\0\1\45\37\0"+
|
|
|
|
|
"\12\50\26\0\10\45\1\0\42\45\35\0\4\45\164\0\42\45\1\0"+
|
|
|
|
|
"\5\45\1\0\2\45\25\0\12\50\6\0\6\45\112\0\46\45\12\0"+
|
|
|
|
|
"\51\45\7\0\132\45\5\0\104\45\5\0\122\45\6\0\7\45\1\0"+
|
|
|
|
|
"\77\45\1\0\1\45\1\0\4\45\2\0\7\45\1\0\1\45\1\0"+
|
|
|
|
|
"\4\45\2\0\47\45\1\0\1\45\1\0\4\45\2\0\37\45\1\0"+
|
|
|
|
|
"\1\45\1\0\4\45\2\0\7\45\1\0\1\45\1\0\4\45\2\0"+
|
|
|
|
|
"\7\45\1\0\7\45\1\0\27\45\1\0\37\45\1\0\1\45\1\0"+
|
|
|
|
|
"\4\45\2\0\7\45\1\0\47\45\1\0\23\45\16\0\11\50\56\0"+
|
|
|
|
|
"\125\45\14\0\u026c\45\2\0\10\45\12\0\32\45\5\0\113\45\25\0"+
|
|
|
|
|
"\15\45\1\0\4\45\16\0\22\45\16\0\22\45\16\0\15\45\1\0"+
|
|
|
|
|
"\3\45\17\0\64\45\43\0\1\45\4\0\1\45\3\0\12\50\46\0"+
|
|
|
|
|
"\12\50\6\0\130\45\10\0\51\45\127\0\35\45\51\0\12\50\36\45"+
|
|
|
|
|
"\2\0\5\45\u038b\0\154\45\224\0\234\45\4\0\132\45\6\0\26\45"+
|
|
|
|
|
"\2\0\6\45\2\0\46\45\2\0\6\45\2\0\10\45\1\0\1\45"+
|
|
|
|
|
"\1\0\1\45\1\0\1\45\1\0\37\45\2\0\65\45\1\0\7\45"+
|
|
|
|
|
"\1\0\1\45\3\0\3\45\1\0\7\45\3\0\4\45\2\0\6\45"+
|
|
|
|
|
"\4\0\15\45\5\0\3\45\1\0\7\45\164\0\1\45\15\0\1\45"+
|
|
|
|
|
"\202\0\1\45\4\0\1\45\2\0\12\45\1\0\1\45\3\0\5\45"+
|
|
|
|
|
"\6\0\1\45\1\0\1\45\1\0\1\45\1\0\4\45\1\0\3\45"+
|
|
|
|
|
"\1\0\7\45\3\0\3\45\5\0\5\45\u0ebb\0\2\45\52\0\5\45"+
|
|
|
|
|
"\5\0\2\45\4\0\126\45\6\0\3\45\1\0\132\45\1\0\4\45"+
|
|
|
|
|
"\5\0\50\45\4\0\136\45\21\0\30\45\70\0\20\45\u0200\0\u19b6\45"+
|
|
|
|
|
"\112\0\u51a6\45\132\0\u048d\45\u0773\0\u2ba4\45\u215c\0\u012e\45\2\0\73\45"+
|
|
|
|
|
"\225\0\7\45\14\0\5\45\5\0\1\45\1\0\12\45\1\0\15\45"+
|
|
|
|
|
"\1\0\5\45\1\0\1\45\1\0\2\45\1\0\2\45\1\0\154\45"+
|
|
|
|
|
"\41\0\u016b\45\22\0\100\45\2\0\66\45\50\0\14\45\164\0\5\45"+
|
|
|
|
|
"\1\0\207\45\23\0\12\50\7\0\32\45\6\0\32\45\13\0\131\45"+
|
|
|
|
|
"\3\0\6\45\2\0\6\45\2\0\6\45\2\0\3\45\43\0";
|
|
|
|
|
"\1\44\1\32\6\45\1\34\1\36\1\45\1\26\2\45\1\26\1\26"+
|
|
|
|
|
"\1\26\1\45\1\25\1\10\1\12\1\11\1\14\1\47\1\0\1\23"+
|
|
|
|
|
"\1\24\1\31\1\27\1\23\1\23\1\45\1\44\1\32\4\45\1\22"+
|
|
|
|
|
"\1\45\1\33\1\45\1\22\1\26\1\22\1\41\1\26\1\26\1\40"+
|
|
|
|
|
"\1\45\1\25\1\6\1\21\1\7\54\0\1\45\12\0\1\45\4\0"+
|
|
|
|
|
"\1\45\5\0\27\45\1\0\37\45\1\0\u01ca\45\4\0\14\45\16\0"+
|
|
|
|
|
"\5\45\7\0\1\45\1\0\1\45\201\0\5\45\1\0\2\45\2\0"+
|
|
|
|
|
"\4\45\10\0\1\45\1\0\3\45\1\0\1\45\1\0\24\45\1\0"+
|
|
|
|
|
"\123\45\1\0\213\45\10\0\236\45\11\0\46\45\2\0\1\45\7\0"+
|
|
|
|
|
"\47\45\110\0\33\45\5\0\3\45\55\0\53\45\25\0\12\50\4\0"+
|
|
|
|
|
"\2\45\1\0\143\45\1\0\1\45\17\0\2\45\7\0\2\45\12\50"+
|
|
|
|
|
"\3\45\2\0\1\45\20\0\1\45\1\0\36\45\35\0\131\45\13\0"+
|
|
|
|
|
"\1\45\16\0\12\50\41\45\11\0\2\45\4\0\1\45\5\0\26\45"+
|
|
|
|
|
"\4\0\1\45\11\0\1\45\3\0\1\45\27\0\31\45\107\0\1\45"+
|
|
|
|
|
"\1\0\13\45\127\0\66\45\3\0\1\45\22\0\1\45\7\0\12\45"+
|
|
|
|
|
"\4\0\12\50\1\0\7\45\1\0\7\45\5\0\10\45\2\0\2\45"+
|
|
|
|
|
"\2\0\26\45\1\0\7\45\1\0\1\45\3\0\4\45\3\0\1\45"+
|
|
|
|
|
"\20\0\1\45\15\0\2\45\1\0\3\45\4\0\12\50\2\45\23\0"+
|
|
|
|
|
"\6\45\4\0\2\45\2\0\26\45\1\0\7\45\1\0\2\45\1\0"+
|
|
|
|
|
"\2\45\1\0\2\45\37\0\4\45\1\0\1\45\7\0\12\50\2\0"+
|
|
|
|
|
"\3\45\20\0\11\45\1\0\3\45\1\0\26\45\1\0\7\45\1\0"+
|
|
|
|
|
"\2\45\1\0\5\45\3\0\1\45\22\0\1\45\17\0\2\45\4\0"+
|
|
|
|
|
"\12\50\25\0\10\45\2\0\2\45\2\0\26\45\1\0\7\45\1\0"+
|
|
|
|
|
"\2\45\1\0\5\45\3\0\1\45\36\0\2\45\1\0\3\45\4\0"+
|
|
|
|
|
"\12\50\1\0\1\45\21\0\1\45\1\0\6\45\3\0\3\45\1\0"+
|
|
|
|
|
"\4\45\3\0\2\45\1\0\1\45\1\0\2\45\3\0\2\45\3\0"+
|
|
|
|
|
"\3\45\3\0\14\45\26\0\1\45\25\0\12\50\25\0\10\45\1\0"+
|
|
|
|
|
"\3\45\1\0\27\45\1\0\12\45\1\0\5\45\3\0\1\45\32\0"+
|
|
|
|
|
"\2\45\6\0\2\45\4\0\12\50\25\0\10\45\1\0\3\45\1\0"+
|
|
|
|
|
"\27\45\1\0\12\45\1\0\5\45\3\0\1\45\40\0\1\45\1\0"+
|
|
|
|
|
"\2\45\4\0\12\50\1\0\2\45\22\0\10\45\1\0\3\45\1\0"+
|
|
|
|
|
"\51\45\2\0\1\45\20\0\1\45\21\0\2\45\4\0\12\50\12\0"+
|
|
|
|
|
"\6\45\5\0\22\45\3\0\30\45\1\0\11\45\1\0\1\45\2\0"+
|
|
|
|
|
"\7\45\72\0\60\45\1\0\2\45\14\0\7\45\11\0\12\50\47\0"+
|
|
|
|
|
"\2\45\1\0\1\45\2\0\2\45\1\0\1\45\2\0\1\45\6\0"+
|
|
|
|
|
"\4\45\1\0\7\45\1\0\3\45\1\0\1\45\1\0\1\45\2\0"+
|
|
|
|
|
"\2\45\1\0\4\45\1\0\2\45\11\0\1\45\2\0\5\45\1\0"+
|
|
|
|
|
"\1\45\11\0\12\50\2\0\4\45\40\0\1\45\37\0\12\50\26\0"+
|
|
|
|
|
"\10\45\1\0\44\45\33\0\5\45\163\0\53\45\24\0\1\45\12\50"+
|
|
|
|
|
"\6\0\6\45\4\0\4\45\3\0\1\45\3\0\2\45\7\0\3\45"+
|
|
|
|
|
"\4\0\15\45\14\0\1\45\1\0\12\50\6\0\46\45\1\0\1\45"+
|
|
|
|
|
"\5\0\1\45\2\0\53\45\1\0\u014d\45\1\0\4\45\2\0\7\45"+
|
|
|
|
|
"\1\0\1\45\1\0\4\45\2\0\51\45\1\0\4\45\2\0\41\45"+
|
|
|
|
|
"\1\0\4\45\2\0\7\45\1\0\1\45\1\0\4\45\2\0\17\45"+
|
|
|
|
|
"\1\0\71\45\1\0\4\45\2\0\103\45\45\0\20\45\20\0\125\45"+
|
|
|
|
|
"\14\0\u026c\45\2\0\21\45\1\0\32\45\5\0\113\45\25\0\15\45"+
|
|
|
|
|
"\1\0\4\45\16\0\22\45\16\0\22\45\16\0\15\45\1\0\3\45"+
|
|
|
|
|
"\17\0\64\45\43\0\1\45\4\0\1\45\3\0\12\50\46\0\12\50"+
|
|
|
|
|
"\6\0\130\45\10\0\51\45\1\0\1\45\5\0\106\45\12\0\35\45"+
|
|
|
|
|
"\51\0\12\50\36\45\2\0\5\45\13\0\54\45\25\0\7\45\10\0"+
|
|
|
|
|
"\12\50\46\0\27\45\11\0\65\45\53\0\12\50\6\0\12\50\15\0"+
|
|
|
|
|
"\1\45\135\0\57\45\21\0\7\45\4\0\12\50\51\0\36\45\15\0"+
|
|
|
|
|
"\2\45\12\50\54\45\32\0\44\45\34\0\12\50\3\0\3\45\12\50"+
|
|
|
|
|
"\44\45\153\0\4\45\1\0\4\45\3\0\2\45\11\0\300\45\100\0"+
|
|
|
|
|
"\u0116\45\2\0\6\45\2\0\46\45\2\0\6\45\2\0\10\45\1\0"+
|
|
|
|
|
"\1\45\1\0\1\45\1\0\1\45\1\0\37\45\2\0\65\45\1\0"+
|
|
|
|
|
"\7\45\1\0\1\45\3\0\3\45\1\0\7\45\3\0\4\45\2\0"+
|
|
|
|
|
"\6\45\4\0\15\45\5\0\3\45\1\0\7\45\164\0\1\45\15\0"+
|
|
|
|
|
"\1\45\20\0\15\45\145\0\1\45\4\0\1\45\2\0\12\45\1\0"+
|
|
|
|
|
"\1\45\3\0\5\45\6\0\1\45\1\0\1\45\1\0\1\45\1\0"+
|
|
|
|
|
"\4\45\1\0\13\45\2\0\4\45\5\0\5\45\4\0\1\45\64\0"+
|
|
|
|
|
"\2\45\u0a7b\0\57\45\1\0\57\45\1\0\205\45\6\0\4\45\3\0"+
|
|
|
|
|
"\2\45\14\0\46\45\1\0\1\45\5\0\1\45\2\0\70\45\7\0"+
|
|
|
|
|
"\1\45\20\0\27\45\11\0\7\45\1\0\7\45\1\0\7\45\1\0"+
|
|
|
|
|
"\7\45\1\0\7\45\1\0\7\45\1\0\7\45\1\0\7\45\120\0"+
|
|
|
|
|
"\1\45\u01d5\0\2\45\52\0\5\45\5\0\2\45\4\0\126\45\6\0"+
|
|
|
|
|
"\3\45\1\0\132\45\1\0\4\45\5\0\51\45\3\0\136\45\21\0"+
|
|
|
|
|
"\33\45\65\0\20\45\u0200\0\u19b6\45\112\0\u51cd\45\63\0\u048d\45\103\0"+
|
|
|
|
|
"\56\45\2\0\u010d\45\3\0\20\45\12\50\2\45\24\0\57\45\20\0"+
|
|
|
|
|
"\31\45\10\0\106\45\61\0\11\45\2\0\147\45\2\0\4\45\1\0"+
|
|
|
|
|
"\4\45\14\0\13\45\115\0\12\45\1\0\3\45\1\0\4\45\1\0"+
|
|
|
|
|
"\27\45\35\0\64\45\16\0\62\45\34\0\12\50\30\0\6\45\3\0"+
|
|
|
|
|
"\1\45\4\0\12\50\34\45\12\0\27\45\31\0\35\45\7\0\57\45"+
|
|
|
|
|
"\34\0\1\45\12\50\46\0\51\45\27\0\3\45\1\0\10\45\4\0"+
|
|
|
|
|
"\12\50\6\0\27\45\3\0\1\45\5\0\60\45\1\0\1\45\3\0"+
|
|
|
|
|
"\2\45\2\0\5\45\2\0\1\45\1\0\1\45\30\0\3\45\2\0"+
|
|
|
|
|
"\13\45\7\0\3\45\14\0\6\45\2\0\6\45\2\0\6\45\11\0"+
|
|
|
|
|
"\7\45\1\0\7\45\221\0\43\45\15\0\12\50\6\0\u2ba4\45\14\0"+
|
|
|
|
|
"\27\45\4\0\61\45\u2104\0\u016e\45\2\0\152\45\46\0\7\45\14\0"+
|
|
|
|
|
"\5\45\5\0\1\45\1\0\12\45\1\0\15\45\1\0\5\45\1\0"+
|
|
|
|
|
"\1\45\1\0\2\45\1\0\2\45\1\0\154\45\41\0\u016b\45\22\0"+
|
|
|
|
|
"\100\45\2\0\66\45\50\0\14\45\164\0\5\45\1\0\207\45\23\0"+
|
|
|
|
|
"\12\50\7\0\32\45\6\0\32\45\13\0\131\45\3\0\6\45\2\0"+
|
|
|
|
|
"\6\45\2\0\6\45\2\0\3\45\43\0";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Translates characters to character classes
|
|
|
|
@@ -378,6 +399,7 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
private boolean allowOctalNoLeadingZero;
|
|
|
|
|
private boolean allowHexDigitClass;
|
|
|
|
|
private boolean allowEmptyCharacterClass;
|
|
|
|
|
private boolean allowHorizontalWhitespaceClass;
|
|
|
|
|
|
|
|
|
|
_RegExLexer(EnumSet<RegExpCapability> capabilities) {
|
|
|
|
|
this((java.io.Reader)null);
|
|
|
|
@@ -387,6 +409,7 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
this.allowOctalNoLeadingZero = capabilities.contains(RegExpCapability.OCTAL_NO_LEADING_ZERO);
|
|
|
|
|
this.commentMode = capabilities.contains(RegExpCapability.COMMENT_MODE);
|
|
|
|
|
this.allowHexDigitClass = capabilities.contains(RegExpCapability.ALLOW_HEX_DIGIT_CLASS);
|
|
|
|
|
this.allowHorizontalWhitespaceClass = capabilities.contains(RegExpCapability.ALLOW_HORIZONTAL_WHITESPACE_CLASS);
|
|
|
|
|
this.allowEmptyCharacterClass = capabilities.contains(RegExpCapability.ALLOW_EMPTY_CHARACTER_CLASS);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -435,7 +458,7 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
char [] map = new char[0x10000];
|
|
|
|
|
int i = 0; /* index in packed string */
|
|
|
|
|
int j = 0; /* index in unpacked array */
|
|
|
|
|
while (i < 1338) {
|
|
|
|
|
while (i < 1752) {
|
|
|
|
|
int count = packed.charAt(i++);
|
|
|
|
|
char value = packed.charAt(i++);
|
|
|
|
|
do map[j++] = value; while (--count > 0);
|
|
|
|
@@ -862,22 +885,18 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
{ return RegExpTT.QUEST;
|
|
|
|
|
}
|
|
|
|
|
case 122: break;
|
|
|
|
|
case 54:
|
|
|
|
|
{ return (allowHexDigitClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN);
|
|
|
|
|
}
|
|
|
|
|
case 123: break;
|
|
|
|
|
case 15:
|
|
|
|
|
{ return RegExpTT.PLUS;
|
|
|
|
|
}
|
|
|
|
|
case 124: break;
|
|
|
|
|
case 123: break;
|
|
|
|
|
case 66:
|
|
|
|
|
{ return RegExpTT.OCT_CHAR;
|
|
|
|
|
}
|
|
|
|
|
case 125: break;
|
|
|
|
|
case 124: break;
|
|
|
|
|
case 38:
|
|
|
|
|
{ yybegin(YYINITIAL); return RegExpTT.QUOTE;
|
|
|
|
|
}
|
|
|
|
|
case 126: break;
|
|
|
|
|
case 125: break;
|
|
|
|
|
case 20:
|
|
|
|
|
{ if (allowDanglingMetacharacters) {
|
|
|
|
|
yypopstate(); yypushback(1);
|
|
|
|
@@ -885,15 +904,15 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
return RegExpTT.BAD_CHARACTER;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
case 127: break;
|
|
|
|
|
case 126: break;
|
|
|
|
|
case 31:
|
|
|
|
|
{ yypopstate(); yypushback(1);
|
|
|
|
|
}
|
|
|
|
|
case 128: break;
|
|
|
|
|
case 127: break;
|
|
|
|
|
case 27:
|
|
|
|
|
{ yybegin(CLASS1); return RegExpTT.CARET;
|
|
|
|
|
}
|
|
|
|
|
case 129: break;
|
|
|
|
|
case 128: break;
|
|
|
|
|
case 56:
|
|
|
|
|
// lookahead expression with fixed base length
|
|
|
|
|
zzMarkedPos = zzStartRead + 1;
|
|
|
|
@@ -903,59 +922,63 @@ class _RegExLexer implements FlexLexer {
|
|
|
|
|
}
|
|
|
|
|
return RegExpTT.CHARACTER;
|
|
|
|
|
}
|
|
|
|
|
case 130: break;
|
|
|
|
|
case 129: break;
|
|
|
|
|
case 57:
|
|
|
|
|
{ if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER;
|
|
|
|
|
return RegExpTT.REDUNDANT_ESCAPE;
|
|
|
|
|
}
|
|
|
|
|
case 131: break;
|
|
|
|
|
case 130: break;
|
|
|
|
|
case 37:
|
|
|
|
|
{ yybegin(YYINITIAL); return RegExpTT.GT;
|
|
|
|
|
}
|
|
|
|
|
case 132: break;
|
|
|
|
|
case 131: break;
|
|
|
|
|
case 68:
|
|
|
|
|
{ yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF;
|
|
|
|
|
}
|
|
|
|
|
case 133: break;
|
|
|
|
|
case 132: break;
|
|
|
|
|
case 16:
|
|
|
|
|
{ return RegExpTT.UNION;
|
|
|
|
|
}
|
|
|
|
|
case 134: break;
|
|
|
|
|
case 133: break;
|
|
|
|
|
case 3:
|
|
|
|
|
{ return RegExpTT.CHARACTER;
|
|
|
|
|
}
|
|
|
|
|
case 135: break;
|
|
|
|
|
case 134: break;
|
|
|
|
|
case 63:
|
|
|
|
|
{ yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP;
|
|
|
|
|
}
|
|
|
|
|
case 136: break;
|
|
|
|
|
case 135: break;
|
|
|
|
|
case 39:
|
|
|
|
|
{ yybegin(OPTIONS); return RegExpTT.SET_OPTIONS;
|
|
|
|
|
}
|
|
|
|
|
case 137: break;
|
|
|
|
|
case 136: break;
|
|
|
|
|
case 26:
|
|
|
|
|
{ yybegin(CLASS2); return RegExpTT.CHARACTER;
|
|
|
|
|
}
|
|
|
|
|
case 138: break;
|
|
|
|
|
case 137: break;
|
|
|
|
|
case 67:
|
|
|
|
|
{ if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL;
|
|
|
|
|
}
|
|
|
|
|
case 139: break;
|
|
|
|
|
case 138: break;
|
|
|
|
|
case 30:
|
|
|
|
|
{ return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER;
|
|
|
|
|
}
|
|
|
|
|
case 140: break;
|
|
|
|
|
case 139: break;
|
|
|
|
|
case 12:
|
|
|
|
|
{ return RegExpTT.DOLLAR;
|
|
|
|
|
}
|
|
|
|
|
case 141: break;
|
|
|
|
|
case 140: break;
|
|
|
|
|
case 49:
|
|
|
|
|
{ if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
|
|
|
|
|
}
|
|
|
|
|
case 142: break;
|
|
|
|
|
case 141: break;
|
|
|
|
|
case 41:
|
|
|
|
|
{ return RegExpTT.REDUNDANT_ESCAPE;
|
|
|
|
|
}
|
|
|
|
|
case 142: break;
|
|
|
|
|
case 54:
|
|
|
|
|
{ return (allowHexDigitClass || allowHorizontalWhitespaceClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN);
|
|
|
|
|
}
|
|
|
|
|
case 143: break;
|
|
|
|
|
case 47:
|
|
|
|
|
{ return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER;
|
|
|
|
|