0001: /* The following code was generated by JFlex 1.3.5 on 13-9-06 0:53 */
0002:
0003: package vqwiki.lex;
0004:
0005: /*
0006: Very Quick Wiki - WikiWikiWeb clone
0007: Copyright (C) 2001-2003 Gareth Cronin
0008:
0009: This program is free software; you can redistribute it and/or modify
0010: it under the terms of the GNU Lesser General Public License as published by
0011: the Free Software Foundation; either version 2 of the License, or
0012: (at your option) any later version.
0013:
0014: This program 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
0017: GNU General Public License for more details.
0018:
0019: You should have received a copy of the GNU Lesser General Public License
0020: along with this program (gpl.txt); if not, write to the Free Software
0021: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
0022: */
0023:
0024: import java.io.*;
0025: import java.util.List;
0026: import java.util.ArrayList;
0027:
0028: import org.apache.log4j.Logger;
0029: import vqwiki.lex.Lexer;
0030: import vqwiki.Environment;
0031: import vqwiki.WikiBase;
0032: import vqwiki.utils.Utilities;
0033: import vqwiki.utils.JSPUtils;
0034:
0035: /**
0036: * This class is a scanner generated by
0037: * <a href="http://www.jflex.de/">JFlex</a> 1.3.5
0038: * on 13-9-06 0:53 from the specification file
0039: * <tt>file:/C:/SourceForge/VQWiki_2X/vqwiki-classic/jflex/backlinks.jflex</tt>
0040: */
0041: public class BackLinkLex implements vqwiki.lex.Lexer {
0042:
0043: /** This character denotes the end of file */
0044: final public static int YYEOF = -1;
0045:
0046: /** initial size of the lookahead buffer */
0047: final private static int YY_BUFFERSIZE = 16384;
0048:
0049: /** lexical states */
0050: final public static int YYINITIAL = 0;
0051: final public static int EXTERNAL = 4;
0052: final public static int PRE = 3;
0053: final public static int OFF = 2;
0054: final public static int NORMAL = 1;
0055:
0056: /**
0057: * Translates characters to character classes
0058: */
0059: final private static String yycmap_packed = "\11\0\1\3\1\56\2\0\1\3\22\0\1\1\1\0\1\55\13\0"
0060: + "\1\31\1\53\12\46\1\30\1\0\1\50\1\0\1\27\2\0\1\51"
0061: + "\1\44\2\51\1\42\1\36\1\34\1\51\1\35\1\37\2\51\1\45"
0062: + "\1\41\1\51\1\40\12\51\1\10\1\57\1\4\1\0\1\47\1\2"
0063: + "\1\17\1\43\1\54\1\52\1\24\1\15\1\32\1\12\1\20\1\33"
0064: + "\1\52\1\21\1\16\1\23\1\22\1\14\1\52\1\60\1\26\1\13"
0065: + "\2\52\1\25\3\52\1\0\1\11\55\0\1\6\12\0\1\6\4\0"
0066: + "\1\6\5\0\27\5\1\0\7\5\30\6\1\0\10\6\1\5\1\6"
0067: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0068: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0069: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0070: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0071: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0072: + "\1\5\1\6\1\5\2\6\1\5\1\6\1\5\1\6\1\5\1\6"
0073: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\2\6"
0074: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0075: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0076: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0077: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0078: + "\1\5\1\6\1\5\1\6\1\5\1\6\2\5\1\6\1\5\1\6"
0079: + "\1\5\3\6\2\5\1\6\1\5\1\6\2\5\1\6\3\5\2\6"
0080: + "\4\5\1\6\2\5\1\6\3\5\3\6\2\5\1\6\2\5\1\6"
0081: + "\1\5\1\6\1\5\1\6\2\5\1\6\1\5\2\6\1\5\1\6"
0082: + "\2\5\1\6\3\5\1\6\1\5\1\6\2\5\2\6\1\7\1\5"
0083: + "\3\6\4\7\1\5\1\7\1\6\1\5\1\7\1\6\1\5\1\7"
0084: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0085: + "\1\6\1\5\1\6\1\5\1\6\1\5\2\6\1\5\1\6\1\5"
0086: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0087: + "\1\6\1\5\1\6\1\5\2\6\1\5\1\7\1\6\1\5\1\6"
0088: + "\3\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0089: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0090: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0091: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0092: + "\2\0\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0093: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\34\0"
0094: + "\136\6\2\0\11\7\2\0\7\7\16\0\2\7\16\0\5\7\11\0"
0095: + "\1\7\213\0\1\7\13\0\1\5\1\0\3\5\1\0\1\5\1\0"
0096: + "\2\5\1\6\21\5\1\0\11\5\43\6\1\0\2\6\3\5\3\6"
0097: + "\2\0\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0098: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0099: + "\1\6\1\5\5\6\14\0\60\5\60\6\1\5\1\6\1\5\1\6"
0100: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0101: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0102: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0103: + "\12\0\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0104: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0105: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0106: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0107: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0108: + "\1\6\1\5\1\6\2\5\1\6\1\5\1\6\2\0\1\5\1\6"
0109: + "\2\0\1\5\1\6\3\0\1\5\1\6\1\5\1\6\1\5\1\6"
0110: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0111: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0112: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0113: + "\1\5\1\6\2\0\1\5\1\6\67\0\46\5\2\0\1\7\7\0"
0114: + "\47\6\110\0\33\7\5\0\3\7\56\0\32\7\5\0\13\7\25\0"
0115: + "\12\46\7\0\143\7\1\0\1\7\17\0\2\7\11\0\12\46\3\7"
0116: + "\23\0\1\7\1\0\33\7\123\0\46\7\u015f\0\65\7\3\0\1\7"
0117: + "\22\0\1\7\7\0\12\7\4\0\12\46\25\0\10\7\2\0\2\7"
0118: + "\2\0\26\7\1\0\7\7\1\0\1\7\3\0\4\7\42\0\2\7"
0119: + "\1\0\3\7\4\0\12\46\2\7\23\0\6\7\4\0\2\7\2\0"
0120: + "\26\7\1\0\7\7\1\0\2\7\1\0\2\7\1\0\2\7\37\0"
0121: + "\4\7\1\0\1\7\7\0\12\46\2\0\3\7\20\0\7\7\1\0"
0122: + "\1\7\1\0\3\7\1\0\26\7\1\0\7\7\1\0\2\7\1\0"
0123: + "\5\7\3\0\1\7\22\0\1\7\17\0\1\7\5\0\12\46\25\0"
0124: + "\10\7\2\0\2\7\2\0\26\7\1\0\7\7\1\0\2\7\2\0"
0125: + "\4\7\3\0\1\7\36\0\2\7\1\0\3\7\4\0\12\46\25\0"
0126: + "\6\7\3\0\3\7\1\0\4\7\3\0\2\7\1\0\1\7\1\0"
0127: + "\2\7\3\0\2\7\3\0\3\7\3\0\10\7\1\0\3\7\55\0"
0128: + "\11\46\25\0\10\7\1\0\3\7\1\0\27\7\1\0\12\7\1\0"
0129: + "\5\7\46\0\2\7\4\0\12\46\25\0\10\7\1\0\3\7\1\0"
0130: + "\27\7\1\0\12\7\1\0\5\7\44\0\1\7\1\0\2\7\4\0"
0131: + "\12\46\25\0\10\7\1\0\3\7\1\0\27\7\1\0\20\7\46\0"
0132: + "\2\7\4\0\12\46\25\0\22\7\3\0\30\7\1\0\11\7\1\0"
0133: + "\1\7\2\0\7\7\72\0\60\7\1\0\2\7\14\0\7\7\11\0"
0134: + "\12\46\47\0\2\7\1\0\1\7\2\0\2\7\1\0\1\7\2\0"
0135: + "\1\7\6\0\4\7\1\0\7\7\1\0\3\7\1\0\1\7\1\0"
0136: + "\1\7\2\0\2\7\1\0\4\7\1\0\2\7\11\0\1\7\2\0"
0137: + "\5\7\1\0\1\7\11\0\12\46\2\0\2\7\42\0\1\7\37\0"
0138: + "\12\46\26\0\10\7\1\0\42\7\35\0\4\7\164\0\42\7\1\0"
0139: + "\5\7\1\0\2\7\25\0\12\46\6\0\6\7\112\0\46\5\12\0"
0140: + "\47\7\11\0\132\7\5\0\104\7\5\0\122\7\6\0\7\7\1\0"
0141: + "\77\7\1\0\1\7\1\0\4\7\2\0\7\7\1\0\1\7\1\0"
0142: + "\4\7\2\0\47\7\1\0\1\7\1\0\4\7\2\0\37\7\1\0"
0143: + "\1\7\1\0\4\7\2\0\7\7\1\0\1\7\1\0\4\7\2\0"
0144: + "\7\7\1\0\7\7\1\0\27\7\1\0\37\7\1\0\1\7\1\0"
0145: + "\4\7\2\0\7\7\1\0\47\7\1\0\23\7\16\0\11\46\56\0"
0146: + "\125\7\14\0\u026c\7\2\0\10\7\12\0\32\7\5\0\113\7\225\0"
0147: + "\64\7\54\0\12\46\46\0\12\46\6\0\130\7\10\0\51\7\u0557\0"
0148: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0149: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0150: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0151: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0152: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0153: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0154: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0155: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0156: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0157: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0158: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0159: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0160: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0161: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6"
0162: + "\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\7\6"
0163: + "\4\0\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0164: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0165: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0166: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0167: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0168: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0169: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0170: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0171: + "\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5\1\6\1\5"
0172: + "\1\6\6\0\10\6\10\5\6\6\2\0\6\5\2\0\10\6\10\5"
0173: + "\10\6\10\5\6\6\2\0\6\5\2\0\10\6\1\0\1\5\1\0"
0174: + "\1\5\1\0\1\5\1\0\1\5\10\6\10\5\16\6\2\0\10\6"
0175: + "\10\7\10\6\10\7\10\6\10\7\5\6\1\0\2\6\4\5\1\7"
0176: + "\1\0\1\6\3\0\3\6\1\0\2\6\4\5\1\7\3\0\4\6"
0177: + "\2\0\2\6\4\5\4\0\10\6\5\5\5\0\3\6\1\0\2\6"
0178: + "\4\5\1\7\202\0\1\6\202\0\1\5\4\0\1\5\2\0\1\6"
0179: + "\3\5\2\6\3\5\1\6\1\0\1\5\3\0\5\5\6\0\1\5"
0180: + "\1\0\1\5\1\0\1\5\1\0\4\5\1\0\1\6\2\5\1\0"
0181: + "\1\5\1\6\4\7\1\6\u0ecb\0\2\7\52\0\5\7\13\0\124\7"
0182: + "\10\0\2\7\2\0\132\7\1\0\3\7\6\0\50\7\4\0\136\7"
0183: + "\21\0\30\7\u0248\0\u19b6\7\112\0\u51a6\7\132\0\u048d\7\u0773\0\u2ba4\7"
0184: + "\u215c\0\u012e\7\322\0\7\6\14\0\5\6\5\0\1\7\1\0\12\7"
0185: + "\1\0\15\7\1\0\5\7\1\0\1\7\1\0\2\7\1\0\2\7"
0186: + "\1\0\154\7\41\0\u016b\7\22\0\100\7\2\0\66\7\50\0\14\7"
0187: + "\164\0\3\7\1\0\1\7\1\0\207\7\23\0\12\46\7\0\32\5"
0188: + "\6\0\32\6\13\0\131\7\3\0\6\7\2\0\6\7\2\0\6\7"
0189: + "\2\0\3\7\43\0";
0190:
0191: /**
0192: * Translates characters to character classes
0193: */
0194: final private static char[] yycmap = yy_unpack_cmap(yycmap_packed);
0195:
0196: /**
0197: * Translates a state to a row index in the transition table
0198: */
0199: final private static int yy_rowMap[] = { 0, 49, 98, 147, 196, 0, 0,
0200: 245, 294, 343, 392, 441, 490, 539, 588, 637, 686, 735, 784,
0201: 833, 882, 931, 980, 1029, 1078, 294, 1127, 343, 1176, 1225,
0202: 1274, 1323, 1372, 1421, 1470, 1519, 1568, 1617, 1666, 1715,
0203: 1764, 1813, 1862, 1911, 0, 1960, 2009, 0, 2058, 2107, 2156,
0204: 2205, 1176, 2254, 2303, 2352, 2401, 2450, 2499, 2548, 2597,
0205: 2646, 2695, 2744, 2793, 2842, 2891, 2940, 2989, 3038, 0,
0206: 3087, 3136, 2156, 2205, 3185, 3234, 3283, 3332, 3381, 3430,
0207: 3479, 3528, 3577, 3626, 3675, 3724, 3773, 3822, 3871, 3920,
0208: 3969, 4018, 0, 4067, 4116, 4165, 4214, 4263, 4312, 0, 4361,
0209: 4410, 4459, 4508, 0, 4557, 4606, 4067, 4655, 4704, 4753,
0210: 4802, 4851, 4900, 4949, 0, 0, 4998, 4802, 5047, 5096, 5145,
0211: 5194, 5243, 5292, 5341, 5390, 5439, 5488, 5537, 4998, 5586,
0212: 5635, 5684, 5733, 5782, 5831, 5880, 5929, 5978, 6027, 6076,
0213: 0, 4410, 6125, 6174, 6223, 6272, 6321, 6370, 6419, 6468,
0214: 6517, 6566, 6615, 6664, 6713, 6762, 6223, 6811, 6860, 6909,
0215: 6958, 7007, 7056, 7105, 7154, 7203, 7252, 7301, 7350, 7399,
0216: 7448, 7497, 7546, 7595, 7644, 7693, 7742, 7791, 7840, 7889,
0217: 7938, 7987, 8036, 8085, 8134, 8183, 8232, 8281, 8330, 8379,
0218: 8428, 8477, 8526, 8575, 8624, 8673, 8722, 6027, 8771, 8820,
0219: 8869, 8918, 8967, 9016, 9065, 9114, 9163, 9212, 9261, 9310,
0220: 9359, 9408, 9457, 9506, 6174, 9555, 9604, 6174, 6223 };
0221:
0222: /**
0223: * The packed transition table of the DFA (part 0)
0224: */
0225: final private static String yy_packed0 = "\61\0\1\6\1\7\1\10\1\7\1\6\1\11\2\12"
0226: + "\1\13\1\6\1\14\1\15\1\12\1\16\1\17\1\20"
0227: + "\3\12\1\21\3\12\3\6\2\12\7\11\1\12\2\11"
0228: + "\1\12\1\22\1\23\1\11\1\12\1\6\1\12\1\6"
0229: + "\1\7\1\24\1\12\1\6\1\7\1\6\1\7\43\6"
0230: + "\1\25\6\6\1\7\3\6\1\7\1\6\1\7\4\6"
0231: + "\1\26\37\6\1\27\5\6\1\7\3\6\1\7\1\6"
0232: + "\1\7\4\6\1\30\45\6\1\7\2\6\2\31\2\0"
0233: + "\52\31\1\0\2\31\5\0\1\32\1\33\1\34\2\0"
0234: + "\15\33\1\0\1\35\1\0\2\33\7\32\1\33\2\32"
0235: + "\1\34\2\0\1\32\1\33\1\0\1\33\3\0\1\33"
0236: + "\5\0\3\34\2\0\15\34\1\0\1\35\1\0\15\34"
0237: + "\2\0\2\34\1\0\1\34\3\0\1\34\5\0\3\36"
0238: + "\1\37\1\0\1\40\1\41\1\36\1\42\1\43\4\36"
0239: + "\1\44\3\36\3\0\15\36\1\0\1\45\2\36\1\0"
0240: + "\1\36\3\0\1\36\5\0\3\34\2\0\1\34\1\46"
0241: + "\13\34\1\0\1\35\1\0\15\34\2\0\2\34\1\0"
0242: + "\1\34\3\0\1\34\5\0\3\34\2\0\12\34\1\47"
0243: + "\2\34\1\0\1\35\1\0\15\34\2\0\2\34\1\0"
0244: + "\1\34\3\0\1\34\5\0\3\34\2\0\1\34\1\50"
0245: + "\4\34\1\51\6\34\1\0\1\35\1\0\15\34\2\0"
0246: + "\2\34\1\0\1\34\3\0\1\34\5\0\3\34\2\0"
0247: + "\5\34\1\52\7\34\1\0\1\35\1\0\15\34\2\0"
0248: + "\2\34\1\0\1\34\3\0\1\34\5\0\3\34\2\0"
0249: + "\1\34\1\53\13\34\1\0\1\35\1\0\15\34\2\0"
0250: + "\2\34\1\0\1\34\3\0\1\34\5\0\3\34\2\0"
0251: + "\12\34\1\54\2\34\1\0\1\35\1\0\15\34\2\0"
0252: + "\2\34\1\0\1\34\3\0\1\34\47\0\1\55\25\0"
0253: + "\1\56\113\0\1\57\60\0\1\60\61\0\1\45\63\0"
0254: + "\1\61\55\0\1\62\10\0\2\31\1\63\1\0\52\31"
0255: + "\1\0\2\31\5\0\1\64\1\33\1\34\2\0\15\33"
0256: + "\1\0\1\35\1\0\2\33\7\64\1\33\2\64\1\34"
0257: + "\2\0\1\64\1\33\1\0\1\33\3\0\1\33\1\65"
0258: + "\1\0\1\65\1\0\23\65\1\0\20\65\1\0\5\65"
0259: + "\1\0\2\65\5\0\3\36\2\0\15\36\1\0\1\66"
0260: + "\1\0\15\36\2\0\2\36\1\0\1\36\3\0\1\36"
0261: + "\3\67\2\0\51\67\1\0\2\67\5\0\3\36\2\0"
0262: + "\1\36\1\70\13\36\1\0\1\66\1\0\15\36\2\0"
0263: + "\2\36\1\0\1\36\3\0\1\36\5\0\3\36\2\0"
0264: + "\12\36\1\71\2\36\1\0\1\66\1\0\15\36\2\0"
0265: + "\2\36\1\0\1\36\3\0\1\36\5\0\3\36\2\0"
0266: + "\1\36\1\72\4\36\1\73\6\36\1\0\1\66\1\0"
0267: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0268: + "\3\36\2\0\5\36\1\74\7\36\1\0\1\66\1\0"
0269: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0270: + "\3\36\2\0\12\36\1\75\2\36\1\0\1\66\1\0"
0271: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\12\0"
0272: + "\15\76\3\0\14\76\3\0\2\76\1\0\1\76\3\0"
0273: + "\1\76\5\0\3\34\2\0\1\34\1\77\13\34\1\0"
0274: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0275: + "\1\34\5\0\3\34\2\0\7\34\1\100\5\34\1\0"
0276: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0277: + "\1\34\5\0\3\34\2\0\2\34\1\101\12\34\1\0"
0278: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0279: + "\1\34\5\0\3\34\2\0\7\34\1\102\5\34\1\0"
0280: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0281: + "\1\34\5\0\3\34\2\0\6\34\1\103\6\34\1\0"
0282: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0283: + "\1\34\5\0\3\34\2\0\1\34\1\104\13\34\1\0"
0284: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0285: + "\1\34\5\0\3\34\2\0\13\34\1\105\1\34\1\0"
0286: + "\1\35\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0287: + "\1\34\60\0\1\106\47\0\1\107\25\0\1\110\117\0"
0288: + "\1\111\12\0\3\112\2\0\15\112\3\0\14\112\3\0"
0289: + "\2\112\1\0\1\112\3\0\1\112\5\0\1\64\1\113"
0290: + "\1\34\2\0\15\113\1\0\1\35\1\0\2\113\7\64"
0291: + "\1\113\2\64\1\34\2\0\1\64\1\113\1\0\1\113"
0292: + "\3\0\1\113\2\114\3\0\51\114\1\0\2\114\3\67"
0293: + "\1\0\1\115\4\67\1\116\44\67\1\0\2\67\5\0"
0294: + "\3\36\2\0\1\36\1\117\13\36\1\0\1\66\1\0"
0295: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0296: + "\3\36\2\0\7\36\1\120\5\36\1\0\1\66\1\0"
0297: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0298: + "\3\36\2\0\2\36\1\121\12\36\1\0\1\66\1\0"
0299: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0300: + "\3\36\2\0\7\36\1\122\5\36\1\0\1\66\1\0"
0301: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0302: + "\3\36\2\0\6\36\1\123\6\36\1\0\1\66\1\0"
0303: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\5\0"
0304: + "\3\36\2\0\13\36\1\124\1\36\1\0\1\66\1\0"
0305: + "\15\36\2\0\2\36\1\0\1\36\3\0\1\36\12\0"
0306: + "\15\76\1\125\2\0\14\76\3\0\2\76\1\0\1\76"
0307: + "\3\0\1\76\5\0\3\34\2\0\2\34\1\126\12\34"
0308: + "\1\0\1\35\1\0\15\34\2\0\2\34\1\0\1\34"
0309: + "\3\0\1\34\5\0\3\34\2\0\11\34\1\127\3\34"
0310: + "\1\0\1\35\1\0\15\34\2\0\2\34\1\0\1\34"
0311: + "\3\0\1\34\5\0\3\34\2\0\15\34\1\0\1\130"
0312: + "\1\0\15\34\2\0\2\34\1\0\1\34\3\0\1\34"
0313: + "\5\0\3\34\2\0\12\34\1\101\2\34\1\0\1\35"
0314: + "\1\0\15\34\2\0\2\34\1\0\1\34\3\0\1\34"
0315: + "\5\0\3\34\2\0\7\34\1\131\5\34\1\0\1\35"
0316: + "\1\0\15\34\2\0\2\34\1\0\1\34\3\0\1\34"
0317: + "\5\0\3\34\2\0\5\34\1\132\7\34\1\0\1\35"
0318: + "\1\0\15\34\2\0\2\34\1\0\1\34\3\0\1\34"
0319: + "\5\0\3\34\2\0\14\34\1\101\1\0\1\35\1\0"
0320: + "\15\34\2\0\2\34\1\0\1\34\3\0\1\34\24\0"
0321: + "\1\133\114\0\1\134\12\0\15\135\3\0\14\135\3\0"
0322: + "\2\135\1\0\1\135\3\0\1\135\2\114\2\0\1\136"
0323: + "\51\114\1\0\2\114\4\0\1\137\54\0\3\140\1\0"
0324: + "\1\115\51\140\1\0\2\140\5\0\3\36\2\0\2\36"
0325: + "\1\141\12\36\1\0\1\66\1\0\15\36\2\0\2\36"
0326: + "\1\0\1\36\3\0\1\36\5\0\3\36\2\0\11\36"
0327: + "\1\142\3\36\1\0\1\66\1\0\15\36\2\0\2\36"
0328: + "\1\0\1\36\3\0\1\36\5\0\3\36\2\0\15\36"
0329: + "\1\0\1\143\1\0\15\36\2\0\2\36\1\0\1\36"
0330: + "\3\0\1\36\5\0\3\36\2\0\12\36\1\121\2\36"
0331: + "\1\0\1\66\1\0\15\36\2\0\2\36\1\0\1\36"
0332: + "\3\0\1\36\5\0\3\36\2\0\7\36\1\144\5\36"
0333: + "\1\0\1\66\1\0\15\36\2\0\2\36\1\0\1\36"
0334: + "\3\0\1\36\5\0\3\36\2\0\14\36\1\121\1\0"
0335: + "\1\66\1\0\15\36\2\0\2\36\1\0\1\36\3\0"
0336: + "\1\36\4\0\1\145\61\0\3\34\2\0\14\34\1\101"
0337: + "\1\0\1\130\1\0\15\34\2\0\2\34\1\0\1\34"
0338: + "\3\0\1\34\5\0\3\34\2\0\12\34\1\146\2\34"
0339: + "\1\0\1\35\1\0\15\34\2\0\2\34\1\0\1\34"
0340: + "\3\0\1\34\1\147\1\0\1\147\1\0\23\147\1\0"
0341: + "\20\147\1\0\5\147\1\0\2\147\5\0\3\34\2\0"
0342: + "\1\34\1\150\13\34\1\0\1\35\1\0\15\34\2\0"
0343: + "\2\34\1\0\1\34\3\0\1\34\5\0\3\34\2\0"
0344: + "\15\34\1\0\1\35\1\0\15\34\2\0\2\34\1\0"
0345: + "\1\151\3\0\1\34\27\0\1\152\55\0\1\153\46\0"
0346: + "\15\135\1\154\2\0\14\135\3\0\2\135\1\0\1\135"
0347: + "\3\0\1\135\5\0\3\155\2\0\15\155\3\0\14\155"
0348: + "\3\0\2\155\1\0\1\155\3\0\1\155\3\140\1\0"
0349: + "\1\156\51\140\1\0\2\140\5\0\3\36\2\0\14\36"
0350: + "\1\121\1\0\1\143\1\0\15\36\2\0\2\36\1\0"
0351: + "\1\36\3\0\1\36\5\0\3\36\2\0\12\36\1\157"
0352: + "\2\36\1\0\1\66\1\0\15\36\2\0\2\36\1\0"
0353: + "\1\36\3\0\1\36\2\160\1\161\1\0\1\161\4\160"
0354: + "\1\114\15\160\1\114\20\160\1\114\5\160\1\0\2\160"
0355: + "\5\0\3\36\2\0\1\36\1\162\13\36\1\0\1\66"
0356: + "\1\0\15\36\2\0\2\36\1\0\1\36\3\0\1\36"
0357: + "\5\0\3\34\2\0\1\34\1\101\13\34\1\0\1\35"
0358: + "\1\0\15\34\2\0\2\34\1\0\1\34\3\0\1\34"
0359: + "\1\147\1\0\1\147\1\0\23\147\1\0\1\147\1\163"
0360: + "\16\147\1\0\5\147\1\0\2\147\5\0\3\34\2\0"
0361: + "\10\34\1\101\4\34\1\0\1\35\1\0\15\34\2\0"
0362: + "\2\34\1\0\1\34\3\0\1\34\5\0\3\34\2\0"
0363: + "\1\164\14\34\1\0\1\35\1\0\15\34\2\0\2\34"
0364: + "\1\0\1\34\3\0\1\34\27\0\1\165\35\0\1\166"
0365: + "\60\0\1\167\61\0\3\36\2\0\1\36\1\121\13\36"
0366: + "\1\0\1\66\1\0\15\36\2\0\2\36\1\0\1\36"
0367: + "\3\0\1\36\2\160\1\161\1\0\1\170\4\160\1\171"
0368: + "\15\160\1\114\20\160\1\114\5\160\1\0\2\160\3\161"
0369: + "\1\0\1\170\4\161\1\172\15\161\1\0\20\161\1\0"
0370: + "\5\161\1\0\2\161\5\0\3\36\2\0\10\36\1\121"
0371: + "\4\36\1\0\1\66\1\0\15\36\2\0\2\36\1\0"
0372: + "\1\36\3\0\1\36\1\147\1\0\1\147\1\0\10\147"
0373: + "\1\173\12\147\1\0\1\147\1\163\1\174\1\175\1\176"
0374: + "\2\147\1\177\1\200\2\147\1\201\1\202\3\147\1\0"
0375: + "\5\147\1\0\2\147\5\0\3\34\2\0\15\34\1\0"
0376: + "\1\203\1\0\15\34\2\0\2\34\1\0\1\34\3\0"
0377: + "\1\34\5\0\3\204\2\0\15\204\3\0\14\204\3\0"
0378: + "\2\204\1\0\1\204\3\0\1\204\3\205\1\0\1\136"
0379: + "\51\205\1\0\5\205\2\0\51\205\1\0\2\205\1\147"
0380: + "\1\0\1\147\1\0\17\147\1\206\3\147\1\0\1\147"
0381: + "\1\163\16\147\1\0\5\147\1\0\3\147\1\0\1\147"
0382: + "\1\0\14\147\1\207\6\147\1\0\1\147\1\163\16\147"
0383: + "\1\0\5\147\1\0\3\147\1\0\1\147\1\0\10\147"
0384: + "\1\210\12\147\1\0\1\147\1\163\16\147\1\0\5\147"
0385: + "\1\0\3\147\1\0\1\147\1\0\23\147\1\0\1\147"
0386: + "\1\163\3\147\1\211\12\147\1\0\5\147\1\0\3\147"
0387: + "\1\0\1\147\1\0\23\147\1\0\1\147\1\163\6\147"
0388: + "\1\212\7\147\1\0\5\147\1\0\3\147\1\0\1\147"
0389: + "\1\0\23\147\1\0\1\147\1\163\7\147\1\213\6\147"
0390: + "\1\0\5\147\1\0\3\147\1\0\1\147\1\0\12\147"
0391: + "\1\214\10\147\1\0\1\147\1\163\16\147\1\0\5\147"
0392: + "\1\0\3\147\1\0\1\147\1\0\23\147\1\0\1\147"
0393: + "\1\163\13\147\1\215\2\147\1\0\5\147\1\0\2\147"
0394: + "\1\216\1\0\1\216\1\0\23\216\1\0\20\216\1\0"
0395: + "\4\216\1\217\1\0\2\216\3\205\1\0\1\220\51\205"
0396: + "\1\0\2\205\1\147\1\0\1\147\1\0\23\147\1\0"
0397: + "\1\147\1\163\1\221\15\147\1\0\5\147\1\0\3\147"
0398: + "\1\0\1\147\1\0\11\147\1\221\11\147\1\0\1\147"
0399: + "\1\163\16\147\1\0\5\147\1\0\3\147\1\0\1\147"
0400: + "\1\0\20\147\1\206\2\147\1\0\1\147\1\163\1\221"
0401: + "\15\147\1\0\5\147\1\0\3\147\1\0\1\147\1\0"
0402: + "\23\147\1\0\1\147\1\163\4\147\1\221\11\147\1\0"
0403: + "\5\147\1\0\3\147\1\0\1\147\1\0\23\147\1\0"
0404: + "\1\147\1\163\2\147\1\221\5\147\1\213\5\147\1\0"
0405: + "\5\147\1\0\3\147\1\0\1\147\1\0\23\147\1\0"
0406: + "\1\147\1\163\2\147\1\221\13\147\1\0\5\147\1\0"
0407: + "\3\147\1\0\1\147\1\0\10\147\1\221\12\147\1\0"
0408: + "\1\147\1\163\16\147\1\0\5\147\1\0\3\147\1\0"
0409: + "\1\147\1\0\23\147\1\0\1\147\1\163\6\147\1\221"
0410: + "\7\147\1\0\5\147\1\0\2\147\1\216\1\0\1\216"
0411: + "\1\0\23\216\1\0\1\216\1\222\16\216\1\0\5\216"
0412: + "\1\0\2\216\1\223\1\224\1\223\1\224\23\223\1\224"
0413: + "\1\223\1\225\16\223\1\224\5\223\1\0\2\223\1\216"
0414: + "\1\0\1\216\1\0\10\216\1\226\12\216\1\0\1\216"
0415: + "\1\222\1\227\1\230\1\231\2\216\1\232\1\233\2\216"
0416: + "\1\234\1\235\3\216\1\0\5\216\1\0\2\216\1\223"
0417: + "\1\224\1\223\1\224\23\223\1\224\1\223\1\236\16\223"
0418: + "\1\224\5\223\1\0\2\223\31\224\1\237\23\224\1\240"
0419: + "\1\0\2\224\1\223\1\224\1\223\1\224\10\223\1\241"
0420: + "\12\223\1\224\1\223\1\236\1\242\1\243\1\244\2\223"
0421: + "\1\245\1\246\2\223\1\247\1\250\3\223\1\224\5\223"
0422: + "\1\0\2\223\1\216\1\0\1\216\1\0\17\216\1\251"
0423: + "\3\216\1\0\1\216\1\222\16\216\1\0\5\216\1\0"
0424: + "\3\216\1\0\1\216\1\0\14\216\1\252\6\216\1\0"
0425: + "\1\216\1\222\16\216\1\0\5\216\1\0\3\216\1\0"
0426: + "\1\216\1\0\10\216\1\253\12\216\1\0\1\216\1\222"
0427: + "\16\216\1\0\5\216\1\0\3\216\1\0\1\216\1\0"
0428: + "\23\216\1\0\1\216\1\222\3\216\1\254\12\216\1\0"
0429: + "\5\216\1\0\3\216\1\0\1\216\1\0\23\216\1\0"
0430: + "\1\216\1\222\6\216\1\255\7\216\1\0\5\216\1\0"
0431: + "\3\216\1\0\1\216\1\0\23\216\1\0\1\216\1\222"
0432: + "\7\216\1\256\6\216\1\0\5\216\1\0\3\216\1\0"
0433: + "\1\216\1\0\12\216\1\257\10\216\1\0\1\216\1\222"
0434: + "\16\216\1\0\5\216\1\0\3\216\1\0\1\216\1\0"
0435: + "\23\216\1\0\1\216\1\222\13\216\1\260\2\216\1\0"
0436: + "\5\216\1\0\2\216\1\223\1\224\1\223\1\224\10\223"
0437: + "\1\261\12\223\1\224\1\223\1\236\1\262\1\263\1\264"
0438: + "\2\223\1\265\1\266\2\223\1\267\1\270\3\223\1\224"
0439: + "\5\223\1\0\2\223\14\224\1\271\14\224\1\237\1\272"
0440: + "\1\273\1\274\2\224\1\275\1\276\2\224\1\277\1\300"
0441: + "\10\224\1\240\1\0\2\224\1\223\1\224\1\223\1\224"
0442: + "\17\223\1\301\3\223\1\224\1\223\1\236\16\223\1\224"
0443: + "\5\223\1\0\3\223\1\224\1\223\1\224\14\223\1\302"
0444: + "\6\223\1\224\1\223\1\236\16\223\1\224\5\223\1\0"
0445: + "\3\223\1\224\1\223\1\224\10\223\1\303\12\223\1\224"
0446: + "\1\223\1\236\16\223\1\224\5\223\1\0\3\223\1\224"
0447: + "\1\223\1\224\23\223\1\224\1\223\1\236\3\223\1\304"
0448: + "\12\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0449: + "\23\223\1\224\1\223\1\236\6\223\1\305\7\223\1\224"
0450: + "\5\223\1\0\3\223\1\224\1\223\1\224\23\223\1\224"
0451: + "\1\223\1\236\7\223\1\306\6\223\1\224\5\223\1\0"
0452: + "\3\223\1\224\1\223\1\224\12\223\1\307\10\223\1\224"
0453: + "\1\223\1\236\16\223\1\224\5\223\1\0\3\223\1\224"
0454: + "\1\223\1\224\23\223\1\224\1\223\1\236\13\223\1\310"
0455: + "\2\223\1\224\5\223\1\0\2\223\1\216\1\0\1\216"
0456: + "\1\0\23\216\1\0\1\216\1\222\1\311\15\216\1\0"
0457: + "\5\216\1\0\3\216\1\0\1\216\1\0\11\216\1\311"
0458: + "\11\216\1\0\1\216\1\222\16\216\1\0\5\216\1\0"
0459: + "\3\216\1\0\1\216\1\0\20\216\1\251\2\216\1\0"
0460: + "\1\216\1\222\1\311\15\216\1\0\5\216\1\0\3\216"
0461: + "\1\0\1\216\1\0\23\216\1\0\1\216\1\222\4\216"
0462: + "\1\311\11\216\1\0\5\216\1\0\3\216\1\0\1\216"
0463: + "\1\0\23\216\1\0\1\216\1\222\2\216\1\311\5\216"
0464: + "\1\256\5\216\1\0\5\216\1\0\3\216\1\0\1\216"
0465: + "\1\0\23\216\1\0\1\216\1\222\2\216\1\311\13\216"
0466: + "\1\0\5\216\1\0\3\216\1\0\1\216\1\0\10\216"
0467: + "\1\311\12\216\1\0\1\216\1\222\16\216\1\0\5\216"
0468: + "\1\0\3\216\1\0\1\216\1\0\23\216\1\0\1\216"
0469: + "\1\222\6\216\1\311\7\216\1\0\5\216\1\0\2\216"
0470: + "\1\223\1\224\1\223\1\224\17\223\1\312\3\223\1\224"
0471: + "\1\223\1\236\16\223\1\224\5\223\1\0\3\223\1\224"
0472: + "\1\223\1\224\14\223\1\313\6\223\1\224\1\223\1\236"
0473: + "\16\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0474: + "\10\223\1\314\12\223\1\224\1\223\1\236\16\223\1\224"
0475: + "\5\223\1\0\3\223\1\224\1\223\1\224\23\223\1\224"
0476: + "\1\223\1\236\3\223\1\315\12\223\1\224\5\223\1\0"
0477: + "\3\223\1\224\1\223\1\224\23\223\1\224\1\223\1\236"
0478: + "\6\223\1\316\7\223\1\224\5\223\1\0\3\223\1\224"
0479: + "\1\223\1\224\23\223\1\224\1\223\1\236\7\223\1\317"
0480: + "\6\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0481: + "\12\223\1\320\10\223\1\224\1\223\1\236\16\223\1\224"
0482: + "\5\223\1\0\3\223\1\224\1\223\1\224\23\223\1\224"
0483: + "\1\223\1\236\13\223\1\321\2\223\1\224\5\223\1\0"
0484: + "\2\223\23\224\1\322\5\224\1\237\23\224\1\240\1\0"
0485: + "\22\224\1\323\10\224\1\237\23\224\1\240\1\0\16\224"
0486: + "\1\324\14\224\1\237\23\224\1\240\1\0\33\224\1\237"
0487: + "\3\224\1\325\17\224\1\240\1\0\33\224\1\237\6\224"
0488: + "\1\326\14\224\1\240\1\0\33\224\1\237\7\224\1\327"
0489: + "\13\224\1\240\1\0\20\224\1\330\12\224\1\237\23\224"
0490: + "\1\240\1\0\33\224\1\237\13\224\1\331\7\224\1\240"
0491: + "\1\0\2\224\1\223\1\224\1\223\1\224\23\223\1\224"
0492: + "\1\223\1\236\1\332\15\223\1\224\5\223\1\0\3\223"
0493: + "\1\224\1\223\1\224\11\223\1\332\11\223\1\224\1\223"
0494: + "\1\236\16\223\1\224\5\223\1\0\3\223\1\224\1\223"
0495: + "\1\224\20\223\1\301\2\223\1\224\1\223\1\236\1\332"
0496: + "\15\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0497: + "\23\223\1\224\1\223\1\236\4\223\1\332\11\223\1\224"
0498: + "\5\223\1\0\3\223\1\224\1\223\1\224\23\223\1\224"
0499: + "\1\223\1\236\2\223\1\332\5\223\1\306\5\223\1\224"
0500: + "\5\223\1\0\3\223\1\224\1\223\1\224\23\223\1\224"
0501: + "\1\223\1\236\2\223\1\332\13\223\1\224\5\223\1\0"
0502: + "\3\223\1\224\1\223\1\224\10\223\1\332\12\223\1\224"
0503: + "\1\223\1\236\16\223\1\224\5\223\1\0\3\223\1\224"
0504: + "\1\223\1\224\23\223\1\224\1\223\1\236\6\223\1\332"
0505: + "\7\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0506: + "\23\223\1\224\1\223\1\236\1\333\15\223\1\224\5\223"
0507: + "\1\0\3\223\1\224\1\223\1\224\11\223\1\333\11\223"
0508: + "\1\224\1\223\1\236\16\223\1\224\5\223\1\0\3\223"
0509: + "\1\224\1\223\1\224\20\223\1\312\2\223\1\224\1\223"
0510: + "\1\236\1\333\15\223\1\224\5\223\1\0\3\223\1\224"
0511: + "\1\223\1\224\23\223\1\224\1\223\1\236\4\223\1\333"
0512: + "\11\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0513: + "\23\223\1\224\1\223\1\236\2\223\1\333\5\223\1\317"
0514: + "\5\223\1\224\5\223\1\0\3\223\1\224\1\223\1\224"
0515: + "\23\223\1\224\1\223\1\236\2\223\1\333\13\223\1\224"
0516: + "\5\223\1\0\3\223\1\224\1\223\1\224\10\223\1\333"
0517: + "\12\223\1\224\1\223\1\236\16\223\1\224\5\223\1\0"
0518: + "\3\223\1\224\1\223\1\224\23\223\1\224\1\223\1\236"
0519: + "\6\223\1\333\7\223\1\224\5\223\1\0\2\223\31\224"
0520: + "\1\237\1\334\22\224\1\240\1\0\17\224\1\334\13\224"
0521: + "\1\237\23\224\1\240\1\0\26\224\1\322\4\224\1\237"
0522: + "\1\334\22\224\1\240\1\0\33\224\1\237\4\224\1\334"
0523: + "\16\224\1\240\1\0\33\224\1\237\2\224\1\334\5\224"
0524: + "\1\327\12\224\1\240\1\0\33\224\1\237\2\224\1\334"
0525: + "\20\224\1\240\1\0\16\224\1\334\14\224\1\237\23\224"
0526: + "\1\240\1\0\33\224\1\237\6\224\1\334\14\224\1\240"
0527: + "\1\0\2\224\1\223\1\224\1\223\1\224\23\223\1\224"
0528: + "\1\223\1\236\16\223\1\224\4\223\1\335\1\0\2\223"
0529: + "\31\224\1\237\23\224\1\336\1\0\2\224";
0530:
0531: /**
0532: * The transition table of the DFA
0533: */
0534: final private static int yytrans[] = yy_unpack();
0535:
0536: /* error codes */
0537: final private static int YY_UNKNOWN_ERROR = 0;
0538: final private static int YY_ILLEGAL_STATE = 1;
0539: final private static int YY_NO_MATCH = 2;
0540: final private static int YY_PUSHBACK_2BIG = 3;
0541:
0542: /* error messages for the codes above */
0543: final private static String YY_ERROR_MSG[] = {
0544: "Unkown internal scanner error",
0545: "Internal error: unknown state",
0546: "Error: could not match input",
0547: "Error: pushback value was too large" };
0548:
0549: /**
0550: * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
0551: */
0552: private final static byte YY_ATTRIBUTE[] = { 8, 0, 0, 0, 0, 9, 9,
0553: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0554: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0,
0555: 9, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0556: 0, 0, 0, 9, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0557: 0, 0, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 0, 9, 0, 1, 0, 0, 9, 0,
0558: 0, 1, 0, 0, 0, 0, 0, 1, 0, 9, 9, 1, 1, 0, 0, 1, 1, 1, 1, 1,
0559: 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1,
0560: 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
0561: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0562: 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0563: 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1 };
0564:
0565: /** the input device */
0566: private java.io.Reader yy_reader;
0567:
0568: /** the current state of the DFA */
0569: private int yy_state;
0570:
0571: /** the current lexical state */
0572: private int yy_lexical_state = YYINITIAL;
0573:
0574: /** this buffer contains the current text to be matched and is
0575: the source of the yytext() string */
0576: private char yy_buffer[] = new char[YY_BUFFERSIZE];
0577:
0578: /** the textposition at the last accepting state */
0579: private int yy_markedPos;
0580:
0581: /** the textposition at the last state to be included in yytext */
0582: private int yy_pushbackPos;
0583:
0584: /** the current text position in the buffer */
0585: private int yy_currentPos;
0586:
0587: /** startRead marks the beginning of the yytext() string in the buffer */
0588: private int yy_startRead;
0589:
0590: /** endRead marks the last character in the buffer, that has been read
0591: from input */
0592: private int yy_endRead;
0593:
0594: /** number of newlines encountered up to the start of the matched text */
0595: private int yyline;
0596:
0597: /** the number of characters up to the start of the matched text */
0598: private int yychar;
0599:
0600: /**
0601: * the number of characters from the last newline up to the start of the
0602: * matched text
0603: */
0604: private int yycolumn;
0605:
0606: /**
0607: * yy_atBOL == true <=> the scanner is currently at the beginning of a line
0608: */
0609: private boolean yy_atBOL = true;
0610:
0611: /** yy_atEOF == true <=> the scanner is at the EOF */
0612: private boolean yy_atEOF;
0613:
0614: /* user code: */
0615: protected static Logger logger = Logger
0616: .getLogger(BackLinkLex.class);
0617: protected String virtualWiki;
0618: private List links = new ArrayList();
0619:
0620: public void setVirtualWiki(String vWiki) {
0621: this .virtualWiki = vWiki;
0622: }
0623:
0624: protected boolean ignoreWikiname(String name) {
0625: return Environment.getInstance().doIgnoreWikiname(name);
0626: }
0627:
0628: public List getLinks() {
0629: return this .links;
0630: }
0631:
0632: private void addLink(String link) {
0633: logger.debug("adding link: '" + link + "'");
0634: this .links.add(link);
0635: }
0636:
0637: /**
0638: * Creates a new scanner
0639: * There is also a java.io.InputStream version of this constructor.
0640: *
0641: * @param in the java.io.Reader to read input from.
0642: */
0643: public BackLinkLex(java.io.Reader in) {
0644: yybegin(NORMAL);
0645: this .yy_reader = in;
0646: }
0647:
0648: /**
0649: * Creates a new scanner.
0650: * There is also java.io.Reader version of this constructor.
0651: *
0652: * @param in the java.io.Inputstream to read input from.
0653: */
0654: public BackLinkLex(java.io.InputStream in) {
0655: this (new java.io.InputStreamReader(in));
0656: }
0657:
0658: /**
0659: * Unpacks the split, compressed DFA transition table.
0660: *
0661: * @return the unpacked transition table
0662: */
0663: private static int[] yy_unpack() {
0664: int[] trans = new int[9653];
0665: int offset = 0;
0666: offset = yy_unpack(yy_packed0, offset, trans);
0667: return trans;
0668: }
0669:
0670: /**
0671: * Unpacks the compressed DFA transition table.
0672: *
0673: * @param packed the packed transition table
0674: * @return the index of the last entry
0675: */
0676: private static int yy_unpack(String packed, int offset, int[] trans) {
0677: int i = 0; /* index in packed string */
0678: int j = offset; /* index in unpacked array */
0679: int l = packed.length();
0680: while (i < l) {
0681: int count = packed.charAt(i++);
0682: int value = packed.charAt(i++);
0683: value--;
0684: do
0685: trans[j++] = value;
0686: while (--count > 0);
0687: }
0688: return j;
0689: }
0690:
0691: /**
0692: * Unpacks the compressed character translation table.
0693: *
0694: * @param packed the packed character translation table
0695: * @return the unpacked character translation table
0696: */
0697: private static char[] yy_unpack_cmap(String packed) {
0698: char[] map = new char[0x10000];
0699: int i = 0; /* index in packed string */
0700: int j = 0; /* index in unpacked array */
0701: while (i < 2606) {
0702: int count = packed.charAt(i++);
0703: char value = packed.charAt(i++);
0704: do
0705: map[j++] = value;
0706: while (--count > 0);
0707: }
0708: return map;
0709: }
0710:
0711: /**
0712: * Refills the input buffer.
0713: *
0714: * @return <code>false</code>, iff there was new input.
0715: *
0716: * @exception IOException if any I/O-Error occurs
0717: */
0718: private boolean yy_refill() throws java.io.IOException {
0719:
0720: /* first: make room (if you can) */
0721: if (yy_startRead > 0) {
0722: System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0,
0723: yy_endRead - yy_startRead);
0724:
0725: /* translate stored positions */
0726: yy_endRead -= yy_startRead;
0727: yy_currentPos -= yy_startRead;
0728: yy_markedPos -= yy_startRead;
0729: yy_pushbackPos -= yy_startRead;
0730: yy_startRead = 0;
0731: }
0732:
0733: /* is the buffer big enough? */
0734: if (yy_currentPos >= yy_buffer.length) {
0735: /* if not: blow it up */
0736: char newBuffer[] = new char[yy_currentPos * 2];
0737: System.arraycopy(yy_buffer, 0, newBuffer, 0,
0738: yy_buffer.length);
0739: yy_buffer = newBuffer;
0740: }
0741:
0742: /* finally: fill the buffer with new input */
0743: int numRead = yy_reader.read(yy_buffer, yy_endRead,
0744: yy_buffer.length - yy_endRead);
0745:
0746: if (numRead < 0) {
0747: return true;
0748: } else {
0749: yy_endRead += numRead;
0750: return false;
0751: }
0752: }
0753:
0754: /**
0755: * Closes the input stream.
0756: */
0757: final public void yyclose() throws java.io.IOException {
0758: yy_atEOF = true; /* indicate end of file */
0759: yy_endRead = yy_startRead; /* invalidate buffer */
0760:
0761: if (yy_reader != null)
0762: yy_reader.close();
0763: }
0764:
0765: /**
0766: * Closes the current stream, and resets the
0767: * scanner to read from a new input stream.
0768: *
0769: * All internal variables are reset, the old input stream
0770: * <b>cannot</b> be reused (internal buffer is discarded and lost).
0771: * Lexical state is set to <tt>YY_INITIAL</tt>.
0772: *
0773: * @param reader the new input stream
0774: */
0775: final public void yyreset(java.io.Reader reader)
0776: throws java.io.IOException {
0777: yyclose();
0778: yy_reader = reader;
0779: yy_atBOL = true;
0780: yy_atEOF = false;
0781: yy_endRead = yy_startRead = 0;
0782: yy_currentPos = yy_markedPos = yy_pushbackPos = 0;
0783: yyline = yychar = yycolumn = 0;
0784: yy_lexical_state = YYINITIAL;
0785: }
0786:
0787: /**
0788: * Returns the current lexical state.
0789: */
0790: final public int yystate() {
0791: return yy_lexical_state;
0792: }
0793:
0794: /**
0795: * Enters a new lexical state
0796: *
0797: * @param newState the new lexical state
0798: */
0799: final public void yybegin(int newState) {
0800: yy_lexical_state = newState;
0801: }
0802:
0803: /**
0804: * Returns the text matched by the current regular expression.
0805: */
0806: final public String yytext() {
0807: return new String(yy_buffer, yy_startRead, yy_markedPos
0808: - yy_startRead);
0809: }
0810:
0811: /**
0812: * Returns the character at position <tt>pos</tt> from the
0813: * matched text.
0814: *
0815: * It is equivalent to yytext().charAt(pos), but faster
0816: *
0817: * @param pos the position of the character to fetch.
0818: * A value from 0 to yylength()-1.
0819: *
0820: * @return the character at position pos
0821: */
0822: final public char yycharat(int pos) {
0823: return yy_buffer[yy_startRead + pos];
0824: }
0825:
0826: /**
0827: * Returns the length of the matched text region.
0828: */
0829: final public int yylength() {
0830: return yy_markedPos - yy_startRead;
0831: }
0832:
0833: /**
0834: * Reports an error that occured while scanning.
0835: *
0836: * In a wellformed scanner (no or only correct usage of
0837: * yypushback(int) and a match-all fallback rule) this method
0838: * will only be called with things that "Can't Possibly Happen".
0839: * If this method is called, something is seriously wrong
0840: * (e.g. a JFlex bug producing a faulty scanner etc.).
0841: *
0842: * Usual syntax/scanner level error handling should be done
0843: * in error fallback rules.
0844: *
0845: * @param errorCode the code of the errormessage to display
0846: */
0847: private void yy_ScanError(int errorCode) {
0848: String message;
0849: try {
0850: message = YY_ERROR_MSG[errorCode];
0851: } catch (ArrayIndexOutOfBoundsException e) {
0852: message = YY_ERROR_MSG[YY_UNKNOWN_ERROR];
0853: }
0854:
0855: throw new Error(message);
0856: }
0857:
0858: /**
0859: * Pushes the specified amount of characters back into the input stream.
0860: *
0861: * They will be read again by then next call of the scanning method
0862: *
0863: * @param number the number of characters to be read again.
0864: * This number must not be greater than yylength()!
0865: */
0866: private void yypushback(int number) {
0867: if (number > yylength())
0868: yy_ScanError(YY_PUSHBACK_2BIG);
0869:
0870: yy_markedPos -= number;
0871: }
0872:
0873: /**
0874: * Resumes scanning until the next regular expression is matched,
0875: * the end of input is encountered or an I/O-Error occurs.
0876: *
0877: * @return the next token
0878: * @exception IOException if any I/O-Error occurs
0879: */
0880: public String yylex() throws java.io.IOException {
0881: int yy_input;
0882: int yy_action;
0883:
0884: // cached fields:
0885: int yy_currentPos_l;
0886: int yy_startRead_l;
0887: int yy_markedPos_l;
0888: int yy_endRead_l = yy_endRead;
0889: char[] yy_buffer_l = yy_buffer;
0890: char[] yycmap_l = yycmap;
0891:
0892: int[] yytrans_l = yytrans;
0893: int[] yy_rowMap_l = yy_rowMap;
0894: byte[] yy_attr_l = YY_ATTRIBUTE;
0895:
0896: while (true) {
0897: yy_markedPos_l = yy_markedPos;
0898:
0899: yy_action = -1;
0900:
0901: yy_startRead_l = yy_currentPos_l = yy_currentPos = yy_startRead = yy_markedPos_l;
0902:
0903: yy_state = yy_lexical_state;
0904:
0905: yy_forAction: {
0906: while (true) {
0907:
0908: if (yy_currentPos_l < yy_endRead_l)
0909: yy_input = yy_buffer_l[yy_currentPos_l++];
0910: else if (yy_atEOF) {
0911: yy_input = YYEOF;
0912: break yy_forAction;
0913: } else {
0914: // store back cached positions
0915: yy_currentPos = yy_currentPos_l;
0916: yy_markedPos = yy_markedPos_l;
0917: boolean eof = yy_refill();
0918: // get translated positions and possibly new buffer
0919: yy_currentPos_l = yy_currentPos;
0920: yy_markedPos_l = yy_markedPos;
0921: yy_buffer_l = yy_buffer;
0922: yy_endRead_l = yy_endRead;
0923: if (eof) {
0924: yy_input = YYEOF;
0925: break yy_forAction;
0926: } else {
0927: yy_input = yy_buffer_l[yy_currentPos_l++];
0928: }
0929: }
0930: int yy_next = yytrans_l[yy_rowMap_l[yy_state]
0931: + yycmap_l[yy_input]];
0932: if (yy_next == -1)
0933: break yy_forAction;
0934: yy_state = yy_next;
0935:
0936: int yy_attributes = yy_attr_l[yy_state];
0937: if ((yy_attributes & 1) == 1) {
0938: yy_action = yy_state;
0939: yy_markedPos_l = yy_currentPos_l;
0940: if ((yy_attributes & 8) == 8)
0941: break yy_forAction;
0942: }
0943:
0944: }
0945: }
0946:
0947: // store back cached position
0948: yy_markedPos = yy_markedPos_l;
0949:
0950: switch (yy_action) {
0951:
0952: case 131: {
0953: logger.debug("{prettytopicsquarebrackettail} '"
0954: + yytext() + "'");
0955: String input = yytext();
0956: int position = input.indexOf('|');
0957:
0958: String link = null;
0959: link = input.substring(2, position).trim();
0960: addLink(link);
0961: }
0962: case 223:
0963: break;
0964: case 52: {
0965: logger.debug("{extlink}");
0966: }
0967: case 224:
0968: break;
0969: case 94: {
0970: logger.debug("{topicsquarebracket} '" + yytext() + "'");
0971: String link = yytext();
0972: link = link.substring(2);
0973: link = link.substring(0, link.length() - 2).trim();
0974: addLink(link);
0975: }
0976: case 225:
0977: break;
0978: case 100: {
0979: logger.debug("external");
0980: yybegin(EXTERNAL);
0981: }
0982: case 226:
0983: break;
0984: case 159: {
0985: logger.debug("{attachment}");
0986: }
0987: case 227:
0988: break;
0989: case 141:
0990: case 142:
0991: case 145:
0992: case 146:
0993: case 148:
0994: case 149:
0995: case 150:
0996: case 151:
0997: case 152:
0998: case 153:
0999: case 154:
1000: case 155:
1001: case 156:
1002: case 157:
1003: case 160:
1004: case 161:
1005: case 162:
1006: case 163:
1007: case 164:
1008: case 165:
1009: case 166:
1010: case 167:
1011: case 168:
1012: case 169:
1013: case 170:
1014: case 171:
1015: case 172:
1016: case 173:
1017: case 174:
1018: case 175:
1019: case 176:
1020: case 177:
1021: case 178:
1022: case 179:
1023: case 180:
1024: case 181:
1025: case 182:
1026: case 183:
1027: case 192:
1028: case 193:
1029: case 194:
1030: case 195:
1031: case 196:
1032: case 197:
1033: case 198:
1034: case 199:
1035: case 201:
1036: case 202:
1037: case 203:
1038: case 204:
1039: case 205:
1040: case 206:
1041: case 207:
1042: case 208: {
1043: logger.debug("{attachment}");
1044: }
1045: case 228:
1046: break;
1047: case 6: {
1048: return yytext();
1049: }
1050: case 229:
1051: break;
1052: case 5:
1053: case 7:
1054: case 8:
1055: case 9:
1056: case 10:
1057: case 11:
1058: case 12:
1059: case 13:
1060: case 14:
1061: case 15:
1062: case 16:
1063: case 17:
1064: case 18:
1065: case 19:
1066: case 20:
1067: case 21:
1068: case 22:
1069: case 23: {
1070: //logger.debug( ". (" + yytext() + ")" );
1071: return yytext();
1072: }
1073: case 230:
1074: break;
1075: case 74: {
1076: logger.debug("{topic} '" + yytext() + "'");
1077: String link = yytext();
1078: if (!ignoreWikiname(link)) {
1079: addLink(link.trim());
1080: }
1081: }
1082: case 231:
1083: break;
1084: case 105: {
1085: logger.debug("@@@@{newline} entering PRE");
1086: yybegin(PRE);
1087: }
1088: case 232:
1089: break;
1090: case 143: {
1091: logger.debug("{prettyhyperlink}");
1092: }
1093: case 233:
1094: break;
1095: case 119: {
1096: logger.debug("{framedhyperlink}");
1097: }
1098: case 234:
1099: break;
1100: case 118: {
1101: logger.debug("{prettytopicsquarebracket} '" + yytext()
1102: + "'");
1103: String input = yytext();
1104: int position = input.indexOf('|');
1105:
1106: String link = null;
1107: link = input.substring(2, position).trim();
1108:
1109: addLink(link);
1110: }
1111: case 235:
1112: break;
1113: case 117: {
1114: logger.debug("external end");
1115: yybegin(NORMAL);
1116: }
1117: case 236:
1118: break;
1119: case 220:
1120: case 221: {
1121: logger.debug("{imageattachment2}");
1122: }
1123: case 237:
1124: break;
1125: case 200:
1126: case 217:
1127: case 218: {
1128: logger.debug("{imageattachment}");
1129: }
1130: case 238:
1131: break;
1132: case 73: {
1133: logger.debug("{topicbackticktail} '" + yytext() + "'");
1134: if (!Environment.getInstance().isAllowBackTick()) {
1135: logger.debug("No back-tick links allowed");
1136: return yytext();
1137: }
1138: String link = yytext();
1139: link = link.substring(0, link.indexOf('`')).trim();
1140: addLink(link);
1141: }
1142: case 239:
1143: break;
1144: case 108: {
1145: logger.debug("{topicsquarebrackettail} '" + yytext()
1146: + "'");
1147: String link = yytext();
1148: link = link.substring(2);
1149: link = link.substring(0, link.indexOf("]]")).trim();
1150: addLink(link);
1151: }
1152: case 240:
1153: break;
1154: case 116: {
1155: logger.debug("{newline}x2 leaving pre");
1156: yybegin(NORMAL);
1157: }
1158: case 241:
1159: break;
1160: case 44: {
1161: logger.debug("format off");
1162: yybegin(OFF);
1163: }
1164: case 242:
1165: break;
1166: case 70: {
1167: logger.debug("escaped double backslash");
1168: return "__";
1169: }
1170: case 243:
1171: break;
1172: case 50: {
1173: logger.debug("{topicbacktick} '" + yytext() + "'");
1174: if (!Environment.getInstance().isAllowBackTick()) {
1175: logger.debug("No back-tick links allowed");
1176: return yytext();
1177: }
1178: String link = yytext();
1179: link = link.substring(1);
1180: link = link.substring(0, link.length() - 1).trim();
1181: addLink(link);
1182: }
1183: case 244:
1184: break;
1185: case 144: {
1186: logger.debug("{image}");
1187: }
1188: case 245:
1189: break;
1190: case 47: {
1191: logger.debug("format on");
1192: yybegin(NORMAL);
1193: }
1194: case 246:
1195: break;
1196: case 93: {
1197: logger.debug("{extlink2}");
1198: }
1199: case 247:
1200: break;
1201: case 102:
1202: case 114:
1203: case 122:
1204: case 123:
1205: case 124:
1206: case 125:
1207: case 126:
1208: case 127:
1209: case 128:
1210: case 129:
1211: case 133:
1212: case 134:
1213: case 135:
1214: case 136:
1215: case 137:
1216: case 138:
1217: case 139:
1218: case 140: {
1219: logger.debug("{hyperlink}");
1220: }
1221: case 248:
1222: break;
1223: default:
1224: if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
1225: yy_atEOF = true;
1226: {
1227: return null;
1228: }
1229: } else {
1230: yy_ScanError(YY_NO_MATCH);
1231: }
1232: }
1233: }
1234: }
1235:
1236: }
|