0001: /* The following code was generated by JFlex 1.3 on 4/12/01 12:47 PM */
0002:
0003: /*
0004: * Copyright (c) 2001, Jacob Smullyan.
0005: *
0006: * This is part of SkunkDAV, a WebDAV client. See http://skunkdav.sourceforge.net/
0007: * for the latest version.
0008: *
0009: * SkunkDAV is free software; you can redistribute it and/or
0010: * modify it under the terms of the GNU General Public License as published
0011: * by the Free Software Foundation; either version 2, or (at your option)
0012: * any later version.
0013: *
0014: * SkunkDAV is distributed in the hope that it will be useful,
0015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
0016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0017: * General Public License for more details.
0018: *
0019: * You should have received a copy of the GNU General Public License
0020: * along with SkunkDAV; see the file COPYING. If not, write to the Free
0021: * Software Foundation, 59 Temple Place - Suite 330, Boston, MA
0022: * 02111-1307, USA.
0023: */
0024:
0025: package org.skunk.swing.text.syntax;
0026:
0027: //for main method
0028: import java.io.FileNotFoundException;
0029: import java.io.FileReader;
0030: import java.io.IOException;
0031:
0032: /**
0033: * This class is a scanner generated by
0034: * <a href="http://www.jflex.de/">JFlex</a> 1.3
0035: * on 4/12/01 12:47 PM from the specification file
0036: * <tt>file:/home/smulloni/workdir/skunkdav/org/skunk/swing/text/syntax/python.flex</tt>
0037: */
0038: public class PythonFlexScanner extends FlexScanner {
0039:
0040: /** This character denotes the end of file */
0041: final public static int YYEOF = -1;
0042:
0043: /** initial size of the lookahead buffer */
0044: final private static int YY_BUFFERSIZE = 16384;
0045:
0046: /** lexical states */
0047: final public static int COMMENT_STATE = 3;
0048: final public static int YYINITIAL = 0;
0049: final public static int MULTI_LINE_STRING_STATE = 2;
0050: final public static int STRING_STATE = 1;
0051:
0052: /**
0053: * Translates characters to character classes
0054: */
0055: final private static String yycmap_packed = "\11\0\1\0\1\2\1\0\1\0\1\1\22\0\1\0\1\56\1\61"
0056: + "\1\62\1\0\1\55\1\55\1\60\1\51\1\51\1\55\1\21\1\51"
0057: + "\1\21\1\17\1\55\1\6\1\15\2\14\4\14\2\7\1\4\1\0"
0058: + "\1\54\1\52\1\53\2\0\4\12\1\20\1\12\3\3\1\16\1\3"
0059: + "\1\10\1\3\1\50\3\3\1\57\5\3\1\11\2\3\1\51\1\63"
0060: + "\1\51\1\55\1\46\1\0\1\26\1\37\1\24\1\13\1\22\1\23"
0061: + "\1\5\1\42\1\32\1\16\1\47\1\25\1\36\1\33\1\40\1\30"
0062: + "\1\3\1\31\1\27\1\34\1\44\1\43\1\45\1\35\1\41\1\3"
0063: + "\1\51\1\55\1\51\1\55\uff81\0";
0064:
0065: /**
0066: * Translates characters to character classes
0067: */
0068: final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
0069:
0070: /**
0071: * Translates a state to a row index in the transition table
0072: */
0073: final private static int yy_rowMap[] = { 0, 52, 104, 156, 208, 260,
0074: 312, 208, 364, 416, 468, 520, 572, 208, 624, 676, 728, 780,
0075: 832, 884, 936, 988, 1040, 1092, 1144, 1196, 1248, 1300,
0076: 1352, 1404, 1456, 1508, 1560, 1612, 1664, 1716, 1612, 1768,
0077: 1820, 1872, 208, 1924, 1976, 1924, 2028, 208, 2080, 208,
0078: 2132, 2184, 2236, 2288, 208, 2340, 2392, 2444, 2496, 2548,
0079: 2600, 2652, 2704, 2756, 2808, 2860, 2912, 2964, 3016, 3068,
0080: 3120, 3172, 3224, 3276, 3328, 3380, 3432, 3484, 3536, 3588,
0081: 3640, 3692, 3744, 3796, 3848, 3900, 3952, 4004, 312, 312,
0082: 312, 4056, 4108, 4160, 4212, 4264, 4316, 4368, 4420, 4472,
0083: 4524, 4576, 4628, 4680, 4732, 4784, 4836, 4888, 4940, 4992,
0084: 208, 208, 208, 5044, 5096, 5148, 5200, 5252, 5304, 5356,
0085: 5408, 5460, 312, 5148, 5512, 5564, 5616, 5668, 5720, 5772,
0086: 5824, 5876, 5928, 5980, 6032, 6084, 6136, 6188, 6240, 6292,
0087: 6344, 6396, 6448, 6500, 6552, 6604, 6656, 6708, 6760, 6812,
0088: 6864, 6916, 6968, 7020, 7072, 7124, 7176, 7228, 7280, 7332,
0089: 7384, 7436, 7488, 7540, 7592, 7644, 7696, 7748, 7800, 7852,
0090: 7904, 7956, 8008, 8060, 312, 8112, 8164, 8216, 8268, 8320,
0091: 8372, 8424, 8476, 8528, 8580, 8632, 8684, 8736, 8788, 8840,
0092: 4628, 8892, 8944, 312, 8996, 9048, 208, 208, 9100, 9152,
0093: 9204, 9256, 9308, 9360, 9412, 9464, 9516, 9568, 9620, 9672,
0094: 9724, 9776, 3692, 9828, 9880, 9932, 9984, 208, 10036,
0095: 10088, 10140, 10192, 10244, 10296, 10348, 10400, 10452,
0096: 10504, 10556, 10608, 10660, 10712, 10764, 10816, 10868,
0097: 10920, 10972, 11024, 11076, 11128, 11180, 11232, 11284,
0098: 11336, 11388, 11440 };
0099:
0100: /**
0101: * The packed transition table of the DFA (part 0)
0102: */
0103: final private static String yy_packed0 = "\1\5\1\6\1\5\1\7\1\10\1\11\1\12\1\13"
0104: + "\3\7\1\14\2\13\1\7\1\15\1\7\1\16\1\17"
0105: + "\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27"
0106: + "\1\30\1\31\1\32\1\33\1\34\1\35\1\7\1\36"
0107: + "\1\37\1\7\1\40\2\7\1\41\1\10\1\42\1\43"
0108: + "\1\44\1\16\1\45\1\46\1\47\1\50\1\51\1\5"
0109: + "\1\52\1\53\1\54\60\52\1\5\63\55\1\5\1\56"
0110: + "\1\57\1\60\61\56\66\0\1\5\64\0\3\7\2\0"
0111: + "\4\7\2\0\1\7\1\0\1\7\1\0\27\7\6\0"
0112: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0113: + "\1\7\1\0\1\61\2\7\1\62\23\7\6\0\1\7"
0114: + "\12\0\1\63\1\64\1\65\1\66\2\0\1\67\1\70"
0115: + "\1\65\1\71\1\72\1\0\1\72\2\0\1\65\7\0"
0116: + "\1\66\34\0\2\13\1\65\3\0\2\13\1\65\1\71"
0117: + "\1\72\1\0\1\72\2\0\1\65\41\0\3\7\2\0"
0118: + "\4\7\2\0\1\7\1\0\1\7\1\0\1\73\7\7"
0119: + "\1\74\16\7\6\0\1\7\12\0\2\71\4\0\2\71"
0120: + "\51\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0121: + "\1\0\3\7\1\75\7\7\1\76\5\7\1\77\5\7"
0122: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0123: + "\1\0\1\7\1\0\3\7\1\100\3\7\1\101\1\102"
0124: + "\5\7\1\103\10\7\6\0\1\7\7\0\3\7\2\0"
0125: + "\4\7\2\0\1\7\1\0\1\7\1\0\3\7\1\104"
0126: + "\1\105\7\7\1\106\1\7\1\107\1\7\1\110\6\7"
0127: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0128: + "\1\0\1\7\1\0\1\111\3\7\1\112\11\7\1\113"
0129: + "\10\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0130: + "\1\7\1\0\1\7\1\0\2\7\1\114\2\7\1\115"
0131: + "\1\116\2\7\1\117\3\7\1\120\11\7\6\0\1\7"
0132: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0133: + "\1\0\1\61\11\7\1\110\14\7\6\0\1\7\7\0"
0134: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0135: + "\4\7\1\121\2\7\1\122\6\7\1\123\10\7\6\0"
0136: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0137: + "\1\7\1\0\1\124\3\7\1\125\11\7\1\126\10\7"
0138: + "\6\0\1\7\1\47\1\50\5\0\3\7\2\0\3\7"
0139: + "\1\127\2\0\1\7\1\0\1\7\1\0\1\7\1\130"
0140: + "\3\7\1\131\3\7\1\132\2\7\1\133\12\7\6\0"
0141: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0142: + "\1\7\1\0\16\7\1\134\10\7\6\0\1\7\7\0"
0143: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0144: + "\7\7\1\135\7\7\1\136\2\7\1\137\4\7\6\0"
0145: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0146: + "\1\7\1\0\7\7\1\140\17\7\6\0\1\7\7\0"
0147: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0148: + "\4\7\1\141\3\7\1\111\16\7\6\0\1\7\7\0"
0149: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0150: + "\7\7\1\142\17\7\6\0\1\7\7\0\3\7\2\0"
0151: + "\4\7\2\0\1\7\1\0\1\7\1\0\2\7\1\143"
0152: + "\3\7\1\144\1\145\17\7\6\0\1\7\7\0\3\7"
0153: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\1\146"
0154: + "\3\7\1\147\22\7\6\0\1\7\7\0\3\7\2\0"
0155: + "\4\7\2\0\1\7\1\0\1\7\1\0\4\7\1\150"
0156: + "\22\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0157: + "\1\7\1\0\1\7\1\0\20\7\1\151\6\7\6\0"
0158: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0159: + "\1\7\1\0\16\7\1\152\10\7\6\0\1\7\56\0"
0160: + "\1\16\63\0\2\16\62\0\3\16\12\0\3\7\2\0"
0161: + "\4\7\2\0\1\7\1\0\1\7\1\0\27\7\6\0"
0162: + "\1\7\1\47\1\50\62\0\1\153\64\0\1\154\62\0"
0163: + "\1\155\1\156\4\0\1\157\55\0\1\155\1\156\62\0"
0164: + "\1\160\1\161\4\0\1\60\64\0\3\7\2\0\4\7"
0165: + "\2\0\1\7\1\0\1\7\1\0\12\7\1\162\14\7"
0166: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0167: + "\1\0\1\7\1\0\16\7\1\163\10\7\6\0\1\7"
0168: + "\12\0\1\63\1\64\1\65\3\0\1\67\1\70\1\65"
0169: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\2\64"
0170: + "\4\0\2\64\1\65\1\71\1\72\1\0\1\72\47\0"
0171: + "\1\164\1\165\2\0\4\165\2\0\1\165\1\0\3\165"
0172: + "\1\0\1\165\10\0\1\165\32\0\1\166\1\64\1\65"
0173: + "\3\0\2\166\1\65\1\71\1\72\1\0\1\72\2\0"
0174: + "\1\65\44\0\1\67\1\64\1\65\3\0\2\67\1\65"
0175: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\2\71"
0176: + "\4\0\2\71\1\65\1\0\1\72\1\0\1\72\47\0"
0177: + "\2\167\4\0\2\167\3\0\1\170\45\0\3\7\2\0"
0178: + "\4\7\2\0\1\7\1\0\1\7\1\0\1\7\1\171"
0179: + "\1\7\1\172\23\7\6\0\1\7\7\0\3\7\2\0"
0180: + "\4\7\2\0\1\7\1\0\1\7\1\0\7\7\1\127"
0181: + "\11\7\1\173\5\7\6\0\1\7\7\0\3\7\2\0"
0182: + "\4\7\2\0\1\7\1\0\1\7\1\0\5\7\1\174"
0183: + "\2\7\1\175\16\7\6\0\1\7\7\0\3\7\2\0"
0184: + "\4\7\2\0\1\7\1\0\1\7\1\0\1\176\1\7"
0185: + "\1\177\24\7\6\0\1\7\7\0\3\7\2\0\4\7"
0186: + "\2\0\1\7\1\0\1\7\1\0\4\7\1\200\22\7"
0187: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0188: + "\1\0\1\7\1\0\16\7\1\201\10\7\6\0\1\7"
0189: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0190: + "\1\0\16\7\1\202\10\7\6\0\1\7\7\0\3\7"
0191: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\3\7"
0192: + "\1\203\5\7\1\204\15\7\6\0\1\7\7\0\3\7"
0193: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\7\7"
0194: + "\1\130\17\7\6\0\1\7\7\0\3\7\2\0\4\7"
0195: + "\2\0\1\7\1\0\1\7\1\0\4\7\1\205\22\7"
0196: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0197: + "\1\0\1\7\1\0\3\7\1\206\23\7\6\0\1\7"
0198: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0199: + "\1\0\6\7\1\127\20\7\6\0\1\7\7\0\3\7"
0200: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\1\207"
0201: + "\10\7\1\210\2\7\1\211\12\7\6\0\1\7\7\0"
0202: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0203: + "\7\7\1\127\17\7\6\0\1\7\7\0\3\7\2\0"
0204: + "\4\7\2\0\1\7\1\0\1\7\1\0\11\7\1\127"
0205: + "\15\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0206: + "\1\7\1\0\1\7\1\0\14\7\1\212\12\7\6\0"
0207: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0208: + "\1\7\1\0\2\7\1\213\6\7\1\214\15\7\6\0"
0209: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0210: + "\1\7\1\0\2\7\1\215\24\7\6\0\1\7\7\0"
0211: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0212: + "\5\7\1\216\21\7\6\0\1\7\7\0\3\7\2\0"
0213: + "\4\7\2\0\1\7\1\0\1\7\1\0\6\7\1\217"
0214: + "\20\7\6\0\1\7\7\0\3\7\2\0\3\7\1\131"
0215: + "\2\0\1\7\1\0\1\7\1\0\27\7\6\0\1\7"
0216: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0217: + "\1\0\5\7\1\127\21\7\6\0\1\7\7\0\3\7"
0218: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\5\7"
0219: + "\1\220\21\7\6\0\1\7\7\0\3\7\2\0\4\7"
0220: + "\2\0\1\7\1\0\1\7\1\0\10\7\1\221\16\7"
0221: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0222: + "\1\0\1\7\1\0\23\7\1\127\3\7\6\0\1\7"
0223: + "\7\0\3\7\2\0\3\7\1\222\2\0\1\7\1\0"
0224: + "\1\7\1\0\3\7\1\223\2\7\1\110\3\7\1\224"
0225: + "\14\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0226: + "\1\7\1\0\1\7\1\0\10\7\1\225\1\226\11\7"
0227: + "\1\227\3\7\6\0\1\7\7\0\3\7\2\0\4\7"
0228: + "\2\0\1\7\1\0\1\7\1\0\22\7\1\230\4\7"
0229: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0230: + "\1\0\1\7\1\0\6\7\1\231\3\7\1\127\14\7"
0231: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0232: + "\1\0\1\7\1\0\6\7\1\232\20\7\6\0\1\7"
0233: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0234: + "\1\0\12\7\1\131\14\7\6\0\1\7\7\0\3\7"
0235: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\17\7"
0236: + "\1\130\7\7\6\0\1\7\7\0\3\7\2\0\4\7"
0237: + "\2\0\1\7\1\0\1\7\1\0\6\7\1\233\20\7"
0238: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0239: + "\1\0\1\7\1\0\6\7\1\234\20\7\6\0\1\7"
0240: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0241: + "\1\0\4\7\1\235\22\7\6\0\1\7\7\0\3\7"
0242: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\6\7"
0243: + "\1\127\4\7\1\127\13\7\6\0\1\7\7\0\3\7"
0244: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\1\236"
0245: + "\26\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0246: + "\1\7\1\0\1\7\1\0\12\7\1\127\14\7\6\0"
0247: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0248: + "\1\7\1\0\1\111\26\7\6\0\1\7\7\0\3\7"
0249: + "\2\0\3\7\1\127\2\0\1\7\1\0\1\7\1\0"
0250: + "\27\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0251: + "\1\7\1\0\1\7\1\0\13\7\1\127\13\7\6\0"
0252: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0253: + "\1\7\1\0\5\7\1\237\21\7\6\0\1\7\7\0"
0254: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0255: + "\7\7\1\120\17\7\6\0\1\7\7\0\3\7\2\0"
0256: + "\4\7\2\0\1\7\1\0\1\7\1\0\10\7\1\240"
0257: + "\16\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0258: + "\1\7\1\0\1\7\1\0\11\7\1\241\15\7\6\0"
0259: + "\1\7\64\0\1\242\64\0\1\243\62\0\1\244\64\0"
0260: + "\1\245\5\0\3\7\2\0\4\7\2\0\1\7\1\0"
0261: + "\1\7\1\0\4\7\1\246\22\7\6\0\1\7\7\0"
0262: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0263: + "\15\7\1\247\11\7\6\0\1\7\12\0\1\164\1\165"
0264: + "\1\65\1\0\4\165\2\0\1\165\1\0\3\165\1\65"
0265: + "\1\165\10\0\1\165\32\0\2\250\1\65\1\0\4\250"
0266: + "\2\0\1\250\1\0\3\250\1\65\1\250\10\0\1\250"
0267: + "\32\0\1\251\1\64\1\65\3\0\2\251\1\65\1\71"
0268: + "\1\72\1\0\1\72\2\0\1\65\44\0\2\167\4\0"
0269: + "\2\167\1\65\53\0\2\167\4\0\2\167\51\0\3\7"
0270: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\14\7"
0271: + "\1\252\12\7\6\0\1\7\7\0\3\7\2\0\4\7"
0272: + "\2\0\1\7\1\0\1\7\1\0\1\130\26\7\6\0"
0273: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0274: + "\1\7\1\0\1\7\1\130\25\7\6\0\1\7\7\0"
0275: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0276: + "\2\7\1\253\24\7\6\0\1\7\7\0\3\7\2\0"
0277: + "\4\7\2\0\1\7\1\0\1\7\1\0\1\254\26\7"
0278: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0279: + "\1\0\1\7\1\0\3\7\1\127\23\7\6\0\1\7"
0280: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0281: + "\1\0\4\7\1\143\22\7\6\0\1\7\7\0\3\7"
0282: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\14\7"
0283: + "\1\255\12\7\6\0\1\7\7\0\3\7\2\0\4\7"
0284: + "\2\0\1\7\1\0\1\7\1\0\12\7\1\256\14\7"
0285: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0286: + "\1\0\1\7\1\0\4\7\1\257\22\7\6\0\1\7"
0287: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0288: + "\1\0\5\7\1\260\21\7\6\0\1\7\7\0\3\7"
0289: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\3\7"
0290: + "\1\261\23\7\6\0\1\7\7\0\3\7\2\0\4\7"
0291: + "\2\0\1\7\1\0\1\7\1\0\7\7\1\262\17\7"
0292: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0293: + "\1\0\1\7\1\0\12\7\1\263\14\7\6\0\1\7"
0294: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0295: + "\1\0\6\7\1\264\20\7\6\0\1\7\7\0\3\7"
0296: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\15\7"
0297: + "\1\265\11\7\6\0\1\7\7\0\3\7\2\0\4\7"
0298: + "\2\0\1\7\1\0\1\7\1\0\4\7\1\266\22\7"
0299: + "\6\0\1\7\7\0\2\7\1\127\2\0\4\7\2\0"
0300: + "\1\7\1\0\1\7\1\0\27\7\6\0\1\7\7\0"
0301: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0302: + "\1\205\26\7\6\0\1\7\7\0\3\7\2\0\4\7"
0303: + "\2\0\1\7\1\0\1\7\1\0\1\267\26\7\6\0"
0304: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0305: + "\1\7\1\0\3\7\1\270\23\7\6\0\1\7\7\0"
0306: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0307: + "\5\7\1\130\21\7\6\0\1\7\7\0\3\7\2\0"
0308: + "\4\7\2\0\1\7\1\0\1\7\1\0\11\7\1\271"
0309: + "\15\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0310: + "\1\7\1\0\1\7\1\0\22\7\1\262\4\7\6\0"
0311: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0312: + "\1\7\1\0\16\7\1\272\10\7\6\0\1\7\7\0"
0313: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0314: + "\22\7\1\273\4\7\6\0\1\7\7\0\3\7\2\0"
0315: + "\4\7\2\0\1\7\1\0\1\7\1\0\5\7\1\174"
0316: + "\21\7\6\0\1\7\7\0\2\7\1\233\2\0\4\7"
0317: + "\2\0\1\7\1\0\1\7\1\0\27\7\6\0\1\7"
0318: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0319: + "\1\0\24\7\1\274\2\7\6\0\1\7\7\0\3\7"
0320: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\11\7"
0321: + "\1\275\15\7\6\0\1\7\7\0\3\7\2\0\4\7"
0322: + "\2\0\1\7\1\0\1\7\1\0\22\7\1\143\4\7"
0323: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0324: + "\1\0\1\7\1\0\16\7\1\276\10\7\6\0\1\7"
0325: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0326: + "\1\0\1\127\26\7\6\0\1\7\7\0\3\7\2\0"
0327: + "\4\7\2\0\1\7\1\0\1\7\1\0\3\7\1\233"
0328: + "\23\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0329: + "\1\7\1\0\1\7\1\0\11\7\1\226\15\7\6\0"
0330: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0331: + "\1\7\1\0\4\7\1\277\22\7\6\0\1\7\7\0"
0332: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0333: + "\4\7\1\246\13\7\1\127\6\7\6\0\1\7\7\0"
0334: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0335: + "\3\7\1\174\23\7\6\0\1\7\7\0\3\7\2\0"
0336: + "\4\7\2\0\1\7\1\0\1\7\1\0\1\300\26\7"
0337: + "\6\0\1\7\64\0\1\301\64\0\1\302\62\0\1\303"
0338: + "\64\0\1\304\5\0\3\7\2\0\4\7\2\0\1\7"
0339: + "\1\0\1\7\1\0\12\7\1\305\14\7\6\0\1\7"
0340: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0341: + "\1\0\4\7\1\306\22\7\6\0\1\7\12\0\2\307"
0342: + "\1\65\1\0\4\307\2\0\1\307\1\0\3\307\1\65"
0343: + "\1\307\10\0\1\307\32\0\1\310\1\64\1\65\3\0"
0344: + "\2\310\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0345: + "\41\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0346: + "\1\0\16\7\1\275\10\7\6\0\1\7\7\0\3\7"
0347: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\1\7"
0348: + "\1\264\25\7\6\0\1\7\7\0\3\7\2\0\4\7"
0349: + "\2\0\1\7\1\0\1\7\1\0\6\7\1\311\20\7"
0350: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0351: + "\1\0\1\7\1\0\1\110\26\7\6\0\1\7\7\0"
0352: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0353: + "\3\7\1\312\23\7\6\0\1\7\7\0\3\7\2\0"
0354: + "\4\7\2\0\1\7\1\0\1\7\1\0\5\7\1\171"
0355: + "\21\7\6\0\1\7\7\0\3\7\2\0\4\7\2\0"
0356: + "\1\7\1\0\1\7\1\0\4\7\1\313\22\7\6\0"
0357: + "\1\7\7\0\3\7\2\0\4\7\2\0\1\7\1\0"
0358: + "\1\7\1\0\2\7\1\233\24\7\6\0\1\7\7\0"
0359: + "\3\7\2\0\4\7\2\0\1\7\1\0\1\7\1\0"
0360: + "\10\7\1\314\16\7\6\0\1\7\7\0\3\7\2\0"
0361: + "\4\7\2\0\1\7\1\0\1\7\1\0\10\7\1\234"
0362: + "\16\7\6\0\1\7\7\0\3\7\2\0\3\7\1\315"
0363: + "\2\0\1\7\1\0\1\7\1\0\27\7\6\0\1\7"
0364: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0365: + "\1\0\3\7\1\120\23\7\6\0\1\7\7\0\3\7"
0366: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\7\7"
0367: + "\1\271\17\7\6\0\1\7\7\0\3\7\2\0\4\7"
0368: + "\2\0\1\7\1\0\1\7\1\0\17\7\1\127\7\7"
0369: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0370: + "\1\0\1\7\1\0\12\7\1\171\14\7\6\0\1\7"
0371: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0372: + "\1\0\4\7\1\275\22\7\6\0\1\7\7\0\3\7"
0373: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\7\7"
0374: + "\1\316\17\7\6\0\1\7\7\0\3\7\2\0\4\7"
0375: + "\2\0\1\7\1\0\1\7\1\0\10\7\1\317\16\7"
0376: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0377: + "\1\0\1\7\1\0\7\7\1\320\17\7\6\0\1\7"
0378: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0379: + "\1\0\25\7\1\130\1\7\6\0\1\7\64\0\1\321"
0380: + "\64\0\1\322\5\0\3\7\2\0\4\7\2\0\1\7"
0381: + "\1\0\1\7\1\0\12\7\1\110\14\7\6\0\1\7"
0382: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0383: + "\1\0\3\7\1\323\23\7\6\0\1\7\12\0\2\324"
0384: + "\1\65\1\0\4\324\2\0\1\324\1\0\3\324\1\65"
0385: + "\1\324\10\0\1\324\32\0\1\325\1\64\1\65\3\0"
0386: + "\2\325\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0387: + "\41\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0388: + "\1\0\12\7\1\130\14\7\6\0\1\7\7\0\3\7"
0389: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\3\7"
0390: + "\1\135\23\7\6\0\1\7\7\0\3\7\2\0\4\7"
0391: + "\2\0\1\7\1\0\1\7\1\0\15\7\1\234\11\7"
0392: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0393: + "\1\0\1\7\1\0\11\7\1\326\15\7\6\0\1\7"
0394: + "\7\0\3\7\2\0\4\7\2\0\1\7\1\0\1\7"
0395: + "\1\0\4\7\1\171\22\7\6\0\1\7\7\0\3\7"
0396: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\11\7"
0397: + "\1\130\15\7\6\0\1\7\7\0\3\7\2\0\4\7"
0398: + "\2\0\1\7\1\0\1\7\1\0\11\7\1\327\15\7"
0399: + "\6\0\1\7\7\0\3\7\2\0\4\7\2\0\1\7"
0400: + "\1\0\1\7\1\0\12\7\1\255\14\7\6\0\1\7"
0401: + "\64\0\1\330\64\0\1\330\10\0\2\331\1\65\1\0"
0402: + "\4\331\2\0\1\331\1\0\3\331\1\65\1\331\10\0"
0403: + "\1\331\32\0\1\332\1\64\1\65\3\0\2\332\1\65"
0404: + "\1\71\1\72\1\0\1\72\2\0\1\65\41\0\3\7"
0405: + "\2\0\4\7\2\0\1\7\1\0\1\7\1\0\22\7"
0406: + "\1\174\4\7\6\0\1\7\7\0\3\7\2\0\4\7"
0407: + "\2\0\1\7\1\0\1\7\1\0\6\7\1\231\20\7"
0408: + "\6\0\1\7\12\0\2\333\1\65\1\0\4\333\2\0"
0409: + "\1\333\1\0\3\333\1\65\1\333\10\0\1\333\32\0"
0410: + "\1\334\1\64\1\65\3\0\2\334\1\65\1\71\1\72"
0411: + "\1\0\1\72\2\0\1\65\44\0\2\335\1\65\1\0"
0412: + "\4\335\2\0\1\335\1\0\3\335\1\65\1\335\10\0"
0413: + "\1\335\32\0\1\336\1\64\1\65\3\0\2\336\1\65"
0414: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\2\337"
0415: + "\1\65\1\0\4\337\2\0\1\337\1\0\3\337\1\65"
0416: + "\1\337\10\0\1\337\32\0\1\340\1\64\1\65\3\0"
0417: + "\2\340\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0418: + "\44\0\2\341\1\65\1\0\4\341\2\0\1\341\1\0"
0419: + "\3\341\1\65\1\341\10\0\1\341\32\0\1\342\1\64"
0420: + "\1\65\3\0\2\342\1\65\1\71\1\72\1\0\1\72"
0421: + "\2\0\1\65\44\0\2\343\1\65\1\0\4\343\2\0"
0422: + "\1\343\1\0\3\343\1\65\1\343\10\0\1\343\32\0"
0423: + "\1\344\1\64\1\65\3\0\2\344\1\65\1\71\1\72"
0424: + "\1\0\1\72\2\0\1\65\44\0\2\345\1\65\1\0"
0425: + "\4\345\2\0\1\345\1\0\3\345\1\65\1\345\10\0"
0426: + "\1\345\32\0\1\346\1\64\1\65\3\0\2\346\1\65"
0427: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\2\347"
0428: + "\1\65\1\0\4\347\2\0\1\347\1\0\3\347\1\65"
0429: + "\1\347\10\0\1\347\32\0\1\350\1\64\1\65\3\0"
0430: + "\2\350\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0431: + "\44\0\2\351\1\65\1\0\4\351\2\0\1\351\1\0"
0432: + "\3\351\1\65\1\351\10\0\1\351\32\0\1\352\1\64"
0433: + "\1\65\3\0\2\352\1\65\1\71\1\72\1\0\1\72"
0434: + "\2\0\1\65\44\0\2\353\1\65\1\0\4\353\2\0"
0435: + "\1\353\1\0\3\353\1\65\1\353\10\0\1\353\32\0"
0436: + "\1\354\1\64\1\65\3\0\2\354\1\65\1\71\1\72"
0437: + "\1\0\1\72\2\0\1\65\44\0\2\355\1\65\1\0"
0438: + "\4\355\2\0\1\355\1\0\3\355\1\65\1\355\10\0"
0439: + "\1\355\32\0\1\356\1\64\1\65\3\0\2\356\1\65"
0440: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\2\357"
0441: + "\1\65\1\0\4\357\2\0\1\357\1\0\3\357\1\65"
0442: + "\1\357\10\0\1\357\32\0\1\360\1\64\1\65\3\0"
0443: + "\2\360\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0444: + "\46\0\1\65\14\0\1\65\44\0\1\361\1\64\1\65"
0445: + "\3\0\2\361\1\65\1\71\1\72\1\0\1\72\2\0"
0446: + "\1\65\44\0\1\362\1\64\1\65\3\0\2\362\1\65"
0447: + "\1\71\1\72\1\0\1\72\2\0\1\65\44\0\1\363"
0448: + "\1\64\1\65\3\0\2\363\1\65\1\71\1\72\1\0"
0449: + "\1\72\2\0\1\65\44\0\1\364\1\64\1\65\3\0"
0450: + "\2\364\1\65\1\71\1\72\1\0\1\72\2\0\1\65"
0451: + "\44\0\2\64\1\65\3\0\2\64\1\65\1\71\1\72"
0452: + "\1\0\1\72\2\0\1\65\36\0";
0453:
0454: /**
0455: * The transition table of the DFA
0456: */
0457: final private static int yytrans[] = yy_unpack();
0458:
0459: /* error codes */
0460: final private static int YY_UNKNOWN_ERROR = 0;
0461: final private static int YY_ILLEGAL_STATE = 1;
0462: final private static int YY_NO_MATCH = 2;
0463: final private static int YY_PUSHBACK_2BIG = 3;
0464:
0465: /* error messages for the codes above */
0466: final private static String YY_ERROR_MSG[] = {
0467: "Unkown internal scanner error",
0468: "Internal error: unknown state",
0469: "Error: could not match input",
0470: "Error: pushback value was too large" };
0471:
0472: /**
0473: * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
0474: */
0475: private final static byte YY_ATTRIBUTE[] = { 0, 0, 0, 0, 9, 1, 1,
0476: 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0477: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 9, 1,
0478: 9, 1, 1, 1, 1, 9, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0479: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0480: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0481: 1, 9, 9, 9, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
0482: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0483: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1,
0484: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0485: 1, 1, 1, 1, 1, 0, 0, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0486: 1, 0, 0, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
0487: 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1 };
0488:
0489: /** the input device */
0490: private java.io.Reader yy_reader;
0491:
0492: /** the current state of the DFA */
0493: private int yy_state;
0494:
0495: /** the current lexical state */
0496: private int yy_lexical_state = YYINITIAL;
0497:
0498: /** this buffer contains the current text to be matched and is
0499: the source of the yytext() string */
0500: private char yy_buffer[] = new char[YY_BUFFERSIZE];
0501:
0502: /** the textposition at the last accepting state */
0503: private int yy_markedPos;
0504:
0505: /** the textposition at the last state to be included in yytext */
0506: private int yy_pushbackPos;
0507:
0508: /** the current text position in the buffer */
0509: private int yy_currentPos;
0510:
0511: /** startRead marks the beginning of the yytext() string in the buffer */
0512: private int yy_startRead;
0513:
0514: /** endRead marks the last character in the buffer, that has been read
0515: from input */
0516: private int yy_endRead;
0517:
0518: /** number of newlines encountered up to the start of the matched text */
0519: private int yyline;
0520:
0521: /** the number of characters up to the start of the matched text */
0522: private int yychar;
0523:
0524: /**
0525: * the number of characters from the last newline up to the start of the
0526: * matched text
0527: */
0528: private int yycolumn;
0529:
0530: /**
0531: * yy_atBOL == true <=> the scanner is currently at the beginning of a line
0532: */
0533: private boolean yy_atBOL = true;
0534:
0535: /** yy_atEOF == true <=> the scanner is at the EOF */
0536: private boolean yy_atEOF;
0537:
0538: /* user code: */
0539: private String quote;
0540:
0541: public void scan() throws IOException {
0542: while (!yy_atEOF) {
0543: yylex();
0544: }
0545: }
0546:
0547: private int applyStyle(int type) {
0548: return applyStyle(type, yychar, yylength());
0549: }
0550:
0551: /**
0552: * Creates a new scanner
0553: * There is also a java.io.InputStream version of this constructor.
0554: *
0555: * @param in the java.io.Reader to read input from.
0556: */
0557: public PythonFlexScanner(java.io.Reader in) {
0558: this .yy_reader = in;
0559: }
0560:
0561: /**
0562: * Creates a new scanner.
0563: * There is also java.io.Reader version of this constructor.
0564: *
0565: * @param in the java.io.Inputstream to read input from.
0566: */
0567: public PythonFlexScanner(java.io.InputStream in) {
0568: this (new java.io.InputStreamReader(in));
0569: }
0570:
0571: /**
0572: * Unpacks the split, compressed DFA transition table.
0573: *
0574: * @return the unpacked transition table
0575: */
0576: private static int[] yy_unpack() {
0577: int[] trans = new int[11492];
0578: int offset = 0;
0579: offset = yy_unpack(yy_packed0, offset, trans);
0580: return trans;
0581: }
0582:
0583: /**
0584: * Unpacks the compressed DFA transition table.
0585: *
0586: * @param packed the packed transition table
0587: * @return the index of the last entry
0588: */
0589: private static int yy_unpack(String packed, int offset, int[] trans) {
0590: int i = 0; /* index in packed string */
0591: int j = offset; /* index in unpacked array */
0592: int l = packed.length();
0593: while (i < l) {
0594: int count = packed.charAt(i++);
0595: int value = packed.charAt(i++);
0596: value--;
0597: do
0598: trans[j++] = value;
0599: while (--count > 0);
0600: }
0601: return j;
0602: }
0603:
0604: /**
0605: * Unpacks the compressed character translation table.
0606: *
0607: * @param packed the packed character translation table
0608: * @return the unpacked character translation table
0609: */
0610: private static char[] yy_unpack_cmap(String packed) {
0611: char[] map = new char[0x10000];
0612: int i = 0; /* index in packed string */
0613: int j = 0; /* index in unpacked array */
0614: while (i < 170) {
0615: int count = packed.charAt(i++);
0616: char value = packed.charAt(i++);
0617: do
0618: map[j++] = value;
0619: while (--count > 0);
0620: }
0621: return map;
0622: }
0623:
0624: /**
0625: * Gets the next input character.
0626: *
0627: * @return the next character of the input stream, EOF if the
0628: * end of the stream is reached.
0629: * @exception IOException if any I/O-Error occurs
0630: */
0631: private int yy_advance() throws java.io.IOException {
0632:
0633: /* standard case */
0634: if (yy_currentPos < yy_endRead)
0635: return yy_buffer[yy_currentPos++];
0636:
0637: /* if the eof is reached, we don't need to work hard */
0638: if (yy_atEOF)
0639: return YYEOF;
0640:
0641: /* otherwise: need to refill the buffer */
0642:
0643: /* first: make room (if you can) */
0644: if (yy_startRead > 0) {
0645: System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0,
0646: yy_endRead - yy_startRead);
0647:
0648: /* translate stored positions */
0649: yy_endRead -= yy_startRead;
0650: yy_currentPos -= yy_startRead;
0651: yy_markedPos -= yy_startRead;
0652: yy_pushbackPos -= yy_startRead;
0653: yy_startRead = 0;
0654: }
0655:
0656: /* is the buffer big enough? */
0657: if (yy_currentPos >= yy_buffer.length) {
0658: /* if not: blow it up */
0659: char newBuffer[] = new char[yy_currentPos * 2];
0660: System.arraycopy(yy_buffer, 0, newBuffer, 0,
0661: yy_buffer.length);
0662: yy_buffer = newBuffer;
0663: }
0664:
0665: /* finally: fill the buffer with new input */
0666: int numRead = yy_reader.read(yy_buffer, yy_endRead,
0667: yy_buffer.length - yy_endRead);
0668:
0669: if (numRead == -1)
0670: return YYEOF;
0671:
0672: yy_endRead += numRead;
0673:
0674: return yy_buffer[yy_currentPos++];
0675: }
0676:
0677: /**
0678: * Closes the input stream.
0679: */
0680: final public void yyclose() throws java.io.IOException {
0681: yy_atEOF = true; /* indicate end of file */
0682: yy_endRead = yy_startRead; /* invalidate buffer */
0683:
0684: if (yy_reader != null)
0685: yy_reader.close();
0686: }
0687:
0688: /**
0689: * Closes the current stream, and resets the
0690: * scanner to read from a new input stream.
0691: *
0692: * All internal variables are reset, the old input stream
0693: * <b>cannot</b> be reused (internal buffer is discarded and lost).
0694: * Lexical state is set to <tt>YY_INITIAL</tt>.
0695: *
0696: * @param reader the new input stream
0697: */
0698: final public void yyreset(java.io.Reader reader)
0699: throws java.io.IOException {
0700: yyclose();
0701: yy_reader = reader;
0702: yy_atBOL = true;
0703: yy_atEOF = false;
0704: yy_endRead = yy_startRead = 0;
0705: yy_currentPos = yy_markedPos = yy_pushbackPos = 0;
0706: yyline = yychar = yycolumn = 0;
0707: yy_lexical_state = YYINITIAL;
0708: }
0709:
0710: /**
0711: * Returns the current lexical state.
0712: */
0713: final public int yystate() {
0714: return yy_lexical_state;
0715: }
0716:
0717: /**
0718: * Enters a new lexical state
0719: *
0720: * @param newState the new lexical state
0721: */
0722: final public void yybegin(int newState) {
0723: yy_lexical_state = newState;
0724: }
0725:
0726: /**
0727: * Returns the text matched by the current regular expression.
0728: */
0729: final public String yytext() {
0730: return new String(yy_buffer, yy_startRead, yy_markedPos
0731: - yy_startRead);
0732: }
0733:
0734: /**
0735: * Returns the character at position <tt>pos</tt> from the
0736: * matched text.
0737: *
0738: * It is equivalent to yytext().charAt(pos), but faster
0739: *
0740: * @param pos the position of the character to fetch.
0741: * A value from 0 to yylength()-1.
0742: *
0743: * @return the character at position pos
0744: */
0745: final public char yycharat(int pos) {
0746: return yy_buffer[yy_startRead + pos];
0747: }
0748:
0749: /**
0750: * Returns the length of the matched text region.
0751: */
0752: final public int yylength() {
0753: return yy_markedPos - yy_startRead;
0754: }
0755:
0756: /**
0757: * Reports an error that occured while scanning.
0758: *
0759: * In a wellformed scanner (no or only correct usage of
0760: * yypushback(int) and a match-all fallback rule) this method
0761: * will only be called with things that "Can't Possibly Happen".
0762: * If this method is called, something is seriously wrong
0763: * (e.g. a JFlex bug producing a faulty scanner etc.).
0764: *
0765: * Usual syntax/scanner level error handling should be done
0766: * in error fallback rules.
0767: *
0768: * @param errorCode the code of the errormessage to display
0769: */
0770: private void yy_ScanError(int errorCode) {
0771: String message;
0772: try {
0773: message = YY_ERROR_MSG[errorCode];
0774: } catch (ArrayIndexOutOfBoundsException e) {
0775: message = YY_ERROR_MSG[YY_UNKNOWN_ERROR];
0776: }
0777:
0778: throw new Error(message);
0779: }
0780:
0781: /**
0782: * Pushes the specified amount of characters back into the input stream.
0783: *
0784: * They will be read again by then next call of the scanning method
0785: *
0786: * @param number the number of characters to be read again.
0787: * This number must not be greater than yylength()!
0788: */
0789: private void yypushback(int number) {
0790: if (number > yylength())
0791: yy_ScanError(YY_PUSHBACK_2BIG);
0792:
0793: yy_markedPos -= number;
0794: }
0795:
0796: /**
0797: * Resumes scanning until the next regular expression is matched,
0798: * the end of input is encountered or an I/O-Error occurs.
0799: *
0800: * @return the next token
0801: * @exception IOException if any I/O-Error occurs
0802: */
0803: public int yylex() throws java.io.IOException {
0804: int yy_input;
0805: int yy_action;
0806:
0807: while (true) {
0808:
0809: yychar += yylength();
0810:
0811: yy_action = -1;
0812:
0813: yy_currentPos = yy_startRead = yy_markedPos;
0814:
0815: yy_state = yy_lexical_state;
0816:
0817: yy_forAction: {
0818: while (true) {
0819:
0820: yy_input = yy_advance();
0821:
0822: if (yy_input == YYEOF)
0823: break yy_forAction;
0824:
0825: int yy_next = yytrans[yy_rowMap[yy_state]
0826: + yycmap[yy_input]];
0827: if (yy_next == -1)
0828: break yy_forAction;
0829: yy_state = yy_next;
0830:
0831: int yy_attributes = YY_ATTRIBUTE[yy_state];
0832: if ((yy_attributes & 1) > 0) {
0833: yy_action = yy_state;
0834: yy_markedPos = yy_currentPos;
0835: if ((yy_attributes & 8) > 0)
0836: break yy_forAction;
0837: }
0838:
0839: }
0840: }
0841:
0842: switch (yy_action) {
0843:
0844: case 5: {
0845: return applyStyle(SyntaxStyle.DEFAULT);
0846: }
0847: case 245:
0848: break;
0849: case 195: {
0850: if (quote.equals("\"\"\"")
0851: || (quote.length() == 4 && quote.substring(1)
0852: .equals("\"\"\""))) {
0853: yybegin(YYINITIAL);
0854: return applyStyle(SyntaxStyle.LITERAL3, spanStart,
0855: yylength() + yychar - spanStart);
0856: }
0857:
0858: }
0859: case 246:
0860: break;
0861: case 194: {
0862: if (quote.equals("'''")
0863: || (quote.length() == 4 && quote.substring(1)
0864: .equals("'''"))) {
0865: yybegin(YYINITIAL);
0866: return applyStyle(SyntaxStyle.LITERAL3, spanStart,
0867: yylength() + yychar - spanStart);
0868: }
0869:
0870: }
0871: case 247:
0872: break;
0873: case 191: {
0874: return applyStyle(SyntaxStyle.LITERAL4);
0875: }
0876: case 248:
0877: break;
0878: case 172: {
0879: return applyStyle(SyntaxStyle.INCLUDE);
0880: }
0881: case 249:
0882: break;
0883: case 161:
0884: case 162: {
0885: yybegin(MULTI_LINE_STRING_STATE);
0886: spanStart = yychar;
0887: quote = yytext();
0888: return applyStyle(SyntaxStyle.LITERAL1);
0889: }
0890: case 250:
0891: break;
0892: case 40: {
0893: yybegin(COMMENT_STATE);
0894: spanStart = yychar;
0895: return applyStyle(SyntaxStyle.COMMENT1);
0896: }
0897: case 251:
0898: break;
0899: case 38:
0900: case 39: {
0901: yybegin(STRING_STATE);
0902: spanStart = yychar;
0903: quote = yytext();
0904: return applyStyle(SyntaxStyle.LITERAL1);
0905: }
0906: case 252:
0907: break;
0908: case 13:
0909: case 33:
0910: case 34:
0911: case 35:
0912: case 88:
0913: case 89:
0914: case 100: {
0915: return applyStyle(SyntaxStyle.OPERATOR);
0916: }
0917: case 253:
0918: break;
0919: case 9:
0920: case 10:
0921: case 50:
0922: case 51:
0923: case 52:
0924: case 54:
0925: case 55:
0926: case 56:
0927: case 115:
0928: case 116:
0929: case 117:
0930: case 118:
0931: case 167:
0932: case 168:
0933: case 198:
0934: case 199:
0935: case 211:
0936: case 212:
0937: case 216:
0938: case 217:
0939: case 218:
0940: case 219:
0941: case 220:
0942: case 221:
0943: case 222:
0944: case 223:
0945: case 225:
0946: case 227:
0947: case 229:
0948: case 231:
0949: case 233:
0950: case 235:
0951: case 237:
0952: case 239:
0953: case 240:
0954: case 241:
0955: case 242:
0956: case 243: {
0957: return applyStyle(SyntaxStyle.LITERAL2);
0958: }
0959: case 254:
0960: break;
0961: case 7:
0962: case 12: {
0963: return applyStyle(SyntaxStyle.SEPARATOR1);
0964: }
0965: case 255:
0966: break;
0967: case 6:
0968: case 8:
0969: case 11:
0970: case 14:
0971: case 15:
0972: case 16:
0973: case 17:
0974: case 18:
0975: case 19:
0976: case 20:
0977: case 21:
0978: case 22:
0979: case 23:
0980: case 24:
0981: case 25:
0982: case 26:
0983: case 27:
0984: case 28:
0985: case 29:
0986: case 30:
0987: case 31:
0988: case 32:
0989: case 37:
0990: case 48:
0991: case 49:
0992: case 58:
0993: case 59:
0994: case 60:
0995: case 61:
0996: case 62:
0997: case 63:
0998: case 64:
0999: case 65:
1000: case 66:
1001: case 67:
1002: case 68:
1003: case 69:
1004: case 70:
1005: case 71:
1006: case 72:
1007: case 73:
1008: case 74:
1009: case 75:
1010: case 76:
1011: case 77:
1012: case 78:
1013: case 79:
1014: case 80:
1015: case 81:
1016: case 82:
1017: case 83:
1018: case 84:
1019: case 85:
1020: case 90:
1021: case 91:
1022: case 92:
1023: case 93:
1024: case 94:
1025: case 95:
1026: case 96:
1027: case 97:
1028: case 98:
1029: case 99:
1030: case 101:
1031: case 102:
1032: case 103:
1033: case 104:
1034: case 105:
1035: case 113:
1036: case 114:
1037: case 122:
1038: case 123:
1039: case 124:
1040: case 125:
1041: case 126:
1042: case 127:
1043: case 128:
1044: case 129:
1045: case 130:
1046: case 131:
1047: case 132:
1048: case 133:
1049: case 134:
1050: case 135:
1051: case 136:
1052: case 137:
1053: case 138:
1054: case 139:
1055: case 140:
1056: case 141:
1057: case 142:
1058: case 143:
1059: case 144:
1060: case 145:
1061: case 146:
1062: case 147:
1063: case 148:
1064: case 149:
1065: case 150:
1066: case 151:
1067: case 152:
1068: case 153:
1069: case 154:
1070: case 155:
1071: case 156:
1072: case 157:
1073: case 158:
1074: case 159:
1075: case 160:
1076: case 165:
1077: case 166:
1078: case 169:
1079: case 171:
1080: case 173:
1081: case 174:
1082: case 175:
1083: case 176:
1084: case 177:
1085: case 178:
1086: case 179:
1087: case 180:
1088: case 181:
1089: case 182:
1090: case 183:
1091: case 184:
1092: case 185:
1093: case 186:
1094: case 187:
1095: case 188:
1096: case 189:
1097: case 190:
1098: case 196:
1099: case 197:
1100: case 200:
1101: case 201:
1102: case 202:
1103: case 203:
1104: case 204:
1105: case 205:
1106: case 206:
1107: case 207:
1108: case 213:
1109: case 214: {
1110: return applyStyle(SyntaxStyle.IDENTIFIER1);
1111: }
1112: case 256:
1113: break;
1114: case 4:
1115: case 36:
1116: case 41:
1117: case 44: {
1118: return applyStyle(SyntaxStyle.DEFAULT);
1119: }
1120: case 257:
1121: break;
1122: case 42:
1123: case 43:
1124: case 110: {
1125: yybegin(YYINITIAL);
1126: return applyStyle(SyntaxStyle.ERROR, spanStart,
1127: yylength() + yychar - spanStart);
1128: }
1129: case 258:
1130: break;
1131: case 45: {
1132: applyStyle(SyntaxStyle.COMMENT1);
1133: }
1134: case 259:
1135: break;
1136: case 46:
1137: case 47: {
1138: yybegin(YYINITIAL);
1139: return applyStyle(SyntaxStyle.COMMENT1, spanStart,
1140: yylength() + yychar - spanStart);
1141: }
1142: case 260:
1143: break;
1144: case 86: {
1145: return applyStyle(SyntaxStyle.KEYWORD2);
1146: }
1147: case 261:
1148: break;
1149: case 87: {
1150: return applyStyle(SyntaxStyle.KEYWORD3);
1151: }
1152: case 262:
1153: break;
1154: case 106:
1155: case 107:
1156: case 215: {
1157: return applyStyle(SyntaxStyle.LITERAL1);
1158: }
1159: case 263:
1160: break;
1161: case 108: {
1162:
1163: if (quote.equals("'")
1164: || (quote.length() == 2 && quote.substring(1)
1165: .equals("'"))) {
1166: yybegin(YYINITIAL);
1167: return applyStyle(SyntaxStyle.LITERAL1, spanStart,
1168: yylength() + yychar - spanStart);
1169: }
1170: }
1171: case 264:
1172: break;
1173: case 109: {
1174: if (quote.equals("\"")
1175: || (quote.length() == 2 && quote.substring(1)
1176: .equals("\""))) {
1177: yybegin(YYINITIAL);
1178: return applyStyle(SyntaxStyle.LITERAL1, spanStart,
1179: yylength() + yychar - spanStart);
1180: }
1181: }
1182: case 265:
1183: break;
1184: case 120:
1185: case 121:
1186: case 170:
1187: case 210: {
1188: return applyStyle(SyntaxStyle.KEYWORD1);
1189: }
1190: case 266:
1191: break;
1192: default:
1193: if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
1194: yy_atEOF = true;
1195: {
1196: return -1;
1197: }
1198: } else {
1199: yy_ScanError(YY_NO_MATCH);
1200: }
1201: }
1202: }
1203: }
1204:
1205: }
|