diff --git a/python/src/com/jetbrains/python/lexer/Python.flex b/python/src/com/jetbrains/python/lexer/Python.flex index b7cc3b99a9b4..3b8a881dfa79 100644 --- a/python/src/com/jetbrains/python/lexer/Python.flex +++ b/python/src/com/jetbrains/python/lexer/Python.flex @@ -30,7 +30,9 @@ LONGINTEGER = {INTEGER}[Ll] END_OF_LINE_COMMENT="#"[^\r\n]* -IDENTIFIER = [a-zA-Z_][a-zA-Z0-9_]* +IDENT_START = [a-zA-Z_]|[:unicode_uppercase_letter:]|[:unicode_lowercase_letter:]|[:unicode_titlecase_letter:]|[:unicode_modifier_letter:]|[:unicode_other_letter:]|[:unicode_letter_number:] +IDENT_CONTINUE = [a-zA-Z0-9_]|[:unicode_uppercase_letter:]|[:unicode_lowercase_letter:]|[:unicode_titlecase_letter:]|[:unicode_modifier_letter:]|[:unicode_other_letter:]|[:unicode_letter_number:]|[:unicode_non_spacing_mark:]|[:unicode_combining_spacing_mark:]|[:unicode_decimal_digit_number:]|[:unicode_connector_punctuation:] +IDENTIFIER = {IDENT_START}{IDENT_CONTINUE}** FLOATNUMBER=({POINTFLOAT})|({EXPONENTFLOAT}) POINTFLOAT=(({INTPART})?{FRACTION})|({INTPART}\.) diff --git a/python/src/com/jetbrains/python/lexer/_PythonLexer.java b/python/src/com/jetbrains/python/lexer/_PythonLexer.java index e1d1e0e7aa8d..e576dceea979 100644 --- a/python/src/com/jetbrains/python/lexer/_PythonLexer.java +++ b/python/src/com/jetbrains/python/lexer/_PythonLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 25.01.10 20:44 */ +/* The following code was generated by JFlex 1.4.3 on 26.01.10 16:53 */ /* It's an automatically generated code. Do not modify it. */ package com.jetbrains.python.lexer; @@ -11,7 +11,7 @@ import com.jetbrains.python.PyTokenTypes; /** * This class is a scanner generated by * JFlex 1.4.3 - * on 25.01.10 20:44 from the specification file + * on 26.01.10 16:53 from the specification file * C:/JetBrains/IDEA/tools/lexer/../../python/src/com/jetbrains/python/lexer/Python.flex */ class _PythonLexer implements FlexLexer { @@ -35,15 +35,173 @@ class _PythonLexer implements FlexLexer { * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = - "\11\0\1\30\1\13\1\0\1\31\1\13\22\0\1\27\1\71\1\25"+ - "\1\12\1\0\1\63\1\64\1\23\1\73\1\74\1\61\1\57\1\102"+ - "\1\17\1\15\1\62\1\1\1\5\6\3\2\2\1\103\1\105\1\70"+ - "\1\60\1\67\1\0\1\101\1\4\1\10\2\4\1\16\1\4\3\14"+ - "\1\20\1\14\1\11\2\14\1\7\2\14\1\22\2\14\1\21\2\14"+ - "\1\6\2\14\1\75\1\24\1\76\1\66\1\14\1\104\1\32\1\41"+ - "\1\43\1\34\1\36\1\47\1\54\1\56\1\26\1\20\1\42\1\44"+ - "\1\53\1\33\1\45\1\51\1\14\1\37\1\35\1\40\1\46\1\14"+ - "\1\55\1\50\1\52\1\14\1\77\1\65\1\100\1\72\uff81\0"; + "\11\0\1\41\1\13\1\0\1\42\1\13\22\0\1\40\1\72\1\36"+ + "\1\12\1\0\1\64\1\65\1\34\1\74\1\75\1\62\1\60\1\103"+ + "\1\26\1\23\1\63\1\1\1\5\6\3\2\2\1\104\1\106\1\71"+ + "\1\61\1\70\1\0\1\102\1\15\1\20\2\15\1\25\1\15\3\14"+ + "\1\27\1\14\1\21\2\14\1\17\2\14\1\32\2\14\1\30\2\14"+ + "\1\16\2\14\1\76\1\35\1\77\1\67\1\14\1\105\1\43\1\10"+ + "\1\51\1\45\1\24\1\4\1\55\1\57\1\37\1\27\1\50\1\11"+ + "\1\54\1\44\1\7\1\52\1\14\1\33\1\46\1\47\1\31\1\14"+ + "\1\56\1\6\1\53\1\14\1\100\1\66\1\101\1\73\53\0\1\14"+ + "\12\0\1\14\4\0\1\14\5\0\27\14\1\0\7\14\30\14\1\0"+ + "\10\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\2\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\2\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\2\14"+ + "\1\14\1\14\1\14\1\14\3\14\2\14\1\14\1\14\1\14\2\14"+ + "\1\14\3\14\2\14\4\14\1\14\2\14\1\14\3\14\3\14\2\14"+ + "\1\14\2\14\1\14\1\14\1\14\1\14\1\14\2\14\1\14\1\14"+ + "\2\14\1\14\1\14\2\14\1\14\3\14\1\14\1\14\1\14\2\14"+ + "\2\14\1\14\1\14\3\14\4\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\2\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\2\14\1\14\1\14"+ + "\1\14\1\14\1\14\3\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\4\14\31\0\140\14\22\14\4\0\14\14\16\0\5\14"+ + "\11\0\1\14\21\0\130\22\5\0\23\22\12\0\1\14\13\0\1\14"+ + "\1\0\3\14\1\0\1\14\1\0\2\14\1\14\21\14\1\0\11\14"+ + "\43\14\1\0\2\14\3\14\3\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\5\14\1\14"+ + "\1\14\1\0\1\14\1\14\2\14\1\14\4\0\60\14\60\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\0\4\22\3\0\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\2\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\0\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\2\0\1\14\1\14\6\0\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\41\0\46\14\2\0\1\14\7\0\47\14\11\0"+ + "\21\22\1\0\27\22\1\0\3\22\1\0\1\22\1\0\2\22\1\0"+ + "\1\22\13\0\33\14\5\0\3\14\35\0\6\22\13\0\32\14\5\0"+ + "\1\14\12\14\16\22\7\0\12\22\4\0\2\14\1\22\143\14\1\0"+ + "\1\14\7\22\2\0\6\22\2\14\2\22\1\0\4\22\2\14\12\22"+ + "\3\14\2\0\1\14\20\0\1\14\1\22\36\14\33\22\2\0\3\14"+ + "\60\0\46\14\13\22\1\14\u014f\0\2\22\1\22\66\14\2\0\1\22"+ + "\1\14\3\22\10\22\4\22\1\22\2\0\1\14\4\22\3\0\12\14"+ + "\2\22\2\0\12\22\21\0\1\22\2\22\1\0\10\14\2\0\2\14"+ + "\2\0\26\14\1\0\7\14\1\0\1\14\3\0\4\14\2\0\1\22"+ + "\1\14\3\22\4\22\2\0\2\22\2\0\2\22\1\22\11\0\1\22"+ + "\4\0\2\14\1\0\3\14\2\22\2\0\12\22\2\14\17\0\2\22"+ + "\1\22\1\0\6\14\4\0\2\14\2\0\26\14\1\0\7\14\1\0"+ + "\2\14\1\0\2\14\1\0\2\14\2\0\1\22\1\0\3\22\2\22"+ + "\4\0\2\22\2\0\3\22\13\0\4\14\1\0\1\14\7\0\12\22"+ + "\2\22\3\14\14\0\2\22\1\22\1\0\11\14\1\0\3\14\1\0"+ + "\26\14\1\0\7\14\1\0\2\14\1\0\5\14\2\0\1\22\1\14"+ + "\3\22\5\22\1\0\2\22\1\22\1\0\2\22\1\22\2\0\1\14"+ + "\17\0\2\14\2\22\2\0\12\22\21\0\1\22\2\22\1\0\10\14"+ + "\2\0\2\14\2\0\26\14\1\0\7\14\1\0\2\14\1\0\5\14"+ + "\2\0\1\22\1\14\1\22\1\22\1\22\3\22\3\0\2\22\2\0"+ + "\2\22\1\22\10\0\1\22\1\22\4\0\2\14\1\0\3\14\4\0"+ + "\12\22\1\0\1\14\20\0\1\22\1\14\1\0\6\14\3\0\3\14"+ + "\1\0\4\14\3\0\2\14\1\0\1\14\1\0\2\14\3\0\2\14"+ + "\3\0\3\14\3\0\10\14\1\0\3\14\4\0\2\22\1\22\2\22"+ + "\3\0\3\22\1\0\3\22\1\22\11\0\1\22\17\0\11\22\21\0"+ + "\3\22\1\0\10\14\1\0\3\14\1\0\27\14\1\0\12\14\1\0"+ + "\5\14\4\0\3\22\4\22\1\0\3\22\1\0\4\22\7\0\2\22"+ + "\11\0\2\14\4\0\12\22\22\0\2\22\1\0\10\14\1\0\3\14"+ + "\1\0\27\14\1\0\12\14\1\0\5\14\2\0\1\22\1\14\1\22"+ + "\1\22\5\22\1\0\1\22\2\22\1\0\2\22\2\22\7\0\2\22"+ + "\7\0\1\14\1\0\2\14\4\0\12\22\22\0\2\22\1\0\10\14"+ + "\1\0\3\14\1\0\27\14\1\0\20\14\4\0\3\22\3\22\2\0"+ + "\3\22\1\0\3\22\1\22\11\0\1\22\10\0\2\14\4\0\12\22"+ + "\22\0\2\22\1\0\22\14\3\0\30\14\1\0\11\14\1\0\1\14"+ + "\2\0\7\14\3\0\1\22\4\0\3\22\3\22\1\0\1\22\1\0"+ + "\10\22\22\0\2\22\15\0\60\14\1\22\2\14\7\22\5\0\6\14"+ + "\1\14\10\22\1\0\12\22\47\0\2\14\1\0\1\14\2\0\2\14"+ + "\1\0\1\14\2\0\1\14\6\0\4\14\1\0\7\14\1\0\3\14"+ + "\1\0\1\14\1\0\1\14\2\0\2\14\1\0\4\14\1\22\2\14"+ + "\6\22\1\0\2\22\1\14\2\0\5\14\1\0\1\14\1\0\6\22"+ + "\2\0\12\22\2\0\2\14\42\0\1\14\27\0\2\22\6\0\12\22"+ + "\13\0\1\22\1\0\1\22\1\0\1\22\4\0\2\22\10\14\1\0"+ + "\42\14\6\0\16\22\1\22\5\22\1\0\2\22\4\14\4\0\10\22"+ + "\1\0\44\22\11\0\1\22\71\0\42\14\1\0\5\14\1\0\2\14"+ + "\1\0\1\22\4\22\1\22\1\22\3\0\2\22\1\22\1\22\6\0"+ + "\12\22\6\0\6\14\2\22\2\22\106\0\46\14\12\0\51\14\7\0"+ + "\132\14\5\0\104\14\5\0\122\14\6\0\7\14\1\0\77\14\1\0"+ + "\1\14\1\0\4\14\2\0\7\14\1\0\1\14\1\0\4\14\2\0"+ + "\47\14\1\0\1\14\1\0\4\14\2\0\37\14\1\0\1\14\1\0"+ + "\4\14\2\0\7\14\1\0\1\14\1\0\4\14\2\0\7\14\1\0"+ + "\7\14\1\0\27\14\1\0\37\14\1\0\1\14\1\0\4\14\2\0"+ + "\7\14\1\0\47\14\1\0\23\14\16\0\11\22\56\0\125\14\14\0"+ + "\u026c\14\2\0\10\14\12\0\32\14\5\0\113\14\3\0\3\14\17\0"+ + "\15\14\1\0\4\14\3\22\13\0\22\14\3\22\13\0\22\14\2\22"+ + "\14\0\15\14\1\0\3\14\1\0\2\22\14\0\64\14\2\0\1\22"+ + "\7\22\10\22\1\22\2\22\13\22\3\0\1\14\4\0\1\14\1\22"+ + "\2\0\12\22\41\0\3\22\2\0\12\22\6\0\43\14\1\14\64\14"+ + "\10\0\51\14\1\22\126\0\35\14\3\0\3\22\4\22\2\22\3\22"+ + "\4\0\2\22\1\22\6\22\3\22\12\0\12\22\36\14\2\0\5\14"+ + "\u038b\0\54\14\66\14\12\14\224\0\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\7\14\4\0\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14\1\14"+ + "\1\14\1\14\1\14\1\14\1\14\1\14\6\0\10\14\10\14\6\14"+ + "\2\0\6\14\2\0\10\14\10\14\10\14\10\14\6\14\2\0\6\14"+ + "\2\0\10\14\1\0\1\14\1\0\1\14\1\0\1\14\1\0\1\14"+ + "\10\14\10\14\16\14\2\0\10\14\10\14\10\14\10\14\10\14\10\14"+ + "\5\14\1\0\2\14\4\14\1\14\1\0\1\14\3\0\3\14\1\0"+ + "\2\14\4\14\1\14\3\0\4\14\2\0\2\14\4\14\4\0\10\14"+ + "\5\14\5\0\3\14\1\0\2\14\4\14\1\14\102\0\2\22\23\0"+ + "\1\22\34\0\1\14\15\0\1\14\120\0\15\22\4\0\1\22\3\0"+ + "\6\22\27\0\1\14\4\0\1\14\2\0\1\14\3\14\2\14\3\14"+ + "\1\14\1\0\1\14\3\0\5\14\6\0\1\14\1\0\1\14\1\0"+ + "\1\14\1\0\4\14\1\0\1\14\2\14\1\0\1\14\1\14\4\14"+ + "\1\14\3\0\1\14\2\14\5\0\1\14\4\14\26\0\44\14\u0e81\0"+ + "\1\14\1\14\1\14\31\0\11\14\6\22\1\0\5\14\2\0\3\14"+ + "\1\14\1\14\4\0\126\14\2\0\2\22\2\0\2\14\1\14\1\0"+ + "\132\14\1\22\3\14\1\14\5\0\50\14\4\0\136\14\21\0\30\14"+ + "\70\0\20\14\u0200\0\u19b6\14\112\0\u51a6\14\132\0\u048d\14\u0773\0\u2ba4\14"+ + "\u215c\0\u012e\14\2\0\73\14\225\0\7\14\14\0\5\14\5\0\1\14"+ + "\1\22\12\14\1\0\15\14\1\0\5\14\1\0\1\14\1\0\2\14"+ + "\1\0\2\14\1\0\154\14\41\0\u016b\14\22\0\100\14\2\0\66\14"+ + "\50\0\14\14\4\0\20\22\20\0\4\22\17\0\2\22\30\0\3\22"+ + "\40\0\5\14\1\0\207\14\23\0\12\22\7\0\32\14\4\0\1\22"+ + "\1\0\32\14\12\0\1\22\12\14\1\14\55\14\2\14\37\14\3\0"+ + "\6\14\2\0\6\14\2\0\6\14\2\0\3\14\43\0"; /** * Translates characters to character classes @@ -56,21 +214,22 @@ class _PythonLexer implements FlexLexer { private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = - "\1\0\1\1\2\2\2\3\1\4\1\5\1\6\1\7"+ - "\1\3\1\10\1\11\1\10\1\3\1\12\1\13\1\14"+ - "\17\3\1\15\1\16\1\17\1\20\1\21\1\22\1\23"+ - "\1\24\1\25\1\26\1\1\1\27\1\30\1\31\1\32"+ - "\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+ - "\1\2\4\0\1\2\1\43\1\0\1\44\1\45\6\10"+ - "\1\46\1\47\1\50\16\3\1\51\7\3\1\52\1\53"+ - "\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63"+ - "\1\64\1\65\1\66\1\67\1\70\1\71\3\2\1\43"+ - "\1\0\1\10\2\0\1\3\1\72\1\3\1\73\1\74"+ - "\1\75\5\3\1\76\6\3\1\77\4\3\1\100\1\101"+ - "\1\102\1\103\6\0\2\3\1\104\1\105\10\3\1\106"+ - "\1\107\3\3\4\0\3\3\1\110\1\3\1\111\1\112"+ - "\3\3\1\113\1\3\1\114\1\115\1\116\1\117\1\120"+ - "\1\3\1\121\1\3\1\122\1\3\1\123\1\124"; + "\1\0\1\1\2\2\5\3\1\4\1\5\1\3\1\6"+ + "\1\3\1\7\2\3\1\10\1\11\1\10\1\3\1\12"+ + "\1\13\1\14\11\3\1\15\1\16\1\17\1\20\1\21"+ + "\1\22\1\23\1\24\1\25\1\26\1\1\1\27\1\30"+ + "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40"+ + "\1\41\1\42\1\2\4\0\1\2\1\43\1\0\1\44"+ + "\3\3\1\45\4\3\1\46\2\3\6\10\1\47\1\50"+ + "\1\51\14\3\1\52\1\53\1\54\1\55\1\56\1\57"+ + "\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67"+ + "\1\70\1\71\3\2\1\43\1\0\1\72\11\3\1\10"+ + "\2\0\1\3\1\73\1\3\1\74\1\75\1\76\1\77"+ + "\6\3\1\100\1\101\1\102\1\103\1\104\4\3\1\105"+ + "\1\106\2\3\6\0\4\3\1\107\4\3\1\110\3\3"+ + "\1\111\4\0\3\3\1\112\1\113\1\3\1\114\1\3"+ + "\1\115\1\116\1\117\1\120\1\121\1\3\1\122\1\123"+ + "\1\3\1\124"; private static int [] zzUnpackAction() { int [] result = new int[199]; @@ -98,31 +257,31 @@ class _PythonLexer implements FlexLexer { private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\106\0\214\0\322\0\u0118\0\u015e\0\u01a4\0\u01ea"+ - "\0\u0230\0\u0276\0\u02bc\0\u0302\0\106\0\u0348\0\u038e\0\106"+ - "\0\106\0\106\0\u03d4\0\u041a\0\u0460\0\u04a6\0\u04ec\0\u0532"+ - "\0\u0578\0\u05be\0\u0604\0\u064a\0\u0690\0\u06d6\0\u071c\0\u0762"+ - "\0\u07a8\0\u07ee\0\u0834\0\u087a\0\u08c0\0\u0906\0\u094c\0\u0992"+ - "\0\u09d8\0\u0a1e\0\u0a64\0\u0aaa\0\106\0\106\0\106\0\106"+ - "\0\106\0\106\0\106\0\106\0\106\0\106\0\106\0\106"+ - "\0\u0af0\0\u0b36\0\u0b7c\0\u0bc2\0\u0c08\0\106\0\u0c4e\0\u0c94"+ - "\0\106\0\106\0\u0cda\0\u0d20\0\u0d66\0\u0dac\0\u0df2\0\u0e38"+ - "\0\u0118\0\u0118\0\u0118\0\u0e7e\0\u0ec4\0\u0f0a\0\u0f50\0\u0f96"+ - "\0\u0fdc\0\u1022\0\u1068\0\u10ae\0\u10f4\0\u113a\0\u1180\0\u11c6"+ - "\0\u120c\0\u0118\0\u1252\0\u1298\0\u12de\0\u1324\0\u136a\0\u13b0"+ - "\0\u13f6\0\106\0\106\0\106\0\u143c\0\106\0\u1482\0\106"+ - "\0\106\0\106\0\106\0\106\0\u14c8\0\106\0\106\0\u150e"+ - "\0\106\0\u1554\0\u159a\0\u15e0\0\u1626\0\u166c\0\106\0\u16b2"+ - "\0\u16f8\0\u173e\0\u0118\0\u1784\0\u0118\0\u0118\0\u0118\0\u17ca"+ - "\0\u1810\0\u1856\0\u189c\0\u18e2\0\u0118\0\u1928\0\u196e\0\u19b4"+ - "\0\u19fa\0\u1a40\0\u1a86\0\u0118\0\u1acc\0\u1b12\0\u1b58\0\u1b9e"+ - "\0\106\0\106\0\106\0\106\0\u1be4\0\u1c2a\0\u1c70\0\u1cb6"+ - "\0\u1cfc\0\u1d42\0\u1d88\0\u1dce\0\u0118\0\u0118\0\u1e14\0\u1e5a"+ - "\0\u1ea0\0\u1ee6\0\u1f2c\0\u1f72\0\u1fb8\0\u1ffe\0\u0118\0\u0118"+ - "\0\u2044\0\u208a\0\u20d0\0\u2116\0\u215c\0\u21a2\0\u21e8\0\u222e"+ - "\0\u2274\0\u22ba\0\u0118\0\u2300\0\u0118\0\u0118\0\u2346\0\u238c"+ - "\0\u23d2\0\u0118\0\u2418\0\u0118\0\u0118\0\u0118\0\u0118\0\u0118"+ - "\0\u245e\0\u0118\0\u24a4\0\u0118\0\u24ea\0\u0118\0\u0118"; + "\0\0\0\107\0\216\0\325\0\u011c\0\u0163\0\u01aa\0\u01f1"+ + "\0\u0238\0\u027f\0\u02c6\0\u030d\0\u0354\0\u039b\0\u03e2\0\u0429"+ + "\0\u0470\0\u04b7\0\107\0\u04fe\0\u0545\0\107\0\107\0\107"+ + "\0\u058c\0\u05d3\0\u061a\0\u0661\0\u06a8\0\u06ef\0\u0736\0\u077d"+ + "\0\u07c4\0\u080b\0\u0852\0\u0899\0\u08e0\0\u0927\0\u096e\0\u09b5"+ + "\0\u09fc\0\u0a43\0\u0a8a\0\u0ad1\0\107\0\107\0\107\0\107"+ + "\0\107\0\107\0\107\0\107\0\107\0\107\0\107\0\107"+ + "\0\u0b18\0\u0b5f\0\u0ba6\0\u0bed\0\u0c34\0\107\0\u0c7b\0\u0cc2"+ + "\0\107\0\u0d09\0\u0d50\0\u0d97\0\u0163\0\u0dde\0\u0e25\0\u0e6c"+ + "\0\u0eb3\0\107\0\u0efa\0\u0f41\0\u0f88\0\u0fcf\0\u1016\0\u105d"+ + "\0\u10a4\0\u10eb\0\u0163\0\u0163\0\u0163\0\u1132\0\u1179\0\u11c0"+ + "\0\u1207\0\u124e\0\u1295\0\u12dc\0\u1323\0\u136a\0\u13b1\0\u13f8"+ + "\0\u143f\0\107\0\107\0\107\0\u1486\0\107\0\u14cd\0\107"+ + "\0\107\0\107\0\107\0\107\0\u1514\0\107\0\107\0\u155b"+ + "\0\107\0\u15a2\0\u15e9\0\u1630\0\u1677\0\u16be\0\u0163\0\u1705"+ + "\0\u174c\0\u1793\0\u17da\0\u1821\0\u1868\0\u18af\0\u18f6\0\u193d"+ + "\0\107\0\u1984\0\u19cb\0\u1a12\0\u0163\0\u1a59\0\u0163\0\u0163"+ + "\0\u0163\0\u0163\0\u1aa0\0\u1ae7\0\u1b2e\0\u1b75\0\u1bbc\0\u1c03"+ + "\0\107\0\107\0\107\0\107\0\u0163\0\u1c4a\0\u1c91\0\u1cd8"+ + "\0\u1d1f\0\u0163\0\u0163\0\u1d66\0\u1dad\0\u1df4\0\u1e3b\0\u1e82"+ + "\0\u1ec9\0\u1f10\0\u1f57\0\u1f9e\0\u1fe5\0\u202c\0\u2073\0\u0163"+ + "\0\u20ba\0\u2101\0\u2148\0\u218f\0\u0163\0\u21d6\0\u221d\0\u2264"+ + "\0\u0163\0\u22ab\0\u22f2\0\u2339\0\u2380\0\u23c7\0\u240e\0\u2455"+ + "\0\u0163\0\u0163\0\u249c\0\u0163\0\u24e3\0\u0163\0\u0163\0\u0163"+ + "\0\u0163\0\u0163\0\u252a\0\u0163\0\u0163\0\u2571\0\u0163"; private static int [] zzUnpackRowMap() { int [] result = new int[199]; @@ -148,198 +307,192 @@ class _PythonLexer implements FlexLexer { private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = - "\1\2\1\3\2\4\1\5\1\4\2\5\1\6\1\5"+ - "\1\7\1\10\1\5\1\11\1\5\1\12\1\5\1\6"+ - "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+ - "\1\23\1\24\1\25\1\5\1\26\1\27\1\30\1\31"+ - "\1\5\1\32\1\33\1\34\1\6\1\35\1\5\1\36"+ - "\1\37\1\5\1\40\1\41\1\5\1\42\1\43\1\44"+ - "\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54"+ - "\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64"+ - "\1\65\1\66\1\67\1\70\107\0\1\71\1\72\1\71"+ - "\1\0\1\71\1\73\1\74\1\75\1\76\3\0\1\77"+ - "\1\100\1\0\1\101\15\0\1\100\2\0\1\75\2\0"+ - "\1\76\1\74\2\0\1\73\36\0\3\4\1\0\1\4"+ - "\3\0\1\76\3\0\1\77\1\100\1\0\1\101\15\0"+ - "\1\100\5\0\1\76\42\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\25\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\2\5\1\13"+ - "\1\14\1\0\1\16\1\5\3\0\5\5\1\13\17\5"+ - "\27\0\13\7\1\0\72\7\13\0\1\10\73\0\3\77"+ - "\1\0\1\77\160\0\1\102\26\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\1\14\1\0\1\16\1\5"+ - "\3\0\25\5\27\0\13\103\1\0\7\103\1\104\1\105"+ - "\61\103\13\106\1\0\10\106\1\107\1\110\60\106\1\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\1\5\1\111\1\5\1\112\11\5\1\113"+ - "\3\5\1\114\3\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\1\5\1\115"+ - "\1\5\1\116\21\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\13\5\1\117"+ - "\11\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\4\5\1\120\20\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\12\5\1\121\3\5\1\122\6\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\1\14"+ - "\1\0\1\16\1\5\3\0\1\123\3\5\1\124\20\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\5\5\1\125\17\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\2\5\1\13\1\14"+ - "\1\0\1\16\1\5\3\0\5\5\1\126\17\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\12\5\1\127\1\130\11\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\1\131\24\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\5\5\1\132"+ - "\17\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\133\3\0\5\5\1\134\5\5\1\135"+ - "\11\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\1\136\24\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\137"+ - "\3\0\25\5\30\0\11\5\2\0\1\5\1\0\1\5"+ - "\1\0\3\5\3\0\1\5\3\0\12\5\1\140\12\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\24\5\1\141\107\0\1\142\105\0"+ - "\1\143\105\0\1\144\1\145\104\0\1\146\1\0\1\147"+ - "\103\0\1\150\105\0\1\151\105\0\1\152\105\0\1\153"+ - "\105\0\1\154\6\0\1\155\76\0\1\156\6\0\1\157"+ - "\1\160\75\0\1\161\26\0\1\71\1\72\1\71\1\0"+ - "\1\71\3\0\1\76\3\0\1\77\1\100\1\0\1\101"+ - "\15\0\1\100\5\0\1\76\42\0\3\72\1\0\1\72"+ - "\7\0\1\77\1\100\1\0\1\101\15\0\1\100\50\0"+ - "\5\162\2\0\1\162\5\0\1\162\13\0\1\162\1\0"+ - "\1\162\1\0\1\162\2\0\1\162\1\0\1\162\3\0"+ - "\1\162\37\0\1\163\1\0\1\163\1\0\1\163\101\0"+ - "\1\164\3\0\1\164\101\0\3\77\1\0\1\77\10\0"+ - "\1\100\1\0\1\101\15\0\1\100\50\0\3\165\1\0"+ - "\1\165\11\0\1\166\37\0\1\166\26\0\13\103\1\0"+ - "\7\103\1\167\1\105\61\103\23\0\1\170\62\0\106\103"+ - "\13\106\1\0\10\106\1\107\1\167\166\106\25\0\1\171"+ - "\61\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\17\5\1\172\5\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\2\5\1\173\22\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\3\0\1\5\3\0\3\5"+ - "\1\174\21\5\30\0\11\5\2\0\1\5\1\0\1\5"+ - "\1\0\3\5\3\0\1\5\3\0\6\5\1\175\16\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\12\5\1\176\2\5\1\177\7\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\200\3\0\3\5\1\201\21\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\11\5\1\202\13\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\3\0\1\203\3\0\25\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\6\5\1\204\16\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\20\5\1\205\4\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\1\14\1\0\1\16\1\5"+ - "\3\0\4\5\1\206\20\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\3\0\1\5\3\0\1\207"+ - "\24\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\1\5\1\210\23\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\21\5\1\211\3\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\1\5\1\212\23\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\13\5\1\213"+ - "\11\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\5\5\1\214\17\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\3\5\1\215\21\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\4\5\1\216\20\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\13\5\1\217"+ - "\11\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\220\3\0\25\5\107\0\1\221\105\0"+ - "\1\222\105\0\1\223\105\0\1\224\26\0\5\162\2\0"+ - "\1\162\1\76\4\0\1\162\13\0\1\162\1\0\1\162"+ - "\1\0\1\162\2\0\1\162\1\0\1\162\1\76\2\0"+ - "\1\162\37\0\1\163\1\0\1\163\1\0\1\163\3\0"+ - "\1\76\32\0\1\76\42\0\1\164\3\0\1\164\3\0"+ - "\1\76\32\0\1\76\42\0\3\165\1\0\1\165\12\0"+ - "\1\101\66\0\3\165\1\0\1\165\100\0\23\170\1\225"+ - "\1\226\1\170\1\227\57\170\24\171\1\230\1\231\1\232"+ - "\57\171\1\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\13\5\1\233\11\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\4\5\1\234\20\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\15\5\1\235\7\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\4\5\1\236"+ - "\20\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\4\5\1\237\20\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\3\5\1\240\21\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\14\5\1\241\10\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\1\242\24\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\3\5\1\243\21\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\6\5\1\244\16\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\3\0\1\5\3\0\7\5"+ - "\1\245\15\5\30\0\11\5\2\0\1\5\1\0\1\5"+ - "\1\0\3\5\3\0\1\5\3\0\1\246\24\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\21\5\1\247\3\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\3\5\1\250\21\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\12\5\1\251"+ - "\12\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\7\5\1\252\15\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\12\5\1\253\12\5\27\0\23\170\1\254"+ - "\1\226\1\170\1\255\210\170\1\255\1\226\1\170\1\255"+ - "\57\170\132\171\1\230\1\256\1\257\103\171\1\230\2\257"+ - "\57\171\1\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\5\5\1\260\17\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\5\5\1\261\17\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\17\5\1\262\5\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\4\5\1\263"+ - "\20\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\5\5\1\264\17\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\10\5\1\265\14\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\3\5\1\266\21\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\267\3\0\25\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\2\5\1\270\22\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\12\5\1\271\12\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\2\5\1\272"+ - "\22\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\1\273\24\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\4\5\1\274\20\5\27\0\23\170\1\167\1\226"+ - "\1\170\1\0\102\170\1\0\1\226\1\170\1\0\57\170"+ - "\24\171\1\230\1\167\1\0\103\171\1\230\2\0\57\171"+ - "\1\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\6\5\1\275\16\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\6\5\1\276\16\5\30\0\11\5\2\0\1\5"+ - "\1\0\1\5\1\0\3\5\3\0\1\5\3\0\6\5"+ - "\1\277\16\5\30\0\11\5\2\0\1\5\1\0\1\5"+ - "\1\0\3\5\3\0\1\5\3\0\1\5\1\300\23\5"+ - "\30\0\11\5\2\0\1\5\1\0\1\5\1\0\3\5"+ - "\3\0\1\5\3\0\1\5\1\301\23\5\30\0\11\5"+ - "\2\0\1\5\1\0\1\5\1\0\3\5\3\0\1\5"+ - "\3\0\1\302\24\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\12\5\1\303"+ - "\12\5\30\0\11\5\2\0\1\5\1\0\1\5\1\0"+ - "\3\5\3\0\1\5\3\0\12\5\1\304\12\5\30\0"+ - "\11\5\2\0\1\5\1\0\1\5\1\0\3\5\3\0"+ - "\1\5\3\0\14\5\1\305\10\5\30\0\11\5\2\0"+ - "\1\5\1\0\1\5\1\0\3\5\3\0\1\5\3\0"+ - "\20\5\1\306\4\5\30\0\11\5\2\0\1\5\1\0"+ - "\1\5\1\0\3\5\3\0\1\5\3\0\4\5\1\307"+ - "\20\5\27\0"; + "\1\2\1\3\2\4\1\5\1\4\1\6\1\7\1\10"+ + "\1\11\1\12\1\13\4\6\1\14\1\6\1\2\1\15"+ + "\1\16\1\6\1\17\1\6\2\14\1\20\1\21\1\22"+ + "\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32"+ + "\1\33\1\6\1\34\1\6\1\35\1\36\1\37\1\6"+ + "\1\40\1\41\1\6\1\42\1\43\1\44\1\45\1\46"+ + "\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56"+ + "\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66"+ + "\1\67\1\70\110\0\1\71\1\72\1\71\1\0\1\71"+ + "\1\73\1\74\1\75\1\76\4\0\1\73\1\74\1\75"+ + "\1\76\1\0\1\77\2\100\1\0\1\101\60\0\3\4"+ + "\1\0\1\4\3\0\1\76\7\0\1\76\1\0\1\77"+ + "\2\100\1\0\1\101\60\0\6\6\1\102\2\6\2\0"+ + "\7\6\1\0\2\6\1\0\4\6\1\103\3\0\1\104"+ + "\3\0\15\6\30\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\4\6\1\105\3\0"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\3\6\1\20\1\106\1\22\1\0\1\24"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\1\107\14\6"+ + "\27\0\13\12\1\0\73\12\13\0\1\13\74\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\3\6\2\20\1\22"+ + "\1\0\1\24\1\6\3\0\15\6\30\0\3\77\1\0"+ + "\1\77\102\0\5\6\1\110\2\6\1\111\2\0\7\6"+ + "\1\0\2\6\1\0\5\6\3\0\1\6\3\0\15\6"+ + "\110\0\1\112\26\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\1\22\1\0\1\24\1\6\3\0\15\6"+ + "\30\0\11\6\2\0\7\6\1\0\1\113\1\6\1\0"+ + "\5\6\1\22\1\0\1\24\1\6\3\0\1\114\14\6"+ + "\27\0\13\115\1\0\20\115\1\116\1\117\51\115\13\120"+ + "\1\0\21\120\1\121\1\122\50\120\1\0\3\6\1\123"+ + "\5\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\1\6\1\124\1\6\1\125\5\6\1\126"+ + "\3\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\1\6\1\127\1\6\1\130"+ + "\11\6\30\0\6\6\1\131\2\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\15\6\30\0"+ + "\11\6\2\0\7\6\1\0\1\132\1\6\1\0\5\6"+ + "\3\0\1\6\3\0\15\6\30\0\11\6\2\0\7\6"+ + "\1\0\2\6\1\0\4\6\1\133\3\0\1\6\3\0"+ + "\15\6\30\0\6\6\1\134\1\6\1\135\2\0\7\6"+ + "\1\0\2\6\1\0\5\6\3\0\1\6\3\0\15\6"+ + "\30\0\11\6\2\0\7\6\1\0\2\6\1\0\5\6"+ + "\3\0\1\6\3\0\1\136\14\6\30\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\137\3\0"+ + "\15\6\30\0\10\6\1\140\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\14\6\1\141\110\0\1\142\106\0\1\143\106\0"+ + "\1\144\1\145\105\0\1\146\1\0\1\147\104\0\1\150"+ + "\106\0\1\151\106\0\1\152\106\0\1\153\106\0\1\154"+ + "\6\0\1\155\77\0\1\156\6\0\1\157\1\160\76\0"+ + "\1\161\26\0\1\71\1\72\1\71\1\0\1\71\3\0"+ + "\1\76\7\0\1\76\1\0\1\77\2\100\1\0\1\101"+ + "\60\0\3\72\1\0\1\72\15\0\1\77\2\100\1\0"+ + "\1\101\60\0\5\162\2\0\1\162\4\0\1\162\2\0"+ + "\1\162\3\0\2\162\15\0\1\162\1\0\1\162\3\0"+ + "\1\162\36\0\1\163\1\0\1\163\1\0\1\163\102\0"+ + "\1\164\3\0\1\164\102\0\3\77\1\0\1\77\16\0"+ + "\2\100\1\0\1\101\60\0\3\165\1\0\1\165\20\0"+ + "\1\166\31\0\1\166\27\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\4\6\1\167\3\0\1\6\3\0\15\6"+ + "\30\0\6\6\1\170\2\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\1\6\1\171\13\6\30\0\11\6\2\0\7\6"+ + "\1\0\1\172\1\6\1\0\5\6\1\22\1\0\1\24"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\11\6\1\173"+ + "\3\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\6\6\1\174\6\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\175\3\0\3\6\1\176\11\6\30\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\4\6\1\177\10\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\200\3\0\15\6\27\0"+ + "\13\115\1\0\20\115\1\201\1\117\51\115\34\0\1\202"+ + "\52\0\107\115\13\120\1\0\21\120\1\121\1\201\157\120"+ + "\36\0\1\203\51\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\7\6\1\204\5\6"+ + "\30\0\11\6\2\0\7\6\1\0\2\6\1\0\5\6"+ + "\3\0\1\6\3\0\2\6\1\205\12\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\3\6\1\206\11\6\30\0\11\6\2\0\7\6"+ + "\1\0\2\6\1\0\5\6\3\0\1\6\3\0\4\6"+ + "\1\207\10\6\30\0\3\6\1\210\4\6\1\211\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\15\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\10\6\1\212\4\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\1\6\1\213\13\6\30\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\1\214\14\6\30\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\3\6\1\215\11\6"+ + "\30\0\11\6\2\0\7\6\1\0\1\216\1\6\1\0"+ + "\5\6\3\0\1\6\3\0\15\6\30\0\6\6\1\217"+ + "\2\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\220\3\0\15\6\110\0"+ + "\1\221\106\0\1\222\106\0\1\223\106\0\1\224\26\0"+ + "\5\162\2\0\1\162\1\76\3\0\1\162\2\0\1\162"+ + "\1\76\2\0\2\162\15\0\1\162\1\0\1\162\3\0"+ + "\1\162\36\0\1\163\1\0\1\163\1\0\1\163\3\0"+ + "\1\76\7\0\1\76\66\0\1\164\3\0\1\164\3\0"+ + "\1\76\7\0\1\76\66\0\3\165\1\0\1\165\21\0"+ + "\1\101\60\0\3\165\1\0\1\165\102\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\11\6\1\225\3\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\1\226\14\6"+ + "\30\0\11\6\2\0\7\6\1\0\2\6\1\0\5\6"+ + "\3\0\1\6\3\0\1\227\14\6\30\0\7\6\1\230"+ + "\1\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\1\231\1\6\1\0\5\6\3\0\1\6\3\0\15\6"+ + "\30\0\3\6\1\232\5\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\1\233\1\6\1\0\5\6\3\0"+ + "\1\6\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\2\6\1\234\2\6\3\0\1\6\3\0"+ + "\15\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\3\6\1\235\11\6\27\0"+ + "\34\202\1\236\1\237\1\202\1\240\47\202\35\203\1\241"+ + "\1\242\1\243\47\203\1\0\6\6\1\244\2\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\15\6\30\0\11\6\2\0\7\6\1\0\1\245\1\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\4\6\1\246\10\6\30\0\11\6\2\0\7\6"+ + "\1\0\2\6\1\0\5\6\3\0\1\6\3\0\3\6"+ + "\1\247\11\6\30\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\3\6\1\250\11\6"+ + "\30\0\10\6\1\251\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\15\6\30\0\7\6\1\252"+ + "\1\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\15\6\30\0\10\6\1\253\2\0\7\6"+ + "\1\0\2\6\1\0\5\6\3\0\1\6\3\0\15\6"+ + "\30\0\10\6\1\254\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\15\6\30\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\5\6\3\0\1\6\3\0"+ + "\5\6\1\255\7\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\2\6\1\256"+ + "\12\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\7\6\1\257\5\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\4\6\1\260"+ + "\3\0\1\6\3\0\15\6\30\0\11\6\2\0\7\6"+ + "\1\0\1\261\1\6\1\0\5\6\3\0\1\6\3\0"+ + "\15\6\27\0\34\202\1\262\1\237\1\202\1\263\212\202"+ + "\1\263\1\237\1\202\1\263\47\202\144\203\1\241\1\264"+ + "\1\265\104\203\1\241\2\265\47\203\1\0\11\6\2\0"+ + "\7\6\1\0\2\6\1\0\4\6\1\266\3\0\1\6"+ + "\3\0\15\6\30\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\4\6\1\267\3\0\1\6\3\0\15\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\270\3\0\15\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\3\6\1\271"+ + "\11\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\2\6\1\272\12\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\1\273\14\6\30\0\11\6\2\0\7\6"+ + "\1\0\1\274\1\6\1\0\5\6\3\0\1\6\3\0"+ + "\15\6\30\0\10\6\1\275\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\1\276\14\6\30\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\4\6\1\277"+ + "\10\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\1\6\1\300\13\6\27\0"+ + "\34\202\1\201\1\237\1\202\1\0\103\202\1\0\1\237"+ + "\1\202\1\0\47\202\35\203\1\241\1\201\1\0\104\203"+ + "\1\241\2\0\47\203\1\0\11\6\2\0\7\6\1\0"+ + "\2\6\1\0\5\6\3\0\1\6\3\0\4\6\1\301"+ + "\10\6\30\0\11\6\2\0\7\6\1\0\2\6\1\0"+ + "\5\6\3\0\1\6\3\0\4\6\1\302\10\6\30\0"+ + "\11\6\2\0\7\6\1\0\2\6\1\0\5\6\3\0"+ + "\1\6\3\0\1\6\1\303\13\6\30\0\10\6\1\304"+ + "\2\0\7\6\1\0\2\6\1\0\5\6\3\0\1\6"+ + "\3\0\15\6\30\0\11\6\2\0\7\6\1\0\2\6"+ + "\1\0\5\6\3\0\1\6\3\0\10\6\1\305\4\6"+ + "\30\0\11\6\2\0\7\6\1\0\2\6\1\0\2\6"+ + "\1\306\2\6\3\0\1\6\3\0\15\6\30\0\11\6"+ + "\2\0\7\6\1\0\1\307\1\6\1\0\5\6\3\0"+ + "\1\6\3\0\15\6\27\0"; private static int [] zzUnpackTrans() { - int [] result = new int[9520]; + int [] result = new int[9656]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -380,11 +533,11 @@ class _PythonLexer implements FlexLexer { private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = - "\1\0\1\11\12\1\1\11\2\1\3\11\32\1\14\11"+ - "\1\1\4\0\1\11\1\1\1\0\2\11\37\1\3\11"+ - "\1\1\1\11\1\1\5\11\1\1\2\11\1\1\1\11"+ - "\4\1\1\0\1\11\2\0\27\1\4\11\6\0\21\1"+ - "\4\0\30\1"; + "\1\0\1\11\20\1\1\11\2\1\3\11\24\1\14\11"+ + "\1\1\4\0\1\11\1\1\1\0\1\11\10\1\1\11"+ + "\27\1\3\11\1\1\1\11\1\1\5\11\1\1\2\11"+ + "\1\1\1\11\4\1\1\0\12\1\1\11\2\0\15\1"+ + "\4\11\11\1\6\0\16\1\4\0\22\1"; private static int [] zzUnpackAttribute() { int [] result = new int[199]; @@ -470,7 +623,7 @@ class _PythonLexer implements FlexLexer { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 178) { + while (i < 3336) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -740,7 +893,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.MINUS; } case 93: break; - case 73: + case 72: { return PyTokenTypes.BREAK_KEYWORD; } case 94: break; @@ -764,11 +917,11 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.LT; } case 99: break; - case 38: + case 40: { return PyTokenTypes.IN_KEYWORD; } case 100: break; - case 72: + case 73: { return PyTokenTypes.RAISE_KEYWORD; } case 101: break; @@ -784,7 +937,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.SPACE; } case 104: break; - case 79: + case 78: { return PyTokenTypes.EXCEPT_KEYWORD; } case 105: break; @@ -820,7 +973,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.OR; } case 113: break; - case 69: + case 70: { return PyTokenTypes.ELSE_KEYWORD; } case 114: break; @@ -840,7 +993,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.MULT; } case 118: break; - case 78: + case 81: { return PyTokenTypes.ASSERT_KEYWORD; } case 119: break; @@ -852,7 +1005,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.GLOBAL_KEYWORD; } case 121: break; - case 81: + case 77: { return PyTokenTypes.LAMBDA_KEYWORD; } case 122: break; @@ -860,7 +1013,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.XOREQ; } case 123: break; - case 63: + case 58: { return PyTokenTypes.FOR_KEYWORD; } case 124: break; @@ -868,7 +1021,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.AT; } case 125: break; - case 59: + case 60: { return PyTokenTypes.NOT_KEYWORD; } case 126: break; @@ -876,7 +1029,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.PLUS; } case 127: break; - case 37: + case 38: { return PyTokenTypes.MINUSEQ; } case 128: break; @@ -912,11 +1065,11 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.LE; } case 136: break; - case 58: + case 59: { return PyTokenTypes.AND_KEYWORD; } case 137: break; - case 41: + case 37: { return PyTokenTypes.OR_KEYWORD; } case 138: break; @@ -944,11 +1097,11 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.DIVEQ; } case 144: break; - case 80: + case 79: { return PyTokenTypes.RETURN_KEYWORD; } case 145: break; - case 77: + case 80: { return PyTokenTypes.IMPORT_KEYWORD; } case 146: break; @@ -964,7 +1117,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.DEF_KEYWORD; } case 149: break; - case 39: + case 41: { return PyTokenTypes.IS_KEYWORD; } case 150: break; @@ -984,7 +1137,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.PERCEQ; } case 154: break; - case 62: + case 63: { return PyTokenTypes.TRY_KEYWORD; } case 155: break; @@ -996,7 +1149,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.EQ; } case 157: break; - case 70: + case 68: { return PyTokenTypes.FROM_KEYWORD; } case 158: break; @@ -1004,7 +1157,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.EXPEQ; } case 159: break; - case 68: + case 69: { return PyTokenTypes.ELIF_KEYWORD; } case 160: break; @@ -1016,7 +1169,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.CLASS_KEYWORD; } case 162: break; - case 40: + case 39: { return PyTokenTypes.IF_KEYWORD; } case 163: break; @@ -1036,7 +1189,7 @@ class _PythonLexer implements FlexLexer { { return PyTokenTypes.XOR; } case 167: break; - case 60: + case 62: { return PyTokenTypes.DEL_KEYWORD; } case 168: break;