Fixed bugs after merging with branch 'cython'

This commit is contained in:
Andrey Vlasovskikh
2011-09-28 21:31:29 +04:00
parent eaff2c1b70
commit 79c021d12f
2 changed files with 303 additions and 296 deletions
@@ -593,6 +593,7 @@
<extensionPoint qualifiedName="Pythonid.dialectsTokenSetContributor" interface="com.jetbrains.python.PythonDialectsTokenSetContributor"/>
<extensionPoint qualifiedName="Pythonid.templateLanguageCoreTags"
beanClass="com.intellij.lang.LanguageExtensionPoint"/>
<extensionPoint qualifiedName="Pythonid.runConfigurationExtension" interface="com.jetbrains.python.run.PythonRunConfigurationExtension"/>
</extensionPoints>
<extensions defaultExtensionNs="Pythonid">
@@ -1,4 +1,4 @@
/* The following code was generated by JFlex 1.4.3 on 9/23/11 5:58 PM */
/* The following code was generated by JFlex 1.4.3 on 9/28/11 8:24 PM */
/* It's an automatically generated code. Do not modify it. */
package com.jetbrains.python.lexer;
@@ -12,7 +12,7 @@ import com.intellij.openapi.util.text.StringUtil;
/**
* This class is a scanner generated by
* <a href="http://www.jflex.de/">JFlex</a> 1.4.3
* on 9/23/11 5:58 PM from the specification file
* on 9/28/11 8:24 PM from the specification file
* <tt>/home/user/src/idea/tools/lexer/../../python/src/com/jetbrains/python/lexer/Python.flex</tt>
*/
class _PythonLexer implements FlexLexer {
@@ -226,19 +226,19 @@ class _PythonLexer implements FlexLexer {
"\1\13\1\47\1\0\1\50\3\14\1\51\4\14\1\52"+
"\4\14\6\17\5\14\1\53\1\54\1\55\5\14\1\56"+
"\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66"+
"\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\11"+
"\1\76\1\77\1\0\1\76\3\13\1\47\1\0\1\100"+
"\13\14\1\17\2\101\1\102\1\14\1\103\1\104\1\105"+
"\1\106\5\14\1\107\1\110\1\111\1\112\1\0\2\77"+
"\1\0\1\113\4\14\1\114\1\115\4\14\4\0\2\14"+
"\1\116\3\14\1\0\2\76\1\0\1\14\1\117\3\14"+
"\1\120\1\14\1\121\1\0\2\101\1\0\2\14\1\122"+
"\1\14\1\123\3\76\1\14\1\124\1\125\1\14\1\126"+
"\3\101\1\127\1\130\1\131\2\0\1\132\1\14\2\0"+
"\2\76\1\133\2\101";
"\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76"+
"\1\0\1\11\1\77\1\100\1\0\1\77\3\13\1\47"+
"\1\0\1\101\13\14\1\17\2\102\1\103\1\14\1\104"+
"\1\105\1\106\1\107\5\14\1\110\1\111\1\112\1\113"+
"\1\0\2\100\1\0\1\114\4\14\1\115\1\116\4\14"+
"\4\0\2\14\1\117\3\14\1\0\2\77\1\0\1\14"+
"\1\120\3\14\1\121\1\14\1\122\1\0\2\102\1\0"+
"\2\14\1\123\1\14\1\124\3\77\1\14\1\125\1\126"+
"\1\14\1\127\3\102\1\130\1\131\1\132\2\0\1\133"+
"\1\14\2\0\2\77\1\134\2\102";
private static int [] zzUnpackAction() {
int [] result = new int[240];
int [] result = new int[242];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -270,32 +270,33 @@ class _PythonLexer implements FlexLexer {
"\0\u0721\0\u076a\0\u07b3\0\u07fc\0\u0845\0\u088e\0\u08d7\0\u0920"+
"\0\u0969\0\u09b2\0\u09fb\0\u0a44\0\u0a8d\0\u0ad6\0\u0b1f\0\u0b68"+
"\0\u0bb1\0\u0bfa\0\u0c43\0\u0c8c\0\333\0\333\0\333\0\333"+
"\0\333\0\333\0\333\0\333\0\333\0\333\0\333\0\333"+
"\0\u01b6\0\u0cd5\0\u0d1e\0\u0d67\0\333\0\u0db0\0\u0df9\0\u0e42"+
"\0\u0e8b\0\u0ed4\0\u0f1d\0\u0f66\0\u0faf\0\333\0\u0ff8\0\u1041"+
"\0\333\0\u108a\0\u10d3\0\u111c\0\u036c\0\u1165\0\u11ae\0\u11f7"+
"\0\u1240\0\333\0\u1289\0\u12d2\0\u131b\0\u1364\0\u13ad\0\u13f6"+
"\0\u143f\0\u1488\0\u14d1\0\u151a\0\u1563\0\u15ac\0\u15f5\0\u163e"+
"\0\u1687\0\u036c\0\u036c\0\u036c\0\u16d0\0\u1719\0\u1762\0\u17ab"+
"\0\u17f4\0\333\0\333\0\333\0\u183d\0\333\0\u1886\0\333"+
"\0\333\0\333\0\333\0\333\0\u18cf\0\333\0\333\0\u1918"+
"\0\333\0\u1961\0\u19aa\0\333\0\u1961\0\u19f3\0\u1a3c\0\u1a85"+
"\0\u1ace\0\u1b17\0\u1b60\0\u036c\0\u1ba9\0\u1bf2\0\u1c3b\0\u1c84"+
"\0\u1ccd\0\u1d16\0\u1d5f\0\u1da8\0\u1df1\0\u1e3a\0\u1e83\0\333"+
"\0\u1ecc\0\u1f15\0\u036c\0\u1f5e\0\u036c\0\u036c\0\u036c\0\u036c"+
"\0\u1fa7\0\u1ff0\0\u2039\0\u2082\0\u20cb\0\333\0\333\0\333"+
"\0\333\0\u2114\0\u215d\0\u21a6\0\u21ef\0\u036c\0\u2238\0\u2281"+
"\0\u22ca\0\u2313\0\u036c\0\u036c\0\u235c\0\u23a5\0\u23ee\0\u2437"+
"\0\u2480\0\u24c9\0\u2512\0\u255b\0\u25a4\0\u25ed\0\u036c\0\u2636"+
"\0\u267f\0\u26c8\0\u2711\0\u275a\0\u27a3\0\u27ec\0\u2835\0\u036c"+
"\0\u287e\0\u28c7\0\u2910\0\u036c\0\u2959\0\u036c\0\u29a2\0\u29eb"+
"\0\u2a34\0\u2a7d\0\u2ac6\0\u2b0f\0\u036c\0\u2b58\0\u036c\0\u1961"+
"\0\u2ba1\0\u2bea\0\u2c33\0\u036c\0\u036c\0\u2c7c\0\u036c\0\333"+
"\0\u2cc5\0\u2d0e\0\u036c\0\u036c\0\u036c\0\u2d57\0\u2da0\0\u036c"+
"\0\u2de9\0\u2e32\0\u2e7b\0\u2711\0\u27ec\0\u036c\0\u29a2\0\u2a7d";
"\0\333\0\333\0\333\0\333\0\333\0\u0cd5\0\333\0\333"+
"\0\u01b6\0\u0d1e\0\u0d67\0\u0db0\0\333\0\u0df9\0\u0e42\0\u0e8b"+
"\0\u0ed4\0\u0f1d\0\u0f66\0\u0faf\0\u0ff8\0\333\0\u1041\0\u108a"+
"\0\333\0\u10d3\0\u111c\0\u1165\0\u036c\0\u11ae\0\u11f7\0\u1240"+
"\0\u1289\0\333\0\u12d2\0\u131b\0\u1364\0\u13ad\0\u13f6\0\u143f"+
"\0\u1488\0\u14d1\0\u151a\0\u1563\0\u15ac\0\u15f5\0\u163e\0\u1687"+
"\0\u16d0\0\u036c\0\u036c\0\u036c\0\u1719\0\u1762\0\u17ab\0\u17f4"+
"\0\u183d\0\333\0\333\0\333\0\u1886\0\333\0\u18cf\0\333"+
"\0\333\0\333\0\333\0\333\0\u1918\0\333\0\333\0\u1961"+
"\0\333\0\333\0\u0cd5\0\u19aa\0\u19f3\0\333\0\u19aa\0\u1a3c"+
"\0\u1a85\0\u1ace\0\u1b17\0\u1b60\0\u1ba9\0\u036c\0\u1bf2\0\u1c3b"+
"\0\u1c84\0\u1ccd\0\u1d16\0\u1d5f\0\u1da8\0\u1df1\0\u1e3a\0\u1e83"+
"\0\u1ecc\0\333\0\u1f15\0\u1f5e\0\u036c\0\u1fa7\0\u036c\0\u036c"+
"\0\u036c\0\u036c\0\u1ff0\0\u2039\0\u2082\0\u20cb\0\u2114\0\333"+
"\0\333\0\333\0\333\0\u215d\0\u21a6\0\u21ef\0\u2238\0\u036c"+
"\0\u2281\0\u22ca\0\u2313\0\u235c\0\u036c\0\u036c\0\u23a5\0\u23ee"+
"\0\u2437\0\u2480\0\u24c9\0\u2512\0\u255b\0\u25a4\0\u25ed\0\u2636"+
"\0\u036c\0\u267f\0\u26c8\0\u2711\0\u275a\0\u27a3\0\u27ec\0\u2835"+
"\0\u287e\0\u036c\0\u28c7\0\u2910\0\u2959\0\u036c\0\u29a2\0\u036c"+
"\0\u29eb\0\u2a34\0\u2a7d\0\u2ac6\0\u2b0f\0\u2b58\0\u036c\0\u2ba1"+
"\0\u036c\0\u19aa\0\u2bea\0\u2c33\0\u2c7c\0\u036c\0\u036c\0\u2cc5"+
"\0\u036c\0\333\0\u2d0e\0\u2d57\0\u036c\0\u036c\0\u036c\0\u2da0"+
"\0\u2de9\0\u036c\0\u2e32\0\u2e7b\0\u2ec4\0\u275a\0\u2835\0\u036c"+
"\0\u29eb\0\u2ac6";
private static int [] zzUnpackRowMap() {
int [] result = new int[240];
int [] result = new int[242];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -374,136 +375,137 @@ class _PythonLexer implements FlexLexer {
"\1\161\112\0\1\162\110\0\1\163\110\0\1\164\1\165"+
"\107\0\1\166\1\0\1\167\106\0\1\170\110\0\1\171"+
"\110\0\1\172\110\0\1\173\110\0\1\174\6\0\1\175"+
"\101\0\1\176\6\0\1\177\1\200\100\0\1\201\25\0"+
"\13\102\1\0\22\102\1\202\1\104\1\102\1\105\47\102"+
"\36\0\1\203\1\204\1\0\1\105\2\205\44\0\1\105"+
"\111\102\13\106\1\0\23\106\1\107\1\202\1\105\160\106"+
"\37\0\1\204\1\206\1\105\2\205\44\0\1\105\1\0"+
"\1\111\1\112\1\111\1\0\1\111\3\0\1\116\7\0"+
"\1\116\1\0\1\117\2\120\1\0\1\121\62\0\3\112"+
"\1\0\1\112\15\0\1\117\2\120\1\0\1\121\62\0"+
"\5\207\2\0\1\207\4\0\1\207\2\0\1\207\3\0"+
"\2\207\2\0\2\207\13\0\1\207\1\0\1\207\42\0"+
"\1\210\1\0\1\210\1\0\1\210\104\0\1\211\3\0"+
"\1\211\104\0\3\117\1\0\1\117\16\0\2\120\1\0"+
"\1\121\62\0\3\212\1\0\1\212\20\0\1\213\33\0"+
"\1\213\27\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\6\24\1\214\7\0\15\24\30\0\6\24\1\215\2\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\15\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\1\24\1\216\13\24\30\0\11\24\2\0\7\24"+
"\1\0\1\217\1\24\1\0\7\24\1\37\1\0\1\40"+
"\4\0\15\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\11\24\1\220\3\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\1\24\1\221\5\24"+
"\7\0\15\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\3\24\1\222\2\24\1\223\6\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\1\24\1\224\13\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\1\225\14\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\4\24\1\226\10\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\6\24\1\227\6\24\27\0"+
"\13\137\1\0\22\137\1\230\1\141\1\137\1\0\47\137"+
"\36\0\1\231\52\0\111\137\13\142\1\0\23\142\1\143"+
"\1\230\1\0\160\142\40\0\1\232\51\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\2\24\1\233"+
"\12\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\3\24\1\234\11\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\4\24\1\235"+
"\10\24\30\0\3\24\1\236\4\24\1\237\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\15\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\10\24"+
"\1\240\4\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\7\24\1\241\5\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\3\24"+
"\1\242\11\24\30\0\11\24\2\0\7\24\1\0\1\243"+
"\1\24\1\0\7\24\7\0\15\24\30\0\6\24\1\244"+
"\2\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\15\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\6\24\1\245\6\24\112\0\1\246\110\0"+
"\1\247\110\0\1\250\110\0\1\251\64\0\1\204\1\0"+
"\1\105\2\205\44\0\1\105\36\203\1\252\1\253\51\203"+
"\37\206\1\254\1\255\50\206\1\0\5\207\2\0\1\207"+
"\1\116\3\0\1\207\2\0\1\207\1\116\2\0\2\207"+
"\2\0\2\207\13\0\1\207\1\0\1\207\42\0\1\210"+
"\1\0\1\210\1\0\1\210\3\0\1\116\7\0\1\116"+
"\70\0\1\211\3\0\1\211\3\0\1\116\7\0\1\116"+
"\70\0\3\212\1\0\1\212\21\0\1\121\62\0\3\212"+
"\1\0\1\212\104\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\11\24\1\256\3\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\1\257"+
"\14\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\1\260\14\24\30\0\7\24\1\261\1\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\15\24"+
"\30\0\11\24\2\0\7\24\1\0\1\262\1\24\1\0"+
"\101\0\1\176\6\0\1\177\1\200\100\0\1\201\66\0"+
"\1\202\1\203\46\0\13\102\1\0\22\102\1\204\1\104"+
"\1\102\1\105\47\102\36\0\1\205\1\206\1\0\1\105"+
"\2\207\44\0\1\105\111\102\13\106\1\0\23\106\1\107"+
"\1\204\1\105\160\106\37\0\1\206\1\210\1\105\2\207"+
"\44\0\1\105\1\0\1\111\1\112\1\111\1\0\1\111"+
"\3\0\1\116\7\0\1\116\1\0\1\117\2\120\1\0"+
"\1\121\62\0\3\112\1\0\1\112\15\0\1\117\2\120"+
"\1\0\1\121\62\0\5\211\2\0\1\211\4\0\1\211"+
"\2\0\1\211\3\0\2\211\2\0\2\211\13\0\1\211"+
"\1\0\1\211\42\0\1\212\1\0\1\212\1\0\1\212"+
"\104\0\1\213\3\0\1\213\104\0\3\117\1\0\1\117"+
"\16\0\2\120\1\0\1\121\62\0\3\214\1\0\1\214"+
"\20\0\1\215\33\0\1\215\27\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\6\24\1\216\7\0\15\24\30\0"+
"\6\24\1\217\2\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\15\24\30\0\11\24\2\0\7\24\1\0"+
"\1\263\1\24\1\0\7\24\7\0\15\24\30\0\3\24"+
"\1\264\5\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\15\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\4\24\1\265\10\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\3\24"+
"\1\266\11\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\4\24\1\267\2\24\7\0\15\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\3\24"+
"\1\270\11\24\27\0\36\231\1\271\1\272\51\231\37\232"+
"\1\273\1\274\50\232\1\0\11\24\2\0\7\24\1\0"+
"\1\275\1\24\1\0\7\24\7\0\15\24\30\0\6\24"+
"\1\276\2\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\15\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\3\24\1\277\11\24\30\0\10\24"+
"\1\300\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\15\24\30\0\7\24\1\301\1\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\15\24\30\0\10\24\1\302"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\15\24"+
"\27\0\36\203\1\303\1\304\162\203\150\206\1\305\1\306"+
"\50\206\1\0\10\24\1\307\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\15\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\5\24\1\310\7\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\2\24\1\311\12\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\7\24\1\312\5\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\6\24\1\313\6\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\3\24\1\314\11\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\6\24"+
"\1\315\7\0\15\24\30\0\11\24\2\0\7\24\1\0"+
"\1\316\1\24\1\0\7\24\7\0\15\24\27\0\36\231"+
"\1\317\1\320\162\231\150\232\1\321\1\322\50\232\1\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\6\24\1\323"+
"\7\0\15\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\6\24\1\324\7\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\2\24\1\325"+
"\12\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\1\326\14\24\30\0\11\24\2\0\7\24"+
"\1\0\1\327\1\24\1\0\7\24\7\0\15\24\27\0"+
"\36\203\1\330\1\304\107\203\1\331\1\304\51\203\37\206"+
"\1\305\1\332\107\206\1\305\1\330\50\206\1\0\10\24"+
"\1\333\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\15\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\1\334\14\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\4\24\1\335\10\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\1\24\1\336\13\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\1\24\1\337\13\24"+
"\27\0\36\231\1\340\1\320\107\231\1\341\1\320\51\231"+
"\37\232\1\321\1\342\107\232\1\321\1\340\50\232\1\0"+
"\2\24\1\0\7\24\7\0\1\24\1\220\13\24\30\0"+
"\11\24\2\0\7\24\1\0\1\221\1\24\1\0\7\24"+
"\1\37\1\0\1\40\4\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\11\24\1\222"+
"\3\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\1\24\1\223\5\24\7\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\3\24\1\224"+
"\2\24\1\225\6\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\1\24\1\226\13\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\4\24\1\343\10\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\4\24\1\344\10\24\30\0"+
"\10\24\1\345\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\15\24\27\0\36\203\1\346\1\304\51\203\37\206"+
"\1\305\1\347\50\206\1\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\10\24\1\350\4\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\4\24\1\351"+
"\2\24\7\0\15\24\27\0\36\231\1\352\1\320\51\231"+
"\37\232\1\321\1\353\50\232\36\203\1\354\1\304\51\203"+
"\37\206\1\305\1\355\50\206\1\0\11\24\2\0\7\24"+
"\1\0\1\356\1\24\1\0\7\24\7\0\15\24\27\0"+
"\36\231\1\357\1\320\51\231\37\232\1\321\1\360\50\232";
"\1\227\14\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\4\24\1\230\10\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\6\24"+
"\1\231\6\24\27\0\13\137\1\0\22\137\1\232\1\141"+
"\1\137\1\0\47\137\36\0\1\233\52\0\111\137\13\142"+
"\1\0\23\142\1\143\1\232\1\0\160\142\40\0\1\234"+
"\51\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\2\24\1\235\12\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\3\24\1\236\11\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\4\24\1\237\10\24\30\0\3\24\1\240\4\24"+
"\1\241\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\15\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\10\24\1\242\4\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\7\24\1\243"+
"\5\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\3\24\1\244\11\24\30\0\11\24\2\0"+
"\7\24\1\0\1\245\1\24\1\0\7\24\7\0\15\24"+
"\30\0\6\24\1\246\2\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\15\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\6\24\1\247\6\24"+
"\112\0\1\250\110\0\1\251\110\0\1\252\110\0\1\253"+
"\64\0\1\206\1\0\1\105\2\207\44\0\1\105\36\205"+
"\1\254\1\255\51\205\37\210\1\256\1\257\50\210\1\0"+
"\5\211\2\0\1\211\1\116\3\0\1\211\2\0\1\211"+
"\1\116\2\0\2\211\2\0\2\211\13\0\1\211\1\0"+
"\1\211\42\0\1\212\1\0\1\212\1\0\1\212\3\0"+
"\1\116\7\0\1\116\70\0\1\213\3\0\1\213\3\0"+
"\1\116\7\0\1\116\70\0\3\214\1\0\1\214\21\0"+
"\1\121\62\0\3\214\1\0\1\214\104\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\11\24\1\260"+
"\3\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\1\261\14\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\1\262\14\24\30\0"+
"\7\24\1\263\1\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\15\24\30\0\11\24\2\0\7\24\1\0"+
"\1\264\1\24\1\0\7\24\7\0\15\24\30\0\11\24"+
"\2\0\7\24\1\0\1\265\1\24\1\0\7\24\7\0"+
"\15\24\30\0\3\24\1\266\5\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\4\24\1\267"+
"\10\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\3\24\1\270\11\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\4\24\1\271\2\24\7\0"+
"\15\24\30\0\11\24\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\3\24\1\272\11\24\27\0\36\233\1\273"+
"\1\274\51\233\37\234\1\275\1\276\50\234\1\0\11\24"+
"\2\0\7\24\1\0\1\277\1\24\1\0\7\24\7\0"+
"\15\24\30\0\6\24\1\300\2\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\3\24\1\301"+
"\11\24\30\0\10\24\1\302\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\15\24\30\0\7\24\1\303\1\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\15\24"+
"\30\0\10\24\1\304\2\0\7\24\1\0\2\24\1\0"+
"\7\24\7\0\15\24\27\0\36\205\1\305\1\306\162\205"+
"\150\210\1\307\1\310\50\210\1\0\10\24\1\311\2\0"+
"\7\24\1\0\2\24\1\0\7\24\7\0\15\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\5\24\1\312\7\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\2\24\1\313\12\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\7\24\1\314\5\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\6\24\1\315\6\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\3\24\1\316\11\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\6\24\1\317\7\0\15\24\30\0\11\24"+
"\2\0\7\24\1\0\1\320\1\24\1\0\7\24\7\0"+
"\15\24\27\0\36\233\1\321\1\322\162\233\150\234\1\323"+
"\1\324\50\234\1\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\6\24\1\325\7\0\15\24\30\0\11\24\2\0"+
"\7\24\1\0\2\24\1\0\6\24\1\326\7\0\15\24"+
"\30\0\11\24\2\0\7\24\1\0\2\24\1\0\7\24"+
"\7\0\2\24\1\327\12\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\1\330\14\24\30\0"+
"\11\24\2\0\7\24\1\0\1\331\1\24\1\0\7\24"+
"\7\0\15\24\27\0\36\205\1\332\1\306\107\205\1\333"+
"\1\306\51\205\37\210\1\307\1\334\107\210\1\307\1\332"+
"\50\210\1\0\10\24\1\335\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\15\24\30\0\11\24\2\0\7\24"+
"\1\0\2\24\1\0\7\24\7\0\1\336\14\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\4\24\1\337\10\24\30\0\11\24\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\1\24\1\340\13\24\30\0"+
"\11\24\2\0\7\24\1\0\2\24\1\0\7\24\7\0"+
"\1\24\1\341\13\24\27\0\36\233\1\342\1\322\107\233"+
"\1\343\1\322\51\233\37\234\1\323\1\344\107\234\1\323"+
"\1\342\50\234\1\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\7\24\7\0\4\24\1\345\10\24\30\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\4\24"+
"\1\346\10\24\30\0\10\24\1\347\2\0\7\24\1\0"+
"\2\24\1\0\7\24\7\0\15\24\27\0\36\205\1\350"+
"\1\306\51\205\37\210\1\307\1\351\50\210\1\0\11\24"+
"\2\0\7\24\1\0\2\24\1\0\7\24\7\0\10\24"+
"\1\352\4\24\30\0\11\24\2\0\7\24\1\0\2\24"+
"\1\0\4\24\1\353\2\24\7\0\15\24\27\0\36\233"+
"\1\354\1\322\51\233\37\234\1\323\1\355\50\234\36\205"+
"\1\356\1\306\51\205\37\210\1\307\1\357\50\210\1\0"+
"\11\24\2\0\7\24\1\0\1\360\1\24\1\0\7\24"+
"\7\0\15\24\27\0\36\233\1\361\1\322\51\233\37\234"+
"\1\323\1\362\50\234";
private static int [] zzUnpackTrans() {
int [] result = new int[11972];
int [] result = new int[12045];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -544,17 +546,17 @@ class _PythonLexer implements FlexLexer {
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\3\0\1\11\1\1\6\11\4\1\1\11\44\1\14\11"+
"\1\0\3\1\1\11\4\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\2\1\1\11\1\0"+
"\5\1\1\0\14\1\1\11\15\1\4\11\1\0\2\1"+
"\1\0\13\1\4\0\6\1\1\0\2\1\1\0\10\1"+
"\1\0\2\1\1\0\15\1\1\11\5\1\2\0\2\1"+
"\2\0\5\1";
"\3\0\1\11\1\1\6\11\4\1\1\11\44\1\11\11"+
"\1\1\2\11\1\0\3\1\1\11\4\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\2\11\1\0"+
"\2\1\1\11\1\0\5\1\1\0\14\1\1\11\15\1"+
"\4\11\1\0\2\1\1\0\13\1\4\0\6\1\1\0"+
"\2\1\1\0\10\1\1\0\2\1\1\0\15\1\1\11"+
"\5\1\2\0\2\1\2\0\5\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[240];
int [] result = new int[242];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
@@ -866,372 +868,376 @@ return yylength()-i-1;
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 82:
case 83:
{ return PyTokenTypes.YIELD_KEYWORD;
}
case 92: break;
case 93: break;
case 11:
{ return PyTokenTypes.INTEGER_LITERAL;
}
case 93: break;
case 94: break;
case 19:
{ return PyTokenTypes.DIV;
}
case 94: break;
case 95: break;
case 20:
{ return PyTokenTypes.PERC;
}
case 95: break;
case 96: break;
case 3:
{ return PyTokenTypes.BACKSLASH;
}
case 96: break;
case 97: break;
case 28:
{ return PyTokenTypes.RPAR;
}
case 97: break;
case 98: break;
case 10:
{ return PyTokenTypes.BAD_CHARACTER;
}
case 98: break;
case 99: break;
case 31:
{ return PyTokenTypes.LBRACE;
}
case 99: break;
case 63:
case 100: break;
case 64:
{ yypushback(getSpaceLength(yytext())); return PyTokenTypes.DOCSTRING;
}
case 100: break;
case 101: break;
case 14:
{ return PyTokenTypes.MINUS;
}
case 101: break;
case 79:
case 102: break;
case 80:
{ return PyTokenTypes.BREAK_KEYWORD;
}
case 102: break;
case 103: break;
case 30:
{ return PyTokenTypes.RBRACKET;
}
case 103: break;
case 104: break;
case 1:
{ yypushback(1); yybegin(PENDING_DOCSTRING);
}
case 104: break;
case 105: break;
case 8:
{ yypushback(1); yybegin(USUAL);
}
case 105: break;
case 106: break;
case 13:
{ return PyTokenTypes.DOT;
}
case 106: break;
case 107: break;
case 12:
{ return PyTokenTypes.IDENTIFIER;
}
case 107: break;
case 108: break;
case 27:
{ return PyTokenTypes.LPAR;
}
case 108: break;
case 109: break;
case 25:
{ return PyTokenTypes.LT;
}
case 109: break;
case 110: break;
case 44:
{ return PyTokenTypes.IN_KEYWORD;
}
case 110: break;
case 81:
case 111: break;
case 82:
{ return PyTokenTypes.RAISE_KEYWORD;
}
case 111: break;
case 73:
case 112: break;
case 74:
{ return PyTokenTypes.GTGTEQ;
}
case 112: break;
case 113: break;
case 5:
{ return PyTokenTypes.SPACE;
}
case 113: break;
case 85:
case 114: break;
case 86:
{ return PyTokenTypes.EXCEPT_KEYWORD;
}
case 114: break;
case 115: break;
case 40:
{ return PyTokenTypes.IMAGINARY_LITERAL;
}
case 115: break;
case 116: break;
case 15:
{ return PyTokenTypes.SINGLE_QUOTED_STRING;
}
case 116: break;
case 117: break;
case 7:
{ return PyTokenTypes.FORMFEED;
}
case 117: break;
case 118: break;
case 37:
{ return PyTokenTypes.SEMICOLON;
}
case 118: break;
case 119: break;
case 24:
{ return PyTokenTypes.GT;
}
case 119: break;
case 120: break;
case 29:
{ return PyTokenTypes.LBRACKET;
}
case 120: break;
case 74:
case 121: break;
case 35:
{ return PyTokenTypes.COLON;
}
case 122: break;
case 75:
{ return PyTokenTypes.LTLTEQ;
}
case 121: break;
case 123: break;
case 9:
{ if (zzInput == YYEOF) return PyTokenTypes.DOCSTRING;
else yybegin(USUAL); return PyTokenTypes.SINGLE_QUOTED_STRING;
}
case 122: break;
case 76:
case 124: break;
case 77:
{ return PyTokenTypes.ELSE_KEYWORD;
}
case 123: break;
case 125: break;
case 22:
{ return PyTokenTypes.OR;
}
case 124: break;
case 126: break;
case 48:
{ return PyTokenTypes.MULTEQ;
}
case 125: break;
case 90:
case 127: break;
case 91:
{ return PyTokenTypes.FINALLY_KEYWORD;
}
case 126: break;
case 83:
case 128: break;
case 84:
{ return PyTokenTypes.WHILE_KEYWORD;
}
case 127: break;
case 129: break;
case 18:
{ return PyTokenTypes.MULT;
}
case 128: break;
case 87:
case 130: break;
case 88:
{ return PyTokenTypes.ASSERT_KEYWORD;
}
case 129: break;
case 131: break;
case 51:
{ return PyTokenTypes.FLOORDIV;
}
case 130: break;
case 89:
case 132: break;
case 90:
{ return PyTokenTypes.GLOBAL_KEYWORD;
}
case 131: break;
case 84:
case 133: break;
case 85:
{ return PyTokenTypes.LAMBDA_KEYWORD;
}
case 132: break;
case 134: break;
case 55:
{ return PyTokenTypes.XOREQ;
}
case 133: break;
case 64:
case 135: break;
case 65:
{ return PyTokenTypes.FOR_KEYWORD;
}
case 134: break;
case 136: break;
case 33:
{ return PyTokenTypes.AT;
}
case 135: break;
case 67:
case 137: break;
case 68:
{ return PyTokenTypes.NOT_KEYWORD;
}
case 136: break;
case 138: break;
case 16:
{ return PyTokenTypes.PLUS;
}
case 137: break;
case 139: break;
case 42:
{ return PyTokenTypes.MINUSEQ;
}
case 138: break;
case 140: break;
case 38:
{ yypushback(getSpaceLength(yytext())); yybegin(USUAL); return PyTokenTypes.DOCSTRING;
}
case 139: break;
case 141: break;
case 61:
{ return PyTokenTypes.NE;
}
case 140: break;
case 142: break;
case 34:
{ return PyTokenTypes.COMMA;
}
case 141: break;
case 143: break;
case 47:
{ return PyTokenTypes.EQEQ;
}
case 142: break;
case 144: break;
case 36:
{ return PyTokenTypes.TICK;
}
case 143: break;
case 145: break;
case 49:
{ return PyTokenTypes.EXP;
}
case 144: break;
case 65:
case 146: break;
case 66:
{ return PyTokenTypes.TRIPLE_QUOTED_STRING;
}
case 145: break;
case 91:
case 147: break;
case 92:
{ return PyTokenTypes.CONTINUE_KEYWORD;
}
case 146: break;
case 148: break;
case 60:
{ return PyTokenTypes.LTLT;
}
case 147: break;
case 149: break;
case 58:
{ return PyTokenTypes.LE;
}
case 148: break;
case 66:
case 150: break;
case 67:
{ return PyTokenTypes.AND_KEYWORD;
}
case 149: break;
case 151: break;
case 41:
{ return PyTokenTypes.OR_KEYWORD;
}
case 150: break;
case 78:
case 152: break;
case 79:
{ return PyTokenTypes.PASS_KEYWORD;
}
case 151: break;
case 153: break;
case 62:
{ yypushback(yylength()-1); yybegin(PENDING_DOCSTRING); return PyTokenTypes.COLON;
}
case 154: break;
case 2:
{ return PyTokenTypes.END_OF_LINE_COMMENT;
}
case 152: break;
case 62:
case 155: break;
case 63:
{ if (zzInput == YYEOF) return PyTokenTypes.DOCSTRING;
else yybegin(USUAL); return PyTokenTypes.TRIPLE_QUOTED_STRING;
}
case 153: break;
case 156: break;
case 54:
{ return PyTokenTypes.OREQ;
}
case 154: break;
case 157: break;
case 57:
{ return PyTokenTypes.GTGT;
}
case 155: break;
case 158: break;
case 21:
{ return PyTokenTypes.AND;
}
case 156: break;
case 159: break;
case 50:
{ return PyTokenTypes.DIVEQ;
}
case 157: break;
case 35:
{ yybegin(PENDING_DOCSTRING); return PyTokenTypes.COLON;
}
case 158: break;
case 86:
case 160: break;
case 87:
{ return PyTokenTypes.RETURN_KEYWORD;
}
case 159: break;
case 88:
case 161: break;
case 89:
{ return PyTokenTypes.IMPORT_KEYWORD;
}
case 160: break;
case 162: break;
case 56:
{ return PyTokenTypes.GE;
}
case 161: break;
case 163: break;
case 46:
{ return PyTokenTypes.PLUSEQ;
}
case 162: break;
case 68:
case 164: break;
case 69:
{ return PyTokenTypes.DEF_KEYWORD;
}
case 163: break;
case 165: break;
case 45:
{ return PyTokenTypes.IS_KEYWORD;
}
case 164: break;
case 72:
case 166: break;
case 73:
{ return PyTokenTypes.FLOORDIVEQ;
}
case 165: break;
case 167: break;
case 39:
{ return PyTokenTypes.FLOAT_LITERAL;
}
case 166: break;
case 168: break;
case 4:
{ return PyTokenTypes.LINE_BREAK;
}
case 167: break;
case 169: break;
case 52:
{ return PyTokenTypes.PERCEQ;
}
case 168: break;
case 70:
case 170: break;
case 71:
{ return PyTokenTypes.TRY_KEYWORD;
}
case 169: break;
case 171: break;
case 53:
{ return PyTokenTypes.ANDEQ;
}
case 170: break;
case 172: break;
case 17:
{ return PyTokenTypes.EQ;
}
case 171: break;
case 75:
case 173: break;
case 76:
{ return PyTokenTypes.FROM_KEYWORD;
}
case 172: break;
case 71:
case 174: break;
case 72:
{ return PyTokenTypes.EXPEQ;
}
case 173: break;
case 77:
case 175: break;
case 78:
{ return PyTokenTypes.ELIF_KEYWORD;
}
case 174: break;
case 176: break;
case 32:
{ return PyTokenTypes.RBRACE;
}
case 175: break;
case 80:
case 177: break;
case 81:
{ return PyTokenTypes.CLASS_KEYWORD;
}
case 176: break;
case 178: break;
case 43:
{ return PyTokenTypes.IF_KEYWORD;
}
case 177: break;
case 179: break;
case 6:
{ return PyTokenTypes.TAB;
}
case 178: break;
case 180: break;
case 59:
{ return PyTokenTypes.NE_OLD;
}
case 179: break;
case 181: break;
case 26:
{ return PyTokenTypes.TILDE;
}
case 180: break;
case 182: break;
case 23:
{ return PyTokenTypes.XOR;
}
case 181: break;
case 69:
case 183: break;
case 70:
{ return PyTokenTypes.DEL_KEYWORD;
}
case 182: break;
case 184: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;