| /******************************************************************************* |
| * Copyright (c) 2001, 2004 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| * Jens Lukowski/Innoopract - initial renaming/restructuring |
| * |
| *******************************************************************************/ |
| package org.eclipse.wst.dtd.core.tokenizer; |
| |
| import org.eclipse.wst.dtd.core.parser.DTDRegionTypes; |
| |
| |
| |
| /** |
| * This class is a scanner generated by <a href="http://www.jflex.de/">JFlex |
| * </a> 1.3.5 on 05/04/02 11:38 AM from the specification file |
| * <tt>dtd.flex</tt> |
| */ |
| public class DTDTokenizer { |
| |
| /** This character denotes the end of file */ |
| final public static int YYEOF = -1; |
| |
| /** initial size of the lookahead buffer */ |
| final private static int YY_BUFFERSIZE = 16384; |
| final static String yy_NL = System.getProperty("line.separator"); |
| |
| /** lexical states */ |
| final public static int ATTRIBUTE_ENUMERATION = 13; |
| final public static int NOTATION_NAME = 6; |
| final public static int ELEMENT_CHILD = 1; |
| final public static int ENTITY_CONTENT = 4; |
| final public static int COMMENT_CONTENT = 8; |
| final public static int ATTLIST_NAME = 9; |
| final public static int EXTERNALID_CONTENT = 7; |
| final public static int ELEMENT_CONTENT = 1; |
| final public static int ELEMENT_MIXED = 1; |
| final public static int ELEMENT_MIXED_OR_CHILD = 1; |
| final public static int ATTRIBUTE_CONTENT = 11; |
| final public static int ENTITY_NAME = 3; |
| final public static int ATTRIBUTE_DEFAULT = 12; |
| final public static int ELEMENT_NAME = 2; |
| final public static int YYINITIAL = 0; |
| final public static int NDATA_CONTENT = 5; |
| final public static int ATTLIST_CONTENT = 10; |
| final public static int NODE = 1; |
| |
| /** |
| * Translates characters to character classes |
| */ |
| final private static String yycmap_packed = "\10\0\1\0\1\5\1\3\1\0\1\0\1\2\22\0\1\5\1\6" + "\1\1\1\37\1\0\1\23\1\0\1\46\1\42\1\43\1\4\1\7" + "\1\45\1\12\1\0\1\0\12\0\1\0\1\10\1\11\1\0\1\13" + "\1\4\1\0\1\25\1\31\1\32\1\33\1\14\1\35\2\0\1\21" + "\1\0\1\36\1\15\1\16\1\17\1\24\1\27\1\40\1\34\1\26" + "\1\20\1\30\2\0\1\41\1\22\1\0\1\0\1\0\2\0\1\0" + "\1\0\32\0\1\0\1\44\uff83\0"; |
| |
| /** |
| * Translates characters to character classes |
| */ |
| final private static char[] yycmap = yy_unpack_cmap(yycmap_packed); |
| |
| /** |
| * Translates a state to a row index in the transition table |
| */ |
| final private static int yy_rowMap[] = {0, 39, 78, 117, 156, 195, 234, 273, 312, 351, 390, 429, 468, 507, 546, 585, 624, 39, 39, 39, 663, 702, 741, 780, 819, 39, 39, 858, 897, 39, 39, 936, 936, 975, 1014, 1053, 1092, 1131, 1170, 1209, 1248, 1287, 1326, 1365, 1404, 1443, 39, 1482, 1521, 1560, 1599, 1638, 39, 1677, 1716, 1755, 1794, 1833, 1872, 39, 39, 1911, 1950, 1989, 2028, 2067, 2106, 39, 39, 39, 2145, 2184, 2223, 2262, 2301, 2340, 2379, 897, 2418, 975, 2457, 2496, 2535, 2574, 975, 2613, 2652, 2691, 2730, 1560, 2769, 2808, 2847, 2886, 2925, 2964, 3003, 3042, 3081, 3120, 1950, 3159, 3198, 3237, 3276, 3315, 1950, 39, 3354, 3393, 3432, 39, 3471, 3510, 3549, 39, 3588, 3627, 39, 3666, 3705, 3744, 39, 39, 3783, 3822, 3861, 3900, 3939, 3978, 4017, 4056, 39, 4095, 4134, 4173, 39, 4212, 4251, 4290, 4329, 4368, 4407, 4446, 4485, 4524, 4563, 4602, 4641, 4680, 4719, 4758, 4797, 4836, 4875, 4914, 4953, 4992, 5031, 5070, 5109, 5148, 5187, 5226, 5265, 5304, 5343, 975, 5382, 5421, 5460, 5499, |
| 5538, 5577, 1560, 5616, 5655, 5694, 5733, 5772, 5811, 5850, 546, 5889, 5928, 5967, 6006, 975, 975, 975, 6045, 1560, 6084, 6123, 1560, 6162, 6201, 6240, 1950, 546, 6279, 546, 819, 6318, 6357, 6396, 6435, 6474, 6513, 546, 6552, 1560, 1560, 1560, 1950, 6591, 39, 1950}; |
| |
| /** |
| * The packed transition table of the DFA (part 0) |
| */ |
| final private static String yy_packed0 = "\2\17\2\20\1\17\1\20\1\21\1\17\1\22\1\23" + "\1\17\1\24\1\25\2\17\1\26\3\17\1\27\1\17" + "\1\30\21\17\47\0\2\31\2\20\1\32\1\20\1\0" + "\1\32\1\31\1\33\1\31\1\33\23\31\1\34\2\31" + "\1\35\1\36\2\37\1\31\2\40\2\20\1\0\1\20" + "\3\40\1\33\1\40\1\33\7\40\1\41\16\40\4\0" + "\1\40\1\42\1\43\2\20\1\42\1\20\3\42\1\33" + "\1\42\1\33\12\42\1\44\1\45\16\42\1\46\2\47" + "\2\20\1\47\1\20\3\47\1\33\1\47\1\33\33\47" + "\2\50\2\20\1\0\1\20\2\0\1\50\1\33\1\50" + "\1\33\26\50\4\0\1\50\1\42\1\43\2\20\1\42" + "\1\20\3\42\1\33\1\42\1\33\3\42\1\51\6\42" + "\1\52\1\53\16\42\1\46\2\54\2\55\1\54\1\55" + "\4\54\1\56\1\57\33\54\2\60\2\20\1\42\1\20" + "\2\42\1\60\1\33\1\60\1\33\26\60\4\42\1\60" + "\2\61\2\20\1\42\1\20\2\42\1\61\1\33\1\61" + "\1\33\26\61\4\42\1\61\1\62\1\63\1\64\1\65" + "\1\62\1\66\3\62\1\33\1\62\1\33\1\67\2\62" + "\1\70\1\62\1\71\10\62\1\72\4\62\1\73\2\62" + "\1\74\2\75\1\62\1\76\1\77\1\100\2\20\1\77" + "\1\20\3\77\1\33\1\77\1\33\23\77\1\101\6\77" |
| + "\1\102\2\103\2\20\1\103\1\20\3\103\1\33\1\103" + "\1\33\26\103\1\104\1\105\1\106\2\103\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\23\17\2\0\2\20\1\0\1\20\53\0\1\107\34\0" + "\2\17\2\0\1\17\2\0\1\17\2\0\1\17\1\0" + "\1\17\1\110\1\17\1\111\3\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\1\112\22\17\2\113\2\0\1\113\2\0\1\113\2\0" + "\1\113\1\0\7\113\1\0\23\113\2\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\114\2\17" + "\1\0\23\17\2\31\6\0\1\31\1\0\1\31\1\0" + "\26\31\4\0\3\31\6\0\1\31\1\0\1\31\1\0" + "\13\31\1\115\12\31\4\0\1\31\2\0\2\116\1\0" + "\1\116\31\0\1\117\7\0\2\40\4\0\3\40\1\0" + "\1\40\1\0\26\40\4\0\1\40\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\33\42\1\43\1\120" + "\2\121\1\43\1\121\3\43\1\121\1\43\1\121\33\43" + "\2\42\2\0\1\42\1\0\3\42\1\0\1\42\1\0" + "\6\42\1\122\26\42\2\0\1\42\1\0\3\42\1\0" + "\1\42\1\0\14\42\1\123\16\42\2\46\2\124\1\46" + "\1\124\3\46\1\124\1\46\1\124\32\46\1\125\2\47" |
| + "\2\0\1\47\1\0\3\47\1\0\1\47\1\0\33\47" + "\2\50\6\0\1\50\1\0\1\50\1\0\26\50\4\0" + "\1\50\2\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\17\42\1\126\15\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\6\42\1\127\26\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\14\42\1\130\16\42" + "\12\54\2\0\35\54\2\55\1\54\1\55\4\54\2\0" + "\33\54\12\0\1\131\34\0\2\60\2\0\1\42\1\0" + "\2\42\1\60\1\0\1\60\1\0\26\60\4\42\1\60" + "\2\61\2\0\1\42\1\0\2\42\1\61\1\0\1\61" + "\1\0\26\61\4\42\1\61\2\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\26\62\3\0\2\62\1\63" + "\1\132\2\133\1\63\1\133\3\63\1\133\1\63\1\133" + "\26\63\3\133\2\63\3\0\1\65\50\0\1\66\41\0" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\3\62\1\134\22\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\2\62\1\135\5\62\1\136" + "\15\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\17\62\1\137\6\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\17\62\1\140" + "\6\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\141\12\62\1\142\1\143\4\62" |
| + "\3\0\2\62\2\76\2\144\1\76\1\144\3\76\1\144" + "\1\76\1\144\26\76\3\144\1\76\1\132\2\77\2\0" + "\1\77\1\0\3\77\1\0\1\77\1\0\33\77\1\100" + "\1\145\2\146\1\100\1\146\3\100\1\146\1\100\1\146" + "\33\100\2\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\147\12\77\1\150\1\151\11\77\2\102" + "\2\152\1\102\1\152\3\102\1\152\1\102\1\152\32\102" + "\1\153\2\103\2\0\1\103\1\0\3\103\1\0\1\103" + "\1\0\26\103\3\0\2\103\12\0\1\154\34\0\2\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\1\155" + "\6\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\4\17\1\156\2\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\4\17\1\157" + "\2\17\1\0\23\17\2\113\2\0\1\113\2\0\1\113" + "\1\160\1\0\1\113\1\0\7\113\1\0\23\113\2\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\4\17" + "\1\161\2\17\1\0\23\17\2\31\6\0\1\31\1\0" + "\1\31\1\0\16\31\1\162\7\31\4\0\1\31\27\0" + "\1\163\17\0\1\121\1\164\45\121\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\12\42\1\165\22\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\15\42" |
| + "\1\166\15\42\46\124\1\167\2\42\2\0\1\42\1\0" + "\3\42\1\0\1\42\1\0\11\42\1\170\23\42\2\0" + "\1\42\1\0\3\42\1\0\1\42\1\0\12\42\1\171" + "\22\42\2\0\1\42\1\0\3\42\1\0\1\42\1\0" + "\15\42\1\172\15\42\13\0\1\173\33\0\1\133\1\174" + "\45\133\2\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\4\62\1\175\21\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\4\62\1\176\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\4\62\1\177\21\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\20\62\1\200\5\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\11\62\1\201\14\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\2\62\1\202\23\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\203\25\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\5\62\1\204\20\62\3\0" + "\2\62\46\144\1\174\1\146\1\205\45\146\2\77\2\0" + "\1\77\1\0\3\77\1\0\1\77\1\0\2\77\1\206" + "\32\77\2\0\1\77\1\0\3\77\1\0\1\77\1\0" + "\1\207\34\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\210\25\77\46\152\1\211\2\17\2\0" |
| + "\1\17\2\0\1\17\2\0\1\17\1\0\2\17\1\212" + "\4\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\5\17\1\213\1\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\1\17\1\214\23\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\1\17\1\215\5\17\1\0\23\17\2\31" + "\6\0\1\31\1\0\1\31\1\0\17\31\1\216\6\31" + "\4\0\1\31\32\0\1\217\14\0\2\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\4\42\1\220\30\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\1\42" + "\1\221\33\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\4\42\1\222\30\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\4\42\1\223\30\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\1\42\1\224\31\42" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\5\62\1\225\20\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\10\62\1\226\15\62\3\0" + "\4\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\11\62\1\227\14\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\1\230\25\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\4\62" + "\1\231\21\62\3\0\4\62\2\0\1\62\1\0\3\62" |
| + "\1\0\1\62\1\0\13\62\1\232\12\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\24\62" + "\1\233\1\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\25\62\1\234\3\0\2\62\2\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\13\77" + "\1\235\21\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\24\77\1\236\10\77\2\0\1\77\1\0\3\77" + "\1\0\1\77\1\0\25\77\1\237\5\77\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\1\240\6\17" + "\1\0\25\17\2\0\1\17\2\0\1\17\2\0\1\17" + "\1\0\4\17\1\241\2\17\1\0\25\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\242\2\17" + "\1\0\25\17\2\0\1\17\2\0\1\17\2\0\1\17" + "\1\0\5\17\1\243\1\17\1\0\23\17\2\31\6\0" + "\1\31\1\0\1\31\1\0\11\31\1\244\14\31\4\0" + "\1\31\33\0\1\245\13\0\2\42\2\0\1\42\1\0" + "\3\42\1\0\1\42\1\0\1\246\34\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\5\42\1\247\27\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\11\42" + "\1\250\23\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\1\251\34\42\2\0\1\42\1\0\3\42\1\0" + "\1\42\1\0\5\42\1\252\25\42\2\62\2\0\1\62" |
| + "\1\0\3\62\1\0\1\62\1\0\4\62\1\253\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\22\62\1\254\3\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\4\62\1\255\21\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\21\62\1\256\4\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\11\62\1\257\14\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\62\1\260\24\62\3\0\4\62\2\0\1\62" + "\1\0\3\62\1\0\1\62\1\0\14\62\1\261\11\62" + "\3\0\4\62\2\0\1\62\1\0\3\62\1\0\1\62" + "\1\0\1\262\25\62\3\0\2\62\2\77\2\0\1\77" + "\1\0\3\77\1\0\1\77\1\0\1\77\1\263\33\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\14\77" + "\1\264\20\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\1\265\32\77\2\17\2\0\1\17\2\0\1\17" + "\2\0\1\17\1\0\3\17\1\266\3\17\1\0\25\17" + "\2\0\1\17\2\0\1\17\2\0\1\17\1\0\6\17" + "\1\267\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\5\17\1\270\1\17\1\0\25\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\7\17\1\0" + "\2\17\1\271\20\17\2\31\6\0\1\31\1\0\1\31" |
| + "\1\0\4\31\1\272\21\31\4\0\1\31\25\0\1\273" + "\21\0\2\42\2\0\1\42\1\0\3\42\1\0\1\42" + "\1\0\2\42\1\274\32\42\2\0\1\42\1\0\3\42" + "\1\0\1\42\1\0\16\42\1\274\16\42\2\0\1\42" + "\1\0\3\42\1\0\1\42\1\0\2\42\1\275\32\42" + "\2\0\1\42\1\0\3\42\1\0\1\42\1\0\16\42" + "\1\276\14\42\2\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\277\1\300\17\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\1\301" + "\25\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\302\20\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\12\62\1\303" + "\13\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\5\62\1\234\20\62\3\0\4\62\2\0" + "\1\62\1\0\3\62\1\0\1\62\1\0\5\62\1\304" + "\20\62\3\0\4\62\2\0\1\62\1\0\3\62\1\0" + "\1\62\1\0\17\62\1\132\6\62\3\0\2\62\2\77" + "\2\0\1\77\1\0\3\77\1\0\1\77\1\0\5\77" + "\1\305\27\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\5\77\1\306\27\77\2\0\1\77\1\0\3\77" + "\1\0\1\77\1\0\17\77\1\307\13\77\2\17\2\0" + "\1\17\2\0\1\17\2\0\1\17\1\0\4\17\1\310" |
| + "\2\17\1\0\25\17\2\0\1\17\2\0\1\17\2\0" + "\1\17\1\0\7\17\1\0\1\311\24\17\2\0\1\17" + "\2\0\1\17\2\0\1\17\1\0\4\17\1\312\2\17" + "\1\0\23\17\2\31\6\0\1\31\1\0\1\31\1\0" + "\11\31\1\313\14\31\4\0\1\31\20\0\1\314\26\0" + "\2\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\1\315\25\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\3\62\1\316\22\62\3\0\4\62" + "\2\0\1\62\1\0\3\62\1\0\1\62\1\0\10\62" + "\1\317\15\62\3\0\4\62\2\0\1\62\1\0\3\62" + "\1\0\1\62\1\0\20\62\1\234\5\62\3\0\2\62" + "\2\77\2\0\1\77\1\0\3\77\1\0\1\77\1\0" + "\1\320\34\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\20\77\1\321\12\77\2\17\2\0\1\17\2\0" + "\1\17\2\0\1\17\1\0\3\17\1\322\3\17\1\0" + "\23\17\25\0\1\323\21\0\2\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\12\62\1\324\13\62\3\0" + "\4\62\2\0\1\62\1\0\3\62\1\0\1\62\1\0" + "\12\62\1\325\13\62\3\0\4\62\2\0\1\62\1\0" + "\3\62\1\0\1\62\1\0\3\62\1\326\22\62\3\0" + "\2\62\2\77\2\0\1\77\1\0\3\77\1\0\1\77" + "\1\0\17\77\1\327\15\77\2\0\1\77\1\0\3\77" |
| + "\1\0\1\77\1\0\1\330\32\77\2\0\2\323\1\0" + "\1\323\35\0\1\331\3\0\2\77\2\0\1\77\1\0" + "\3\77\1\0\1\77\1\0\17\77\1\332\13\77"; |
| |
| /** |
| * The transition table of the DFA |
| */ |
| final private static int yytrans[] = yy_unpack(); |
| |
| |
| /* error codes */ |
| final private static int YY_UNKNOWN_ERROR = 0; |
| final static int YY_ILLEGAL_STATE = 1; |
| final private static int YY_NO_MATCH = 2; |
| final private static int YY_PUSHBACK_2BIG = 3; |
| |
| /* error messages for the codes above */ |
| final private static String YY_ERROR_MSG[] = {"Unkown internal scanner error", "Internal error: unknown state", "Error: could not match input", "Error: pushback value was too large"}; |
| |
| /** |
| * YY_ATTRIBUTE[aState] contains the attributes of state |
| * <code>aState</code> |
| */ |
| private final static byte YY_ATTRIBUTE[] = {0, 8, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 9, 9, 9, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 9, 1, 1, 1, 9, 1, 1, 0, 9, 1, 1, 9, 1, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 9, 1}; |
| |
| /** the input device */ |
| private java.io.Reader yy_reader; |
| |
| /** the current state of the DFA */ |
| private int yy_state; |
| |
| /** the current lexical state */ |
| private int yy_lexical_state = YYINITIAL; |
| |
| /** |
| * this buffer contains the current text to be matched and is the source |
| * of the yytext() string |
| */ |
| private char yy_buffer[] = new char[YY_BUFFERSIZE]; |
| |
| /** the textposition at the last accepting state */ |
| private int yy_markedPos; |
| |
| /** the textposition at the last state to be included in yytext */ |
| private int yy_pushbackPos; |
| |
| /** the current text position in the buffer */ |
| private int yy_currentPos; |
| |
| /** startRead marks the beginning of the yytext() string in the buffer */ |
| private int yy_startRead; |
| |
| /** |
| * endRead marks the last character in the buffer, that has been read from |
| * input |
| */ |
| private int yy_endRead; |
| |
| /** number of newlines encountered up to the start of the matched text */ |
| private int yyline; |
| |
| /** the number of characters up to the start of the matched text */ |
| private int yychar; |
| |
| /** |
| * the number of characters from the last newline up to the start of the |
| * matched text |
| */ |
| int yycolumn; |
| |
| /** |
| * yy_atBOL == true <=>the scanner is currently at the beginning of a |
| * line |
| */ |
| boolean yy_atBOL = true; |
| |
| /** yy_atEOF == true <=>the scanner is at the EOF */ |
| private boolean yy_atEOF; |
| |
| /* user code: */ |
| int node_count = 0; |
| String currentString; |
| |
| private Token createToken(String type) { |
| return new Token(type, yytext(), yyline, yychar + startOffset, yylength()); |
| } |
| |
| private int startOffset = 0; |
| |
| public void setStartOffset(int startOffset) { |
| this.startOffset = startOffset; |
| } |
| |
| public void setLine(int line) { |
| this.yyline = line; |
| } |
| |
| |
| /** |
| * Creates a new scanner There is also a java.io.InputStream version of |
| * this constructor. |
| * |
| * @param in |
| * the java.io.Reader to read input from. |
| */ |
| public DTDTokenizer(java.io.Reader in) { |
| this.yy_reader = in; |
| } |
| |
| /** |
| * Creates a new scanner. There is also java.io.Reader version of this |
| * constructor. |
| * |
| * @param in |
| * the java.io.Inputstream to read input from. |
| */ |
| public DTDTokenizer(java.io.InputStream in) { |
| this(new java.io.InputStreamReader(in)); |
| } |
| |
| /** |
| * Unpacks the split, compressed DFA transition table. |
| * |
| * @return the unpacked transition table |
| */ |
| private static int[] yy_unpack() { |
| int[] trans = new int[6630]; |
| int offset = 0; |
| offset = yy_unpack(yy_packed0, offset, trans); |
| return trans; |
| } |
| |
| /** |
| * Unpacks the compressed DFA transition table. |
| * |
| * @param packed |
| * the packed transition table |
| * @return the index of the last entry |
| */ |
| private static int yy_unpack(String packed, int offset, int[] trans) { |
| int i = 0; /* index in packed string */ |
| int j = offset; /* index in unpacked array */ |
| int l = packed.length(); |
| while (i < l) { |
| int count = packed.charAt(i++); |
| int value = packed.charAt(i++); |
| value--; |
| do |
| trans[j++] = value; |
| while (--count > 0); |
| } |
| return j; |
| } |
| |
| /** |
| * Unpacks the compressed character translation table. |
| * |
| * @param packed |
| * the packed character translation table |
| * @return the unpacked character translation table |
| */ |
| private static char[] yy_unpack_cmap(String packed) { |
| char[] map = new char[0x10000]; |
| int i = 0; /* index in packed string */ |
| int j = 0; /* index in unpacked array */ |
| while (i < 130) { |
| int count = packed.charAt(i++); |
| char value = packed.charAt(i++); |
| do |
| map[j++] = value; |
| while (--count > 0); |
| } |
| return map; |
| } |
| |
| |
| /** |
| * Refills the input buffer. |
| * |
| * @return <code>false</code>, iff there was new input. |
| * |
| * @exception java.io.IOException |
| * if any I/O-Error occurs |
| */ |
| private boolean yy_refill() throws java.io.IOException { |
| |
| /* first: make room (if you can) */ |
| if (yy_startRead > 0) { |
| System.arraycopy(yy_buffer, yy_startRead, yy_buffer, 0, yy_endRead - yy_startRead); |
| |
| /* translate stored positions */ |
| yy_endRead -= yy_startRead; |
| yy_currentPos -= yy_startRead; |
| yy_markedPos -= yy_startRead; |
| yy_pushbackPos -= yy_startRead; |
| yy_startRead = 0; |
| } |
| |
| /* is the buffer big enough? */ |
| if (yy_currentPos >= yy_buffer.length) { |
| /* if not: blow it up */ |
| char newBuffer[] = new char[yy_currentPos * 2]; |
| System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length); |
| yy_buffer = newBuffer; |
| } |
| |
| /* finally: fill the buffer with new input */ |
| int numRead = yy_reader.read(yy_buffer, yy_endRead, yy_buffer.length - yy_endRead); |
| |
| if (numRead < 0) { |
| return true; |
| } else { |
| yy_endRead += numRead; |
| return false; |
| } |
| } |
| |
| |
| /** |
| * Closes the input stream. |
| */ |
| final public void yyclose() throws java.io.IOException { |
| yy_atEOF = true; /* indicate end of file */ |
| yy_endRead = yy_startRead; /* invalidate buffer */ |
| |
| if (yy_reader != null) |
| yy_reader.close(); |
| } |
| |
| |
| /** |
| * Closes the current stream, and resets the scanner to read from a new |
| * input stream. |
| * |
| * All internal variables are reset, the old input stream <b>cannot </b> |
| * be reused (internal buffer is discarded and lost). Lexical state is set |
| * to <tt>YY_INITIAL</tt>. |
| * |
| * @param reader |
| * the new input stream |
| */ |
| final public void yyreset(java.io.Reader reader) throws java.io.IOException { |
| yyclose(); |
| yy_reader = reader; |
| yy_atBOL = true; |
| yy_atEOF = false; |
| yy_endRead = yy_startRead = 0; |
| yy_currentPos = yy_markedPos = yy_pushbackPos = 0; |
| yyline = yychar = yycolumn = 0; |
| yy_lexical_state = YYINITIAL; |
| } |
| |
| |
| /** |
| * Returns the current lexical state. |
| */ |
| final public int yystate() { |
| return yy_lexical_state; |
| } |
| |
| |
| /** |
| * Enters a new lexical state |
| * |
| * @param newState |
| * the new lexical state |
| */ |
| final public void yybegin(int newState) { |
| yy_lexical_state = newState; |
| } |
| |
| |
| /** |
| * Returns the text matched by the current regular expression. |
| */ |
| final public String yytext() { |
| return new String(yy_buffer, yy_startRead, yy_markedPos - yy_startRead); |
| } |
| |
| |
| /** |
| * Returns the character at position <tt>pos</tt> from the matched text. |
| * |
| * It is equivalent to yytext().charAt(pos), but faster |
| * |
| * @param pos |
| * the position of the character to fetch. A value from 0 to |
| * yylength()-1. |
| * |
| * @return the character at position pos |
| */ |
| final public char yycharat(int pos) { |
| return yy_buffer[yy_startRead + pos]; |
| } |
| |
| |
| /** |
| * Returns the length of the matched text region. |
| */ |
| final public int yylength() { |
| return yy_markedPos - yy_startRead; |
| } |
| |
| |
| /** |
| * Reports an error that occured while scanning. |
| * |
| * In a wellformed scanner (no or only correct usage of yypushback(int) |
| * and a match-all fallback rule) this method will only be called with |
| * things that "Can't Possibly Happen". If this method is called, |
| * something is seriously wrong (e.g. a JFlex bug producing a faulty |
| * scanner etc.). |
| * |
| * Usual syntax/scanner level error handling should be done in error |
| * fallback rules. |
| * |
| * @param errorCode |
| * the code of the errormessage to display |
| */ |
| private void yy_ScanError(int errorCode) { |
| String message; |
| try { |
| message = YY_ERROR_MSG[errorCode]; |
| } catch (ArrayIndexOutOfBoundsException e) { |
| message = YY_ERROR_MSG[YY_UNKNOWN_ERROR]; |
| } |
| |
| throw new Error(message); |
| } |
| |
| |
| /** |
| * Pushes the specified amount of characters back into the input stream. |
| * |
| * They will be read again by then next call of the scanning method |
| * |
| * @param number |
| * the number of characters to be read again. This number must |
| * not be greater than yylength()! |
| */ |
| private void yypushback(int number) { |
| if (number > yylength()) |
| yy_ScanError(YY_PUSHBACK_2BIG); |
| |
| yy_markedPos -= number; |
| } |
| |
| |
| /** |
| * Resumes scanning until the next regular expression is matched, the end |
| * of input is encountered or an I/O-Error occurs. |
| * |
| * @return the next token |
| * @exception IOException |
| * if any I/O-Error occurs |
| */ |
| public Yytoken yylex() throws java.io.IOException { |
| int yy_input; |
| int yy_action; |
| |
| // cached fields: |
| int yy_currentPos_l; |
| int yy_startRead_l; |
| int yy_markedPos_l; |
| int yy_endRead_l = yy_endRead; |
| char[] yy_buffer_l = yy_buffer; |
| char[] yycmap_l = yycmap; |
| |
| int[] yytrans_l = yytrans; |
| int[] yy_rowMap_l = yy_rowMap; |
| byte[] yy_attr_l = YY_ATTRIBUTE; |
| |
| while (true) { |
| yy_markedPos_l = yy_markedPos; |
| |
| yychar += yy_markedPos_l - yy_startRead; |
| |
| boolean yy_r = false; |
| for (yy_currentPos_l = yy_startRead; yy_currentPos_l < yy_markedPos_l; yy_currentPos_l++) { |
| switch (yy_buffer_l[yy_currentPos_l]) { |
| case '\u000B' : |
| case '\u000C' : |
| case '\u0085' : |
| case '\u2028' : |
| case '\u2029' : |
| yyline++; |
| yy_r = false; |
| break; |
| case '\r' : |
| yyline++; |
| yy_r = true; |
| break; |
| case '\n' : |
| if (yy_r) |
| yy_r = false; |
| else { |
| yyline++; |
| } |
| break; |
| default : |
| yy_r = false; |
| } |
| } |
| |
| if (yy_r) { |
| // peek one character ahead if it is \n (if we have counted |
| // one line too much) |
| boolean yy_peek; |
| if (yy_markedPos_l < yy_endRead_l) |
| yy_peek = yy_buffer_l[yy_markedPos_l] == '\n'; |
| else if (yy_atEOF) |
| yy_peek = false; |
| else { |
| boolean eof = yy_refill(); |
| yy_markedPos_l = yy_markedPos; |
| yy_buffer_l = yy_buffer; |
| if (eof) |
| yy_peek = false; |
| else |
| yy_peek = yy_buffer_l[yy_markedPos_l] == '\n'; |
| } |
| if (yy_peek) |
| yyline--; |
| } |
| yy_action = -1; |
| |
| yy_startRead_l = yy_currentPos_l = yy_currentPos = yy_startRead = yy_markedPos_l; |
| |
| yy_state = yy_lexical_state; |
| |
| |
| yy_forAction : { |
| while (true) { |
| |
| if (yy_currentPos_l < yy_endRead_l) |
| yy_input = yy_buffer_l[yy_currentPos_l++]; |
| else if (yy_atEOF) { |
| yy_input = YYEOF; |
| break yy_forAction; |
| } else { |
| // store back cached positions |
| yy_currentPos = yy_currentPos_l; |
| yy_markedPos = yy_markedPos_l; |
| boolean eof = yy_refill(); |
| // get translated positions and possibly new buffer |
| yy_currentPos_l = yy_currentPos; |
| yy_markedPos_l = yy_markedPos; |
| yy_buffer_l = yy_buffer; |
| yy_endRead_l = yy_endRead; |
| if (eof) { |
| yy_input = YYEOF; |
| break yy_forAction; |
| } else { |
| yy_input = yy_buffer_l[yy_currentPos_l++]; |
| } |
| } |
| int yy_next = yytrans_l[yy_rowMap_l[yy_state] + yycmap_l[yy_input]]; |
| if (yy_next == -1) |
| break yy_forAction; |
| yy_state = yy_next; |
| |
| int yy_attributes = yy_attr_l[yy_state]; |
| if ((yy_attributes & 1) == 1) { |
| yy_action = yy_state; |
| yy_markedPos_l = yy_currentPos_l; |
| if ((yy_attributes & 8) == 8) |
| break yy_forAction; |
| } |
| |
| } |
| } |
| |
| // store back cached position |
| yy_markedPos = yy_markedPos_l; |
| |
| switch (yy_action) { |
| |
| case 26 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [197] { yypushback(yylength()); |
| // yybegin(YYINITIAL); }"); |
| { |
| yypushback(yylength()); |
| yybegin(YYINITIAL); |
| } |
| case 219 : |
| break; |
| case 89 : |
| case 123 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [231] { yypushback(yylength()); |
| // yybegin(ATTRIBUTE_DEFAULT); }"); |
| { |
| yypushback(yylength()); |
| yybegin(ATTRIBUTE_DEFAULT); |
| } |
| case 220 : |
| break; |
| case 12 : |
| case 62 : |
| case 63 : |
| case 64 : |
| case 65 : |
| case 102 : |
| case 103 : |
| case 104 : |
| case 133 : |
| case 134 : |
| case 135 : |
| case 156 : |
| case 157 : |
| case 158 : |
| case 178 : |
| case 179 : |
| case 180 : |
| case 196 : |
| case 197 : |
| case 207 : |
| case 208 : |
| case 215 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [247] { yypushback(yylength()); |
| // yybegin(ATTLIST_CONTENT); }"); |
| { |
| yypushback(yylength()); |
| yybegin(ATTLIST_CONTENT); |
| } |
| case 221 : |
| break; |
| case 51 : |
| case 52 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [217] { yypushback(yylength()); |
| // yybegin(ATTLIST_CONTENT); }"); |
| { |
| yypushback(yylength()); |
| yybegin(ATTLIST_CONTENT); |
| } |
| case 222 : |
| break; |
| case 205 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [227] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.NMTOKEN_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.NMTOKEN_KEYWORD); |
| } |
| case 223 : |
| break; |
| case 194 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [224] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.IDREFS_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.IDREFS_KEYWORD); |
| } |
| case 224 : |
| break; |
| case 191 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [225] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.ENTITY_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.ENTITY_KEYWORD); |
| } |
| case 225 : |
| break; |
| case 107 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [174] { |
| // yybegin(COMMENT_CONTENT); return |
| // createToken(DTDRegionTypes.COMMENT_START); }"); |
| { |
| yybegin(COMMENT_CONTENT); |
| return createToken(DTDRegionTypes.COMMENT_START); |
| } |
| case 226 : |
| break; |
| case 48 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [211] { |
| // yybegin(ATTRIBUTE_CONTENT); return |
| // createToken(DTDRegionTypes.ATTRIBUTE_NAME); }"); |
| { |
| yybegin(ATTRIBUTE_CONTENT); |
| return createToken(DTDRegionTypes.ATTRIBUTE_NAME); |
| } |
| case 227 : |
| break; |
| case 39 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [283] { |
| // yybegin(EXTERNALID_CONTENT); return |
| // createToken(DTDRegionTypes.NAME); }"); |
| { |
| yybegin(EXTERNALID_CONTENT); |
| return createToken(DTDRegionTypes.NAME); |
| } |
| case 228 : |
| break; |
| case 106 : |
| case 136 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [245] { |
| // yybegin(ATTLIST_CONTENT); return |
| // createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }"); |
| { |
| yybegin(ATTLIST_CONTENT); |
| return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); |
| } |
| case 229 : |
| break; |
| case 100 : |
| case 132 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [246] { |
| // yybegin(ATTLIST_CONTENT); return |
| // createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }"); |
| { |
| yybegin(ATTLIST_CONTENT); |
| return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); |
| } |
| case 230 : |
| break; |
| case 202 : |
| case 216 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [189] { return |
| // createToken(DTDRegionTypes.CONTENT_PCDATA); }"); |
| { |
| return createToken(DTDRegionTypes.CONTENT_PCDATA); |
| } |
| case 231 : |
| break; |
| case 189 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [290] { return |
| // createToken(DTDRegionTypes.PUBLIC_KEYWORD); }"); |
| { |
| return createToken(DTDRegionTypes.PUBLIC_KEYWORD); |
| } |
| case 232 : |
| break; |
| case 188 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [289] { return |
| // createToken(DTDRegionTypes.SYSTEM_KEYWORD); }"); |
| { |
| return createToken(DTDRegionTypes.SYSTEM_KEYWORD); |
| } |
| case 233 : |
| break; |
| case 14 : |
| case 20 : |
| case 21 : |
| case 23 : |
| case 71 : |
| case 72 : |
| case 73 : |
| case 75 : |
| case 108 : |
| case 109 : |
| case 110 : |
| case 112 : |
| case 137 : |
| case 138 : |
| case 139 : |
| case 140 : |
| case 159 : |
| case 160 : |
| case 161 : |
| case 162 : |
| case 181 : |
| case 183 : |
| case 184 : |
| case 200 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [182] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 234 : |
| break; |
| case 4 : |
| case 33 : |
| case 34 : |
| case 35 : |
| case 36 : |
| case 37 : |
| case 81 : |
| case 82 : |
| case 116 : |
| case 117 : |
| case 143 : |
| case 144 : |
| case 165 : |
| case 166 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [275] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 235 : |
| break; |
| case 7 : |
| case 40 : |
| case 41 : |
| case 42 : |
| case 85 : |
| case 86 : |
| case 87 : |
| case 119 : |
| case 120 : |
| case 121 : |
| case 145 : |
| case 146 : |
| case 147 : |
| case 168 : |
| case 169 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [294] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 236 : |
| break; |
| case 9 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [205] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 237 : |
| break; |
| case 10 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [212] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 238 : |
| break; |
| case 43 : |
| case 45 : |
| case 46 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [309] { return |
| // createToken(DTDRegionTypes.COMMENT_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.COMMENT_CONTENT); |
| } |
| case 239 : |
| break; |
| case 60 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [236] { return |
| // createToken(DTDRegionTypes.UNKNOWN_CONTENT); }"); |
| { |
| return createToken(DTDRegionTypes.UNKNOWN_CONTENT); |
| } |
| case 240 : |
| break; |
| case 198 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [244] { return |
| // createToken(DTDRegionTypes.FIXED_KEYWORD); }"); |
| { |
| return createToken(DTDRegionTypes.FIXED_KEYWORD); |
| } |
| case 241 : |
| break; |
| case 214 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [243] { |
| // yybegin(ATTLIST_CONTENT); return |
| // createToken(DTDRegionTypes.IMPLIED_KEYWORD); }"); |
| { |
| yybegin(ATTLIST_CONTENT); |
| return createToken(DTDRegionTypes.IMPLIED_KEYWORD); |
| } |
| case 242 : |
| break; |
| case 212 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [228] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.NMTOKENS_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.NMTOKENS_KEYWORD); |
| } |
| case 243 : |
| break; |
| case 211 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [226] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.ENTITIES_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.ENTITIES_KEYWORD); |
| } |
| case 244 : |
| break; |
| case 209 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [176] { yybegin(NOTATION_NAME); |
| // return createToken(DTDRegionTypes.NOTATION_TAG); }"); |
| { |
| yybegin(NOTATION_NAME); |
| return createToken(DTDRegionTypes.NOTATION_TAG); |
| } |
| case 245 : |
| break; |
| case 201 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [177] { yybegin(ATTLIST_NAME); |
| // return createToken(DTDRegionTypes.ATTLIST_TAG); }"); |
| { |
| yybegin(ATTLIST_NAME); |
| return createToken(DTDRegionTypes.ATTLIST_TAG); |
| } |
| case 246 : |
| break; |
| case 199 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [173] { yybegin(ELEMENT_NAME); |
| // return createToken(DTDRegionTypes.ELEMENT_TAG); }"); |
| { |
| yybegin(ELEMENT_NAME); |
| return createToken(DTDRegionTypes.ELEMENT_TAG); |
| } |
| case 247 : |
| break; |
| case 182 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [175] { yybegin(ENTITY_NAME); |
| // return createToken(DTDRegionTypes.ENTITY_TAG); }"); |
| { |
| yybegin(ENTITY_NAME); |
| return createToken(DTDRegionTypes.ENTITY_TAG); |
| } |
| case 248 : |
| break; |
| case 167 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [293] { yybegin(NDATA_CONTENT); |
| // return createToken(DTDRegionTypes.NDATA_KEYWORD); }"); |
| { |
| yybegin(NDATA_CONTENT); |
| return createToken(DTDRegionTypes.NDATA_KEYWORD); |
| } |
| case 249 : |
| break; |
| case 111 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [179] { return |
| // createToken(DTDRegionTypes.ENTITY_PARM); }"); |
| { |
| return createToken(DTDRegionTypes.ENTITY_PARM); |
| } |
| case 250 : |
| break; |
| case 94 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [222] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.ID_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.ID_KEYWORD); |
| } |
| case 251 : |
| break; |
| case 25 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [194] { return |
| // createToken(DTDRegionTypes.OCCUR_TYPE); }"); |
| { |
| return createToken(DTDRegionTypes.OCCUR_TYPE); |
| } |
| case 252 : |
| break; |
| case 16 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [169] { return |
| // createToken(DTDRegionTypes.EXCLAMATION); }"); |
| { |
| return createToken(DTDRegionTypes.EXCLAMATION); |
| } |
| case 253 : |
| break; |
| case 15 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [184] { return |
| // createToken(DTDRegionTypes.WHITESPACE); }"); |
| { |
| return createToken(DTDRegionTypes.WHITESPACE); |
| } |
| case 254 : |
| break; |
| case 11 : |
| case 49 : |
| case 50 : |
| case 54 : |
| case 55 : |
| case 56 : |
| case 57 : |
| case 58 : |
| case 61 : |
| case 91 : |
| case 92 : |
| case 93 : |
| case 95 : |
| case 96 : |
| case 97 : |
| case 98 : |
| case 124 : |
| case 125 : |
| case 126 : |
| case 127 : |
| case 128 : |
| case 129 : |
| case 130 : |
| case 131 : |
| case 148 : |
| case 149 : |
| case 150 : |
| case 151 : |
| case 152 : |
| case 153 : |
| case 154 : |
| case 155 : |
| case 170 : |
| case 171 : |
| case 172 : |
| case 175 : |
| case 176 : |
| case 177 : |
| case 190 : |
| case 192 : |
| case 193 : |
| case 195 : |
| case 204 : |
| case 206 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [235] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.PARM_ENTITY_TYPE); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.PARM_ENTITY_TYPE); |
| } |
| case 255 : |
| break; |
| case 28 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [192] { return |
| // createToken(DTDRegionTypes.LEFT_PAREN); }"); |
| { |
| return createToken(DTDRegionTypes.LEFT_PAREN); |
| } |
| case 256 : |
| break; |
| case 29 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [195] { return |
| // createToken(DTDRegionTypes.RIGHT_PAREN); }"); |
| { |
| return createToken(DTDRegionTypes.RIGHT_PAREN); |
| } |
| case 257 : |
| break; |
| case 44 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [308] { return |
| // createToken(DTDRegionTypes.WHITESPACE); }"); |
| { |
| return createToken(DTDRegionTypes.WHITESPACE); |
| } |
| case 258 : |
| break; |
| case 53 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [218] { return |
| // createToken(DTDRegionTypes.WHITESPACE); }"); |
| { |
| return createToken(DTDRegionTypes.WHITESPACE); |
| } |
| case 259 : |
| break; |
| case 59 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [234] { yypushback(yylength()); |
| // yybegin(ATTRIBUTE_ENUMERATION); }"); |
| { |
| yypushback(yylength()); |
| yybegin(ATTRIBUTE_ENUMERATION); |
| } |
| case 260 : |
| break; |
| case 67 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [253] { return |
| // createToken(DTDRegionTypes.LEFT_PAREN); }"); |
| { |
| return createToken(DTDRegionTypes.LEFT_PAREN); |
| } |
| case 261 : |
| break; |
| case 68 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [255] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.RIGHT_PAREN); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.RIGHT_PAREN); |
| } |
| case 262 : |
| break; |
| case 69 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [254] { return |
| // createToken(DTDRegionTypes.ENUM_CHOICE); }"); |
| { |
| return createToken(DTDRegionTypes.ENUM_CHOICE); |
| } |
| case 263 : |
| break; |
| case 31 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [265] { yybegin(ENTITY_CONTENT); |
| // return createToken(DTDRegionTypes.NAME); }"); |
| { |
| yybegin(ENTITY_CONTENT); |
| return createToken(DTDRegionTypes.NAME); |
| } |
| case 264 : |
| break; |
| case 47 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [204] { |
| // yybegin(ATTLIST_CONTENT); return |
| // createToken(DTDRegionTypes.NAME); }"); |
| { |
| yybegin(ATTLIST_CONTENT); |
| return createToken(DTDRegionTypes.NAME); |
| } |
| case 265 : |
| break; |
| case 187 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [272] { yypushback(yylength()); |
| // yybegin(EXTERNALID_CONTENT); }"); |
| { |
| yypushback(yylength()); |
| yybegin(EXTERNALID_CONTENT); |
| } |
| case 266 : |
| break; |
| case 213 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [229] { |
| // yybegin(ATTRIBUTE_ENUMERATION); return |
| // createToken(DTDRegionTypes.NOTATION_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_ENUMERATION); |
| return createToken(DTDRegionTypes.NOTATION_KEYWORD); |
| } |
| case 267 : |
| break; |
| case 174 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [220] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.CDATA_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.CDATA_KEYWORD); |
| } |
| case 268 : |
| break; |
| case 173 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [223] { |
| // yybegin(ATTRIBUTE_DEFAULT); return |
| // createToken(DTDRegionTypes.IDREF_KEYWORD); }"); |
| { |
| yybegin(ATTRIBUTE_DEFAULT); |
| return createToken(DTDRegionTypes.IDREF_KEYWORD); |
| } |
| case 269 : |
| break; |
| case 217 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [242] { |
| // yybegin(ATTLIST_CONTENT); return |
| // createToken(DTDRegionTypes.REQUIRED_KEYWORD); }"); |
| { |
| yybegin(ATTLIST_CONTENT); |
| return createToken(DTDRegionTypes.REQUIRED_KEYWORD); |
| } |
| case 270 : |
| break; |
| case 122 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [307] { yybegin(YYINITIAL); |
| // return createToken(DTDRegionTypes.COMMENT_END); }"); |
| { |
| yybegin(YYINITIAL); |
| return createToken(DTDRegionTypes.COMMENT_END); |
| } |
| case 271 : |
| break; |
| case 84 : |
| case 118 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [273] { return |
| // createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); }"); |
| { |
| return createToken(DTDRegionTypes.SINGLEQUOTED_LITERAL); |
| } |
| case 272 : |
| break; |
| case 79 : |
| case 115 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [274] { return |
| // createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); }"); |
| { |
| return createToken(DTDRegionTypes.DOUBLEQUOTED_LITERAL); |
| } |
| case 273 : |
| break; |
| case 24 : |
| case 27 : |
| case 76 : |
| case 113 : |
| case 141 : |
| case 163 : |
| case 185 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [190] { return |
| // createToken(DTDRegionTypes.NAME); }"); |
| { |
| return createToken(DTDRegionTypes.NAME); |
| } |
| case 274 : |
| break; |
| case 5 : |
| case 38 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [300] { yybegin(YYINITIAL); |
| // return createToken(DTDRegionTypes.NDATA_VALUE); }"); |
| { |
| yybegin(YYINITIAL); |
| return createToken(DTDRegionTypes.NDATA_VALUE); |
| } |
| case 275 : |
| break; |
| case 13 : |
| case 66 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [256] { return |
| // createToken(DTDRegionTypes.NAME); }"); |
| { |
| return createToken(DTDRegionTypes.NAME); |
| } |
| case 276 : |
| break; |
| case 18 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [167] { return |
| // createToken(DTDRegionTypes.START_TAG); }"); |
| { |
| return createToken(DTDRegionTypes.START_TAG); |
| } |
| case 277 : |
| break; |
| case 17 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [171] { return |
| // createToken(DTDRegionTypes.SEMICOLON); }"); |
| { |
| return createToken(DTDRegionTypes.SEMICOLON); |
| } |
| case 278 : |
| break; |
| case 30 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [193] { return |
| // createToken(DTDRegionTypes.CONNECTOR); }"); |
| { |
| return createToken(DTDRegionTypes.CONNECTOR); |
| } |
| case 279 : |
| break; |
| case 22 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [170] { return |
| // createToken(DTDRegionTypes.PERCENT); }"); |
| { |
| return createToken(DTDRegionTypes.PERCENT); |
| } |
| case 280 : |
| break; |
| case 19 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [168] { return |
| // createToken(DTDRegionTypes.END_TAG); }"); |
| { |
| return createToken(DTDRegionTypes.END_TAG); |
| } |
| case 281 : |
| break; |
| case 32 : |
| //System.out.println("line: "+(yyline+1)+" "+"match: |
| // --"+yytext()+"--"); |
| //System.out.println("action [264] { return |
| // createToken(DTDRegionTypes.PERCENT); }"); |
| { |
| return createToken(DTDRegionTypes.PERCENT); |
| } |
| case 282 : |
| break; |
| default : |
| if (yy_input == YYEOF && yy_startRead == yy_currentPos) { |
| yy_atEOF = true; |
| return null; |
| } else { |
| yy_ScanError(YY_NO_MATCH); |
| } |
| } |
| } |
| } |
| |
| /** |
| * Runs the scanner on input files. |
| * |
| * This main method is the debugging routine for the scanner. It prints |
| * debugging information about each returned token to System.out until the |
| * end of file is reached, or an error occured. |
| * |
| * @param argv |
| * the command line, contains the filenames to run the scanner |
| * on. |
| */ |
| public static void main(String argv[]) { |
| if (argv.length == 0) { |
| System.out.println("Usage : java DTDTokenizer <inputfile>"); |
| } else { |
| for (int i = 0; i < argv.length; i++) { |
| DTDTokenizer scanner = null; |
| try { |
| scanner = new DTDTokenizer(new java.io.FileReader(argv[i])); |
| do { |
| System.out.println(scanner.yylex()); |
| } while (!scanner.yy_atEOF); |
| |
| } catch (java.io.FileNotFoundException e) { |
| System.out.println("File not found : \"" + argv[i] + "\""); |
| } catch (java.io.IOException e) { |
| System.out.println("IO error scanning file \"" + argv[i] + "\""); |
| System.out.println(e); |
| } catch (Exception e) { |
| System.out.println("Unexpected exception:"); |
| e.printStackTrace(); |
| } |
| } |
| } |
| } |
| |
| |
| } |