diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java | 3706 |
1 files changed, 0 insertions, 3706 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java deleted file mode 100644 index 46d9faff58..0000000000 --- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.java +++ /dev/null @@ -1,3706 +0,0 @@ -/* The following code was generated by JFlex 1.2.2 on 6/7/06 1:46 AM */ - -/******************************************************************************* - * Copyright (c) 2004, 2006 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 - *******************************************************************************/ - -/*nlsXXX*/ - -package org.eclipse.jst.jsp.core.internal.parser.internal; - -import java.io.CharArrayReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jst.jsp.core.internal.Logger; -import org.eclipse.jst.jsp.core.internal.regions.DOMJSPRegionContexts; -import org.eclipse.wst.sse.core.internal.ltk.parser.BlockMarker; -import org.eclipse.wst.sse.core.internal.ltk.parser.BlockTokenizer; -import org.eclipse.wst.sse.core.internal.ltk.parser.TagMarker; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList; -import org.eclipse.wst.sse.core.internal.util.Debug; -import org.eclipse.wst.sse.core.utils.StringUtils; -import org.eclipse.wst.xml.core.internal.parser.ContextRegionContainer; -import org.eclipse.wst.xml.core.internal.parser.IntStack; - - -/** - * This class is a scanner generated by - * <a href="http://www.informatik.tu-muenchen.de/~kleing/jflex/">JFlex</a> 1.2.2 - * on 6/7/06 1:46 AM from the specification file - * <tt>file:/D:/eclipse.wtp/workspace/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/HTMLTokenizer/devel/JSPTokenizer.jflex</tt> - */ -public class JSPTokenizer implements BlockTokenizer, DOMJSPRegionContexts { - - /** this character denotes the end of file */ - final public static int YYEOF = -1; - - /** lexical states */ - final public static int ST_JSP_VBL_DQUOTES = 52; - final public static int ST_JSP_VBL_SQUOTES = 51; - final public static int ST_JSP_VBL_SQUOTES_END = 53; - final public static int ST_XML_COMMENT_END = 4; - final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE = 21; - final public static int ST_JSP_EL_SQUOTES_END = 46; - final public static int ST_JSP_EL_DQUOTES = 45; - final public static int ST_JSP_EL = 43; - final public static int ST_BLOCK_TAG_SCAN = 36; - final public static int ST_JSP_EL_SQUOTES = 44; - final public static int ST_DHTML_ATTRIBUTE_VALUE = 14; - final public static int ST_XML_PI_ATTRIBUTE_NAME = 8; - final public static int ST_DHTML_TAG_CLOSE = 15; - final public static int ST_XML_ATTRIBUTE_VALUE_DQUOTED = 41; - final public static int ST_DHTML_EQUALS = 13; - final public static int ST_XML_PI_ATTRIBUTE_VALUE = 10; - final public static int ST_XML_ATTRIBUTE_VALUE = 25; - final public static int ST_JSP_VBL = 50; - final public static int ST_JSP_SQUOTED_VBL = 56; - final public static int ST_XML_ATTRIBUTE_VALUE_SQUOTED = 40; - final public static int ST_XML_ATTRIBUTE_NAME = 23; - final public static int ST_XML_EQUALS = 24; - final public static int YYINITIAL = 0; - final public static int ST_JSP_DIRECTIVE_ATTRIBUTE_NAME = 19; - final public static int ST_JSP_CONTENT = 16; - final public static int ST_XML_DOCTYPE_ID_SYSTEM = 31; - final public static int ST_XML_ELEMENT_DECLARATION = 32; - final public static int ST_XML_DECLARATION_CLOSE = 27; - final public static int ST_JSP_DIRECTIVE_EQUALS = 20; - final public static int ST_JSP_VBL_DQUOTES_END = 54; - final public static int ST_JSP_DQUOTED_EL = 48; - final public static int ST_XML_DOCTYPE_DECLARATION = 28; - final public static int ST_CDATA_END = 2; - final public static int ST_PI_WS = 6; - final public static int ST_CDATA_TEXT = 1; - final public static int ST_JSP_DIRECTIVE_NAME_WHITESPACE = 18; - final public static int ST_XML_ELEMENT_DECLARATION_CONTENT = 33; - final public static int ST_XML_ATTLIST_DECLARATION = 34; - final public static int ST_JSP_EL_DQUOTES_END = 47; - final public static int ST_JSP_SQUOTED_EL = 49; - final public static int ST_JSP_COMMENT_END = 39; - final public static int ST_XML_PI_EQUALS = 9; - final public static int ST_XML_ATTLIST_DECLARATION_CONTENT = 35; - final public static int ST_XML_DOCTYPE_ID_PUBLIC = 30; - final public static int ST_JSP_DQUOTED_VBL = 55; - final public static int ST_DHTML_ATTRIBUTE_NAME = 12; - final public static int ST_ABORT_EMBEDDED = 42; - final public static int ST_XML_DOCTYPE_EXTERNAL_ID = 29; - final public static int ST_JSP_COMMENT = 38; - final public static int ST_PI_CONTENT = 7; - final public static int ST_BLOCK_TAG_INTERNAL_SCAN = 37; - final public static int ST_PI = 5; - final public static int ST_XML_DECLARATION = 26; - final public static int ST_JSP_DIRECTIVE_NAME = 17; - final public static int ST_XML_TAG_NAME = 22; - final public static int ST_XML_PI_TAG_CLOSE = 11; - final public static int ST_XML_COMMENT = 3; - - /** - * Translates characters to character classes - */ - final private static String yycmap_packed = - "\11\0\1\5\1\26\2\0\1\17\22\0\1\17\1\25\1\12\1\63"+ - "\1\15\1\22\1\13\1\14\1\24\1\24\1\24\1\24\1\24\1\7"+ - "\1\6\1\3\12\20\1\11\1\70\1\1\1\50\1\2\1\4\1\21"+ - "\1\37\1\71\1\35\1\36\1\54\1\66\1\60\1\60\1\61\1\60"+ - "\1\60\1\32\1\31\1\62\1\51\1\53\1\60\1\65\1\64\1\40"+ - "\1\67\2\60\1\27\1\52\1\60\1\34\1\102\1\23\1\0\1\10"+ - "\1\0\1\56\1\101\1\72\1\57\1\42\1\66\1\73\1\60\1\45"+ - "\1\76\1\60\1\33\1\31\1\47\1\46\1\77\1\60\1\43\1\44"+ - "\1\55\1\100\1\41\1\60\1\30\1\52\1\60\1\16\1\0\1\103"+ - "\71\0\1\75\10\0\27\74\1\0\37\74\1\0\72\74\2\0\13\74"+ - "\2\0\10\74\1\0\65\74\1\0\104\74\11\0\44\74\3\0\2\74"+ - "\4\0\36\74\70\0\131\74\22\0\7\74\16\0\2\75\56\0\106\75"+ - "\32\0\2\75\44\0\1\74\1\75\3\74\1\0\1\74\1\0\24\74"+ - "\1\0\54\74\1\0\7\74\3\0\1\74\1\0\1\74\1\0\1\74"+ - "\1\0\1\74\1\0\22\74\15\0\14\74\1\0\102\74\1\0\14\74"+ - "\1\0\44\74\1\0\4\75\11\0\65\74\2\0\2\74\2\0\2\74"+ - "\3\0\34\74\2\0\10\74\2\0\2\74\67\0\46\74\2\0\1\74"+ - "\7\0\46\74\12\0\21\75\1\0\27\75\1\0\3\75\1\0\1\75"+ - "\1\0\2\75\1\0\1\75\13\0\33\74\5\0\3\74\56\0\32\74"+ - "\5\0\1\75\12\74\10\75\15\0\12\75\6\0\1\75\107\74\2\0"+ - "\5\74\1\0\17\74\1\0\4\74\1\0\1\74\17\75\2\74\2\75"+ - "\1\0\4\75\2\0\12\75\u0207\0\3\75\1\0\65\74\2\0\1\75"+ - "\1\74\20\75\3\0\4\75\3\0\12\74\2\75\2\0\12\75\21\0"+ - "\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0\7\74\1\0"+ - "\1\74\3\0\4\74\2\0\1\75\1\0\7\75\2\0\2\75\2\0"+ - "\3\75\11\0\1\75\4\0\2\74\1\0\3\74\2\75\2\0\12\75"+ - "\2\74\20\0\1\75\2\0\6\74\4\0\2\74\2\0\26\74\1\0"+ - "\7\74\1\0\2\74\1\0\2\74\1\0\2\74\2\0\1\75\1\0"+ - "\5\75\4\0\2\75\2\0\3\75\13\0\4\74\1\0\1\74\7\0"+ - "\12\75\2\75\3\74\14\0\3\75\1\0\7\74\1\0\1\74\1\0"+ - "\3\74\1\0\26\74\1\0\7\74\1\0\2\74\1\0\5\74\2\0"+ - "\1\75\1\74\10\75\1\0\3\75\1\0\3\75\22\0\1\74\5\0"+ - "\12\75\21\0\3\75\1\0\10\74\2\0\2\74\2\0\26\74\1\0"+ - "\7\74\1\0\2\74\2\0\4\74\2\0\1\75\1\74\6\75\3\0"+ - "\2\75\2\0\3\75\10\0\2\75\4\0\2\74\1\0\3\74\4\0"+ - "\12\75\22\0\2\75\1\0\6\74\3\0\3\74\1\0\4\74\3\0"+ - "\2\74\1\0\1\74\1\0\2\74\3\0\2\74\3\0\3\74\3\0"+ - "\10\74\1\0\3\74\4\0\5\75\3\0\3\75\1\0\4\75\11\0"+ - "\1\75\17\0\11\75\21\0\3\75\1\0\10\74\1\0\3\74\1\0"+ - "\27\74\1\0\12\74\1\0\5\74\4\0\7\75\1\0\3\75\1\0"+ - "\4\75\7\0\2\75\11\0\2\74\4\0\12\75\22\0\2\75\1\0"+ - "\10\74\1\0\3\74\1\0\27\74\1\0\12\74\1\0\5\74\4\0"+ - "\7\75\1\0\3\75\1\0\4\75\7\0\2\75\7\0\1\74\1\0"+ - "\2\74\4\0\12\75\22\0\2\75\1\0\10\74\1\0\3\74\1\0"+ - "\27\74\1\0\20\74\4\0\6\75\2\0\3\75\1\0\4\75\11\0"+ - "\1\75\10\0\2\74\4\0\12\75\221\0\56\74\1\0\1\74\1\75"+ - "\2\74\7\75\5\0\6\74\1\75\10\75\1\0\12\75\47\0\2\74"+ - "\1\0\1\74\2\0\2\74\1\0\1\74\2\0\1\74\6\0\4\74"+ - "\1\0\7\74\1\0\3\74\1\0\1\74\1\0\1\74\2\0\2\74"+ - "\1\0\2\74\1\0\1\74\1\75\2\74\6\75\1\0\2\75\1\74"+ - "\2\0\5\74\1\0\1\75\1\0\6\75\2\0\12\75\76\0\2\75"+ - "\6\0\12\75\13\0\1\75\1\0\1\75\1\0\1\75\4\0\2\75"+ - "\10\74\1\0\41\74\7\0\24\75\1\0\6\75\4\0\6\75\1\0"+ - "\1\75\1\0\25\75\3\0\7\75\1\0\1\75\346\0\46\74\12\0"+ - "\47\74\11\0\1\74\1\0\2\74\1\0\3\74\1\0\1\74\1\0"+ - "\2\74\1\0\5\74\51\0\1\74\1\0\1\74\1\0\1\74\13\0"+ - "\1\74\1\0\1\74\1\0\1\74\3\0\2\74\3\0\1\74\5\0"+ - "\3\74\1\0\1\74\1\0\1\74\1\0\1\74\1\0\1\74\3\0"+ - "\2\74\3\0\2\74\1\0\1\74\50\0\1\74\11\0\1\74\2\0"+ - "\1\74\2\0\2\74\7\0\2\74\1\0\1\74\1\0\7\74\50\0"+ - "\1\74\4\0\1\74\10\0\1\74\u0c06\0\234\74\4\0\132\74\6\0"+ - "\26\74\2\0\6\74\2\0\46\74\2\0\6\74\2\0\10\74\1\0"+ - "\1\74\1\0\1\74\1\0\1\74\1\0\37\74\2\0\65\74\1\0"+ - "\7\74\1\0\1\74\3\0\3\74\1\0\7\74\3\0\4\74\2\0"+ - "\6\74\4\0\15\74\5\0\3\74\1\0\7\74\323\0\15\75\4\0"+ - "\1\75\104\0\1\74\3\0\2\74\2\0\1\74\121\0\3\74\u0e82\0"+ - "\1\75\1\0\1\74\31\0\11\74\6\75\1\0\5\75\13\0\124\74"+ - "\4\0\2\75\2\0\2\75\2\0\132\74\1\0\3\75\6\0\50\74"+ - "\u1cd3\0\u51a6\74\u0c5a\0\u2ba4\74\134\0\u0800\0\u1ffe\0\2\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, 68, 136, 204, 272, 340, 408, 476, 544, 612, - 680, 748, 816, 884, 952, 1020, 1088, 1156, 1224, 1292, - 1360, 1428, 1496, 1564, 1632, 1700, 1768, 1836, 1904, 1972, - 2040, 2108, 2176, 2244, 2312, 2380, 2448, 2516, 2584, 2652, - 2720, 2788, 2856, 2924, 2992, 3060, 3128, 3196, 3264, 3332, - 3400, 3468, 3536, 3604, 3672, 3740, 3808, 3876, 3944, 4012, - 4080, 4148, 4216, 4284, 4352, 4284, 4352, 4420, 4284, 4284, - 4352, 4488, 4556, 4624, 4692, 4760, 4828, 4896, 4284, 4352, - 4964, 5032, 5100, 4284, 5168, 5168, 5236, 5304, 5372, 4964, - 4284, 5440, 5508, 4284, 5576, 5644, 5712, 5780, 4284, 4352, - 5848, 5916, 5984, 6052, 6120, 6188, 4284, 6256, 6256, 6324, - 6392, 6460, 6528, 6596, 4284, 6664, 6732, 6800, 6868, 6936, - 7004, 4284, 7072, 7140, 7208, 7276, 7344, 7412, 7480, 7548, - 4284, 7616, 7684, 7752, 7820, 7888, 7956, 8024, 8092, 8092, - 8160, 8228, 8296, 8364, 8364, 8432, 8500, 8568, 8636, 8636, - 8704, 8772, 8840, 8908, 4284, 8976, 8976, 9044, 9112, 9180, - 9248, 4284, 4284, 4352, 9316, 4284, 4352, 9384, 9452, 9520, - 9588, 4284, 9656, 9724, 9792, 9860, 4284, 9928, 9996, 10064, - 10132, 4284, 4284, 10200, 4284, 10268, 10336, 10268, 10404, 10472, - 10404, 4284, 4284, 10540, 10608, 10676, 4284, 10744, 10812, 10880, - 10948, 11016, 4284, 4284, 11084, 4284, 11152, 11220, 11152, 11288, - 11356, 11288, 4284, 4284, 11424, 11492, 11560, 4284, 11628, 11696, - 11764, 4284, 4284, 11832, 11900, 11968, 12036, 12104, 4284, 12172, - 12240, 12308, 12376, 12444, 12512, 12580, 12648, 12716, 4284, 12784, - 12852, 4284, 4284, 5168, 5304, 4284, 12920, 5372, 12988, 5440, - 5576, 5644, 13056, 5712, 4284, 13124, 13192, 5780, 13260, 4284, - 11900, 4284, 6256, 6324, 4284, 13328, 6392, 13396, 4284, 13464, - 13532, 7072, 13600, 7276, 4284, 13668, 7344, 13736, 13804, 13872, - 13940, 14008, 14076, 7820, 4284, 14144, 14212, 8092, 8160, 4284, - 14280, 14348, 14416, 14484, 14552, 8296, 8092, 8364, 8432, 4284, - 8500, 8568, 8364, 8636, 8704, 4284, 14620, 14688, 14756, 14824, - 14892, 14960, 15028, 8976, 9044, 4284, 15096, 15164, 15232, 15300, - 15368, 15436, 15504, 15572, 15640, 4284, 4284, 4284, 15708, 4284, - 4284, 15776, 15844, 15912, 15980, 10268, 4284, 16048, 16116, 10404, - 4284, 16184, 16252, 16320, 16388, 16456, 16524, 16592, 16660, 16728, - 10948, 11152, 4284, 16796, 16864, 11288, 4284, 16932, 17000, 17068, - 17136, 17204, 17272, 17340, 17408, 17476, 4284, 4284, 4284, 17544, - 17612, 17680, 17748, 17816, 4284, 17884, 17952, 4284, 4284, 4284, - 4284, 4284, 4692, 18020, 18088, 18156, 18224, 18292, 18360, 18292, - 18428, 18496, 18428, 18564, 18632, 18700, 18768, 18836, 18904, 18972, - 18972, 19040, 19108, 19108, 19176, 8840, 8840, 19244, 19312, 19380, - 19380, 19448, 9180, 9180, 19516, 19584, 15912, 19652, 10064, 10064, - 19720, 19788, 10268, 10268, 19856, 19924, 10404, 10404, 19992, 20060, - 10540, 10540, 16456, 20128, 20196, 10744, 10744, 16660, 20264, 20332, - 10948, 10948, 20400, 11152, 11152, 20468, 20536, 11288, 11288, 20604, - 20672, 11424, 11424, 17204, 20740, 20808, 11628, 11628, 17408, 20876, - 4284, 4284, 20944, 21012, 4284, 21080, 21148, 21216, 7072, 4284, - 4284, 21284, 21352, 21420, 21488, 21556, 14484, 14824, 8840, 21624, - 15300, 9180, 21692, 4284, 10064, 10268, 21760, 10404, 21828, 10540, - 21896, 4284, 10744, 21964, 10948, 11152, 22032, 11288, 22100, 11424, - 22168, 4284, 11628, 22236, 22304, 22372, 22440, 22508, 22576, 22644, - 22712, 22780, 22848, 22916, 22984, 23052, 23120, 23188, 23256, 23324, - 23392, 23460, 23528, 23596, 4692, 23664, 23732, 23800, 23868, 23936, - 4284, 4284, 24004, 24072, 24140, 24208, 16456, 16660, 24276, 24344, - 17204, 17408, 24412, 24480, 24548, 4284, 4284, 4284, 24616, 24684, - 24752, 24820, 24888, 24956, 25024, 6800, 25092, 25160, 25228, 25296, - 25364, 25432, 25500, 4284, 25568, 8840, 9180, 10268, 10404, 11152, - 11288, 25636, 25704, 25772, 25840, 25908, 25976, 26044, 26112, 26180, - 26248, 26316, 26384, 26452, 26520, 26588, 26656, 26724, 26792, 26860, - 26928, 26996, 27064, 27132, 27200, 27268, 27336, 27404, 27472, 27540, - 27608, 27676, 27744, 27812, 27880, 27948, 28016, 28084, 28152, 28220, - 28288, 4284, 28356, 28424, 28492, 28560, 6800, 28628, 28696, 28764, - 28832, 28900, 28968, 29036, 29104, 29172, 29240, 29308, 29376, 29444, - 29512 - }; - - /** - * The packed transition table of the DFA - */ - final private static String yy_packed = - "\1\72\1\73\11\72\1\74\1\72\1\75\4\72\1\76"+ - "\40\72\1\77\20\72\1\100\1\101\102\100\1\102\1\103"+ - "\21\102\1\104\2\102\1\105\55\102\1\106\1\107\102\106"+ - "\1\102\1\103\5\102\1\110\16\102\1\105\56\102\1\103"+ - "\2\102\1\111\1\112\2\102\2\113\5\102\1\112\6\102"+ - "\1\112\2\114\3\113\1\102\10\113\1\115\2\113\1\102"+ - "\10\113\1\115\1\113\1\102\4\113\1\102\4\113\1\102"+ - "\4\113\3\102\1\103\2\102\1\111\1\116\11\102\1\116"+ - "\6\102\1\116\55\102\1\117\1\120\2\117\1\121\21\117"+ - "\1\105\55\117\1\102\1\103\2\102\1\122\1\112\2\102"+ - "\2\123\5\102\1\112\6\102\1\112\5\123\1\102\13\123"+ - "\1\102\12\123\1\102\4\123\1\102\4\123\1\102\4\123"+ - "\3\102\1\103\2\102\1\122\1\112\2\102\2\123\5\102"+ - "\1\112\6\102\1\112\5\123\1\102\13\123\1\124\12\123"+ - "\1\102\4\123\1\102\4\123\1\102\4\123\2\102\1\125"+ - "\1\103\1\102\1\126\1\127\1\112\4\125\1\130\1\125"+ - "\1\131\2\125\1\112\6\125\1\112\55\125\1\102\1\103"+ - "\2\102\1\132\21\102\1\105\56\102\1\103\1\133\1\134"+ - "\1\102\1\112\2\102\2\135\5\102\1\112\6\102\1\112"+ - "\5\135\1\102\13\135\1\102\12\135\1\102\4\135\1\102"+ - "\4\135\1\102\4\135\3\102\1\103\1\133\1\134\1\102"+ - "\1\112\2\102\2\135\5\102\1\112\6\102\1\112\5\135"+ - "\1\102\13\135\1\136\12\135\1\102\4\135\1\102\4\135"+ - "\1\102\4\135\2\102\1\137\1\103\1\133\1\140\1\137"+ - "\1\112\4\137\1\141\1\137\1\142\2\137\1\112\6\137"+ - "\1\112\55\137\1\102\1\103\3\102\1\112\11\102\1\112"+ - "\6\102\1\112\55\102\1\143\1\144\20\143\1\145\61\143"+ - "\1\102\1\146\3\102\1\112\2\102\2\147\5\102\1\112"+ - "\2\102\1\150\3\102\1\112\5\147\1\102\13\147\1\102"+ - "\12\147\1\102\4\147\1\102\4\147\1\102\4\147\3\102"+ - "\1\146\3\102\1\151\11\102\1\151\2\102\1\150\3\102"+ - "\1\151\56\102\1\146\3\102\1\112\2\102\2\152\5\102"+ - "\1\112\2\102\1\150\3\102\1\112\5\152\1\102\13\152"+ - "\1\102\12\152\1\102\4\152\1\102\4\152\1\102\4\152"+ - "\3\102\1\146\3\102\1\112\2\102\2\152\5\102\1\112"+ - "\2\102\1\150\3\102\1\112\5\152\1\102\13\152\1\153"+ - "\12\152\1\102\4\152\1\102\4\152\1\102\4\152\2\102"+ - "\1\154\1\146\1\102\1\155\1\154\1\112\4\154\1\156"+ - "\1\154\1\157\2\154\1\112\2\154\1\160\3\154\1\112"+ - "\55\154\1\161\1\162\1\163\1\164\4\161\2\165\15\161"+ - "\5\166\1\161\13\166\1\161\12\166\1\161\4\166\1\161"+ - "\4\166\1\161\1\167\3\166\2\161\1\102\1\170\1\163"+ - "\1\164\1\102\1\112\2\102\2\171\5\102\1\112\6\102"+ - "\1\112\5\171\1\102\13\171\1\102\12\171\1\102\4\171"+ - "\1\102\4\171\1\102\4\171\3\102\1\170\1\163\1\164"+ - "\1\102\1\112\2\102\2\171\5\102\1\112\6\102\1\112"+ - "\5\171\1\102\13\171\1\172\12\171\1\102\4\171\1\102"+ - "\4\171\1\102\4\171\2\102\1\173\1\174\1\163\1\175"+ - "\1\173\1\112\4\173\1\176\1\173\1\177\1\200\1\173"+ - "\1\112\6\173\1\112\34\173\1\201\20\173\1\102\1\202"+ - "\1\203\2\102\1\112\11\102\1\112\6\102\1\112\7\102"+ - "\1\204\1\205\2\102\1\206\11\102\1\206\1\102\1\205"+ - "\1\204\25\102\1\103\1\203\2\102\1\112\11\102\1\112"+ - "\6\102\1\112\5\102\1\207\50\102\1\103\1\203\2\102"+ - "\1\112\2\102\2\210\5\102\1\112\6\102\1\112\5\210"+ - "\1\207\13\210\1\102\12\210\1\102\4\210\1\102\4\210"+ - "\1\102\4\210\3\102\1\103\1\203\2\102\1\112\11\102"+ - "\1\112\6\102\1\112\5\102\1\207\7\102\1\211\6\102"+ - "\1\212\10\102\1\211\12\102\1\212\4\102\1\213\1\103"+ - "\1\203\1\214\1\213\1\112\4\213\1\215\1\213\1\216"+ - "\2\213\1\112\6\213\1\112\5\213\1\217\47\213\1\220"+ - "\1\103\1\203\1\221\1\220\1\112\4\220\1\222\1\220"+ - "\1\223\2\220\1\112\6\220\1\112\5\220\1\224\47\220"+ - "\1\225\1\103\1\203\1\226\1\225\1\112\4\225\1\227"+ - "\1\225\1\230\2\225\1\112\6\225\1\112\55\225\1\231"+ - "\1\232\1\233\101\231\1\234\1\103\1\203\1\235\1\234"+ - "\1\112\4\234\1\236\1\234\1\237\2\234\1\112\6\234"+ - "\1\112\55\234\1\240\1\241\1\242\101\240\1\243\1\244"+ - "\102\243\1\102\1\245\24\102\1\105\55\102\1\246\1\247"+ - "\102\246\1\102\1\103\5\102\1\250\16\102\1\105\55\102"+ - "\1\251\1\252\3\251\1\253\6\251\1\254\1\255\1\251"+ - "\1\253\6\251\1\253\34\251\1\256\20\251\1\257\1\252"+ - "\3\257\1\260\4\257\1\261\2\257\1\262\1\257\1\260"+ - "\6\257\1\260\34\257\1\263\20\257\1\102\1\103\24\102"+ - "\1\105\55\102\1\264\1\265\10\264\1\266\1\264\1\267"+ - "\1\270\65\264\1\271\1\272\1\273\12\272\1\102\11\272"+ - "\1\274\55\272\1\275\1\276\10\275\1\102\13\275\1\277"+ - "\55\275\1\102\1\103\12\102\1\300\11\102\1\105\56\102"+ - "\1\103\10\102\1\301\13\102\1\105\55\102\1\302\1\303"+ - "\10\302\1\261\67\302\1\304\1\305\1\306\1\307\12\306"+ - "\1\254\65\306\1\310\1\305\1\311\1\312\10\311\1\313"+ - "\1\311\1\314\46\311\1\315\17\311\1\316\1\317\1\320"+ - "\12\317\1\102\11\317\1\321\55\317\1\322\1\323\10\322"+ - "\1\102\13\322\1\324\55\322\1\102\1\103\12\102\1\325"+ - "\11\102\1\105\56\102\1\103\10\102\1\326\13\102\1\105"+ - "\55\102\1\327\1\330\10\327\1\261\67\327\1\331\1\332"+ - "\1\333\1\334\12\333\1\254\65\333\1\335\1\332\1\72"+ - "\1\0\11\72\1\0\1\72\1\0\4\72\1\0\40\72"+ - "\1\0\20\72\3\0\1\336\1\337\15\0\1\340\2\0"+ - "\1\341\63\0\1\342\2\0\2\343\5\0\1\342\6\0"+ - "\1\342\5\343\1\0\13\343\1\0\12\343\1\344\4\343"+ - "\1\0\4\343\1\0\4\343\2\0\1\345\1\0\11\345"+ - "\1\0\1\345\1\346\1\347\3\345\1\0\61\345\5\0"+ - "\1\342\2\0\2\350\5\0\1\342\6\0\1\342\5\350"+ - "\1\0\13\350\1\0\12\350\1\0\4\350\1\0\4\350"+ - "\1\0\4\350\2\0\1\345\1\0\11\345\1\0\2\345"+ - "\1\351\3\345\1\0\40\345\1\352\20\345\126\0\1\353"+ - "\2\0\1\354\101\0\1\355\67\0\1\356\76\0\1\357"+ - "\106\0\1\112\11\0\1\112\6\0\1\112\63\0\4\113"+ - "\6\0\1\113\6\0\5\113\1\0\13\113\1\0\12\113"+ - "\1\0\4\113\1\0\11\113\10\0\4\113\6\0\1\113"+ - "\6\0\2\113\1\360\2\113\1\0\13\113\1\0\12\113"+ - "\1\0\4\113\1\0\11\113\10\0\4\113\6\0\1\113"+ - "\6\0\2\113\1\361\2\113\1\0\13\113\1\0\12\113"+ - "\1\0\4\113\1\0\11\113\7\0\1\116\11\0\1\116"+ - "\6\0\1\116\57\0\1\362\103\0\1\363\107\0\4\123"+ - "\6\0\1\123\6\0\5\123\1\0\13\123\1\0\12\123"+ - "\1\0\4\123\1\0\11\123\2\0\1\125\2\0\1\364"+ - "\1\125\1\0\4\125\1\0\1\125\1\0\2\125\1\0"+ - "\6\125\1\0\56\125\1\0\1\363\1\364\1\125\1\0"+ - "\4\125\1\0\1\125\1\0\2\125\1\0\6\125\1\0"+ - "\55\125\1\365\1\0\10\365\1\366\2\365\1\367\45\365"+ - "\1\367\20\365\1\370\1\0\12\370\1\366\1\371\45\370"+ - "\1\371\20\370\2\0\1\133\1\372\106\0\4\135\6\0"+ - "\1\135\6\0\5\135\1\0\13\135\1\0\12\135\1\0"+ - "\4\135\1\0\11\135\2\0\1\137\2\0\1\373\1\137"+ - "\1\0\4\137\1\0\1\137\1\0\2\137\1\0\6\137"+ - "\1\0\56\137\1\0\1\133\1\374\1\137\1\0\4\137"+ - "\1\0\1\137\1\0\2\137\1\0\6\137\1\0\55\137"+ - "\1\141\1\0\1\375\1\376\1\141\1\375\4\141\1\377"+ - "\1\141\1\375\1\u0100\1\141\1\375\6\141\1\375\34\141"+ - "\1\u0100\20\141\1\142\1\0\1\u0101\1\u0102\1\142\1\u0101"+ - "\4\142\1\u0101\1\142\1\377\1\u0103\1\142\1\u0101\6\142"+ - "\1\u0101\34\142\1\u0103\20\142\2\0\1\u0104\123\0\1\353"+ - "\2\0\1\u0105\64\0\4\147\6\0\1\147\6\0\5\147"+ - "\1\0\13\147\1\0\12\147\1\0\4\147\1\0\11\147"+ - "\4\0\1\u0106\106\0\1\151\11\0\1\151\6\0\1\151"+ - "\63\0\4\152\6\0\1\152\6\0\5\152\1\0\13\152"+ - "\1\0\12\152\1\0\4\152\1\0\11\152\2\0\1\154"+ - "\2\0\1\u0107\1\154\1\0\4\154\1\0\1\154\1\0"+ - "\2\154\1\0\6\154\1\0\55\154\1\u0108\1\0\10\u0108"+ - "\1\u0109\2\u0108\1\u010a\45\u0108\1\u010a\20\u0108\1\u010b\1\0"+ - "\12\u010b\1\u0109\1\u010c\45\u010b\1\u010c\20\u010b\1\154\1\0"+ - "\1\u0106\1\u0107\1\154\1\0\4\154\1\0\1\154\1\0"+ - "\2\154\1\0\6\154\1\0\55\154\1\161\3\0\23\161"+ - "\5\0\1\161\13\0\1\161\12\0\1\161\4\0\1\161"+ - "\4\0\1\161\4\0\2\161\3\0\1\336\16\0\1\353"+ - "\2\0\1\341\60\0\1\u010d\101\0\1\161\3\0\2\161"+ - "\4\165\6\161\1\165\6\161\5\166\1\161\13\166\1\161"+ - "\12\166\1\161\4\166\1\161\4\166\1\165\4\166\2\161"+ - "\6\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\7\166\1\u010e\3\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\5\0\1\336"+ - "\4\0\2\u010f\10\0\1\353\2\0\1\341\1\0\5\u010f"+ - "\1\0\13\u010f\1\0\12\u010f\1\0\4\u010f\1\0\4\u010f"+ - "\1\0\4\u010f\10\0\4\171\6\0\1\171\6\0\5\171"+ - "\1\0\13\171\1\0\12\171\1\0\4\171\1\0\11\171"+ - "\2\0\1\173\2\0\1\u0110\1\173\1\0\4\173\1\0"+ - "\1\173\1\0\2\173\1\0\6\173\1\0\55\173\3\0"+ - "\1\336\4\0\2\u0111\10\0\1\353\2\0\1\341\1\0"+ - "\5\u0111\1\0\13\u0111\1\0\12\u0111\1\0\4\u0111\1\0"+ - "\4\u0111\1\0\4\u0111\2\0\1\173\1\0\1\u010d\1\u0110"+ - "\1\173\1\0\4\173\1\0\1\173\1\0\2\173\1\0"+ - "\6\173\1\0\55\173\1\u0112\1\0\10\u0112\1\u0113\2\u0112"+ - "\1\u0114\45\u0112\1\u0114\20\u0112\1\u0115\1\0\12\u0115\1\u0113"+ - "\1\u0116\45\u0115\1\u0116\20\u0115\1\173\2\0\1\u0110\1\173"+ - "\1\0\4\173\1\0\1\173\1\0\1\173\1\u0117\1\0"+ - "\6\173\1\0\56\173\2\0\1\u0110\1\173\1\0\4\173"+ - "\1\0\1\173\1\0\1\173\1\u0118\1\0\6\173\1\0"+ - "\55\173\3\0\1\336\16\0\1\353\2\0\1\u0105\124\0"+ - "\1\u0119\2\0\1\u0119\72\0\1\u011a\14\0\1\u011a\60\0"+ - "\2\u011b\50\0\23\u011c\1\u011d\60\u011c\6\0\4\210\6\0"+ - "\1\210\6\0\5\210\1\0\13\210\1\0\12\210\1\0"+ - "\4\210\1\0\11\210\54\0\1\u011e\120\0\1\u011f\10\0"+ - "\1\u011f\3\0\1\213\2\0\1\u0120\1\213\1\0\4\213"+ - "\1\0\1\213\1\0\2\213\1\0\6\213\1\0\55\213"+ - "\1\u0121\1\0\10\u0121\1\u0122\2\u0121\1\u0123\45\u0121\1\u0123"+ - "\20\u0121\1\u0124\1\0\1\u0124\2\u0125\1\u0124\4\u0125\2\u0124"+ - "\1\u0126\1\u0127\1\u0124\4\u0125\1\u0124\10\u0125\1\u0124\26\u0125"+ - "\1\u0127\10\u0125\2\u0124\4\u0125\2\u0124\1\217\2\u011c\1\u0128"+ - "\1\217\1\u011c\4\217\1\u011c\1\217\1\u011c\2\217\1\u011c"+ - "\3\217\1\u0129\2\217\1\u011c\55\217\1\220\2\0\1\u012a"+ - "\1\220\1\0\4\220\1\0\1\220\1\0\2\220\1\0"+ - "\6\220\1\0\55\220\12\u012b\1\u012c\71\u012b\14\u012d\1\u012c"+ - "\67\u012d\1\224\2\u011c\1\u012e\1\224\1\u011c\4\224\1\u011c"+ - "\1\224\1\u011c\2\224\1\u011c\3\224\1\u012f\2\224\1\u011c"+ - "\55\224\1\225\2\0\1\u0130\1\225\1\0\4\225\1\0"+ - "\1\225\1\0\2\225\1\0\6\225\1\0\55\225\1\u0131"+ - "\1\0\10\u0131\1\u0132\2\u0131\1\u0133\45\u0131\1\u0133\20\u0131"+ - "\1\u0134\1\0\1\u0134\2\u0135\1\u0134\4\u0135\2\u0134\1\u0136"+ - "\1\u0137\1\u0134\4\u0135\1\u0134\10\u0135\1\u0134\26\u0135\1\u0137"+ - "\10\u0135\2\u0134\4\u0135\2\u0134\2\231\1\0\103\231\1\0"+ - "\17\231\1\u0138\2\231\1\u0139\56\231\1\234\2\0\1\u013a"+ - "\1\234\1\0\4\234\1\0\1\234\1\0\2\234\1\0"+ - "\6\234\1\0\55\234\1\u013b\1\0\10\u013b\1\u013c\2\u013b"+ - "\1\u013d\45\u013b\1\u013d\20\u013b\1\u013e\1\0\1\u013e\2\u013f"+ - "\1\u013e\4\u013f\2\u013e\1\u0140\1\u0141\1\u013e\4\u013f\1\u013e"+ - "\10\u013f\1\u013e\26\u013f\1\u0141\10\u013f\2\u013e\4\u013f\2\u013e"+ - "\2\240\1\0\103\240\1\0\17\240\1\u0142\2\240\1\u0143"+ - "\56\240\22\0\1\340\2\0\1\354\65\0\1\u0144\74\0"+ - "\1\251\1\0\12\251\1\0\1\u0145\45\251\1\u0145\20\251"+ - "\3\0\1\u0146\16\0\1\353\2\0\1\354\56\0\1\251"+ - "\1\0\3\251\1\253\6\251\1\0\1\u0145\1\251\1\253"+ - "\6\251\1\253\34\251\1\u0145\36\251\1\u0147\103\251\1\u0148"+ - "\65\251\1\257\1\0\10\257\1\0\2\257\1\u0149\45\257"+ - "\1\u0149\21\257\1\0\3\257\1\260\4\257\1\0\2\257"+ - "\1\u0149\1\257\1\260\6\257\1\260\34\257\1\u0149\36\257"+ - "\1\u014a\103\257\1\u014b\65\257\12\264\1\0\1\264\1\0"+ - "\1\u014c\65\264\1\0\12\264\1\0\1\264\1\0\1\u014c"+ - "\4\264\1\u014d\60\264\1\0\12\264\1\0\1\264\1\0"+ - "\1\264\1\u014e\64\264\1\u014f\14\u0150\1\u0151\103\u0150\1\u0151"+ - "\5\u0150\1\u0152\2\u0150\1\u0153\56\u0150\12\u0154\1\u0155\103\u0154"+ - "\1\u0155\7\u0154\1\u0156\2\u0154\1\u0157\56\u0154\12\302\1\0"+ - "\67\302\1\u0158\1\0\12\302\1\0\7\302\1\u0159\57\302"+ - "\1\u0158\1\0\12\302\1\u015a\71\302\14\306\1\0\65\306"+ - "\1\u015b\1\0\14\306\1\0\5\306\1\u015c\57\306\1\u015b"+ - "\1\0\14\306\1\u015d\67\306\12\311\1\0\1\311\1\0"+ - "\66\311\1\0\12\311\1\0\1\311\1\0\5\311\1\u015e"+ - "\60\311\1\0\12\311\1\0\1\311\1\0\1\311\1\u015f"+ - "\64\311\1\0\14\u0160\1\u0161\103\u0160\1\u0161\5\u0160\1\u0162"+ - "\2\u0160\1\u0163\56\u0160\12\u0164\1\u0165\103\u0164\1\u0165\7\u0164"+ - "\1\u0166\2\u0164\1\u0167\56\u0164\12\327\1\0\67\327\1\u0168"+ - "\1\0\12\327\1\0\7\327\1\u0169\57\327\1\u0168\1\0"+ - "\12\327\1\u016a\71\327\14\333\1\0\65\333\1\u016b\1\0"+ - "\14\333\1\0\5\333\1\u016c\57\333\1\u016b\1\0\14\333"+ - "\1\u016d\67\333\7\0\1\u016e\11\0\1\u016f\3\0\1\u0170"+ - "\22\0\1\u0171\42\0\1\u0172\24\0\1\u0173\54\0\1\342"+ - "\2\0\2\u0174\5\0\1\342\6\0\1\342\5\u0174\1\0"+ - "\13\u0174\1\0\12\u0174\1\0\4\u0174\1\0\4\u0174\1\0"+ - "\4\u0174\2\0\1\u0175\1\0\3\u0175\1\u0176\4\343\1\u0175"+ - "\1\0\3\u0175\1\u0176\1\343\1\u0175\1\0\3\u0175\1\u0176"+ - "\5\343\1\u0175\13\343\1\u0175\12\343\1\u0175\4\343\1\u0177"+ - "\11\343\2\u0175\20\0\1\u0178\7\0\1\u0179\70\0\1\346"+ - "\66\0\103\347\1\u017a\1\u0175\1\0\3\u0175\1\u0176\4\350"+ - "\1\u0175\1\0\3\u0175\1\u0176\1\350\1\u0175\1\0\3\u0175"+ - "\1\u0176\5\350\1\u0175\13\350\1\u0175\12\350\1\u0175\4\350"+ - "\1\u017b\11\350\2\u0175\103\351\1\u017c\63\0\1\352\27\0"+ - "\1\u016e\15\0\1\u0170\22\0\1\u0171\67\0\1\u0173\51\0"+ - "\1\u017d\103\0\1\u017e\107\0\4\113\6\0\1\113\6\0"+ - "\3\113\2\u017f\1\0\13\113\1\0\12\113\1\0\4\113"+ - "\1\0\11\113\10\0\4\113\6\0\1\113\6\0\5\113"+ - "\1\0\13\113\1\0\2\113\1\u0180\7\113\1\0\4\113"+ - "\1\0\6\113\1\u0180\2\113\2\0\12\365\1\366\3\365"+ - "\1\0\65\365\14\370\1\366\1\370\1\0\65\370\1\375"+ - "\1\0\10\375\1\377\2\375\1\u0181\45\375\1\u0181\20\375"+ - "\1\141\2\375\1\376\1\141\1\375\4\141\1\377\1\141"+ - "\1\375\1\141\1\137\1\375\6\141\1\375\55\141\1\u0101"+ - "\1\0\12\u0101\1\377\1\u0182\45\u0101\1\u0182\20\u0101\1\142"+ - "\2\u0101\1\u0102\1\142\1\u0101\4\142\1\u0101\1\142\1\377"+ - "\1\142\1\137\1\u0101\6\142\1\u0101\55\142\12\u0108\1\u0109"+ - "\3\u0108\1\0\65\u0108\14\u010b\1\u0109\1\u010b\1\0\65\u010b"+ - "\6\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+ - "\1\0\12\166\1\0\4\166\1\0\6\166\1\u0183\2\166"+ - "\10\0\4\u010f\6\0\1\u010f\6\0\5\u010f\1\0\13\u010f"+ - "\1\0\12\u010f\1\0\4\u010f\1\0\11\u010f\10\0\4\u0111"+ - "\6\0\1\u0111\6\0\5\u0111\1\0\13\u0111\1\0\12\u0111"+ - "\1\0\4\u0111\1\0\11\u0111\2\0\12\u0112\1\u0113\3\u0112"+ - "\1\0\65\u0112\14\u0115\1\u0113\1\u0115\1\0\65\u0115\1\u0184"+ - "\2\u0185\1\u0186\1\u0184\1\u0185\4\u0184\1\u0185\1\u0184\1\u0185"+ - "\2\u0184\1\u0185\6\u0184\1\u0185\54\u0184\1\173\1\u0187\2\u0188"+ - "\1\u0189\1\u0187\1\u0188\4\u0187\1\u0188\1\u0187\1\u0188\2\u0187"+ - "\1\u0188\6\u0187\1\u0188\54\u0187\1\173\35\0\1\u018a\34\0"+ - "\1\u018a\51\0\1\u018b\14\0\1\u018b\70\0\1\u018c\11\0"+ - "\1\u018c\73\0\1\u018d\17\0\1\u018d\110\0\1\u018e\7\0"+ - "\1\u018e\2\0\12\u0121\1\u0122\3\u0121\1\0\65\u0121\1\u0124"+ - "\1\0\12\u0124\1\u0122\1\u018f\45\u0124\1\u018f\21\u0124\1\0"+ - "\12\u0124\1\u0190\1\u018f\45\u0124\1\u018f\20\u0124\14\0\1\u0191"+ - "\67\0\14\u0124\1\u0190\1\u0124\1\0\65\u0124\12\u0131\1\u0132"+ - "\3\u0131\1\0\65\u0131\1\u0134\1\0\12\u0134\1\u0132\1\u0192"+ - "\45\u0134\1\u0192\21\u0134\1\0\12\u0134\1\u0193\1\u0192\45\u0134"+ - "\1\u0192\20\u0134\14\0\1\u0194\67\0\14\u0134\1\u0193\1\u0134"+ - "\1\0\65\u0134\2\231\1\0\4\231\1\u0195\15\231\1\u0196"+ - "\22\231\1\u0197\35\231\1\0\31\231\1\u0198\47\231\12\u013b"+ - "\1\u013c\3\u013b\1\0\65\u013b\1\u013e\1\0\12\u013e\1\u013c"+ - "\1\u0199\45\u013e\1\u0199\21\u013e\1\0\12\u013e\1\u019a\1\u0199"+ - "\45\u013e\1\u0199\20\u013e\14\0\1\u019b\67\0\14\u013e\1\u019a"+ - "\1\u013e\1\0\65\u013e\2\240\1\0\4\240\1\u019c\15\240"+ - "\1\u019d\22\240\1\u019e\35\240\1\0\31\240\1\u019f\47\240"+ - "\22\0\1\u01a0\61\0\16\251\1\0\65\251\16\257\1\0"+ - "\65\257\12\264\1\0\1\264\1\0\1\264\1\u01a1\64\264"+ - "\1\u014f\7\264\1\u01a2\2\264\1\0\1\264\1\0\1\u014c"+ - "\7\264\1\u01a3\22\264\1\u01a4\32\264\1\0\12\u01a1\1\0"+ - "\1\u01a1\1\0\66\u01a1\1\0\12\u014f\1\0\1\u014f\1\0"+ - "\1\u01a5\65\u014f\1\0\7\u0150\1\u01a6\4\u0150\1\u0151\10\u0150"+ - "\1\u01a7\22\u0150\1\u01a8\47\u0150\1\u0151\17\u0150\1\u01a9\47\u0150"+ - "\7\u0154\1\u01aa\2\u0154\1\u0155\12\u0154\1\u01ab\22\u0154\1\u01ac"+ - "\45\u0154\1\u0155\21\u0154\1\u01ad\47\u0154\12\302\1\0\100\302"+ - "\1\u01ae\2\302\1\0\12\302\1\u01af\22\302\1\u01b0\31\302"+ - "\1\u0158\1\0\102\u01b1\1\u01b2\1\u01b1\14\306\1\0\76\306"+ - "\1\u01b3\4\306\1\0\10\306\1\u01b4\22\306\1\u01b5\31\306"+ - "\1\u015b\1\0\102\u01b6\1\u01b7\1\u01b6\7\311\1\u01b8\2\311"+ - "\1\0\1\311\1\0\10\311\1\u01b9\22\311\1\u01ba\32\311"+ - "\1\0\7\u0160\1\u01bb\4\u0160\1\u0161\10\u0160\1\u01bc\22\u0160"+ - "\1\u01bd\47\u0160\1\u0161\17\u0160\1\u01be\47\u0160\7\u0164\1\u01bf"+ - "\2\u0164\1\u0165\12\u0164\1\u01c0\22\u0164\1\u01c1\45\u0164\1\u0165"+ - "\21\u0164\1\u01c2\47\u0164\12\327\1\0\100\327\1\u01c3\2\327"+ - "\1\0\12\327\1\u01c4\22\327\1\u01c5\31\327\1\u0168\1\0"+ - "\102\u01c6\1\u01c7\1\u01c6\14\333\1\0\76\333\1\u01c8\4\333"+ - "\1\0\10\333\1\u01c9\22\333\1\u01ca\31\333\1\u016b\1\0"+ - "\102\u01cb\1\u01cc\1\u01cb\7\0\1\u01cd\103\0\1\u01ce\131\0"+ - "\1\u01cf\46\0\1\u0174\1\0\11\u0174\1\0\6\u0174\1\0"+ - "\61\u0174\1\u0175\1\0\11\u0175\1\0\6\u0175\1\0\45\u0175"+ - "\1\0\14\u0175\1\0\3\u0175\1\u0176\5\u0175\1\0\3\u0175"+ - "\1\u0176\2\u0175\1\0\3\u0175\1\u0176\41\u0175\1\u01d0\13\u0175"+ - "\20\0\1\u0178\47\0\1\u01d1\33\0\1\u01d2\14\0\3\u01d2"+ - "\2\0\1\u01d2\11\0\1\u01d2\1\0\2\u01d2\6\0\1\u01d2"+ - "\2\0\2\u01d2\6\0\1\u01d2\10\0\4\113\6\0\1\113"+ - "\6\0\5\113\1\0\11\113\1\u01d3\1\113\1\0\1\u01d3"+ - "\11\113\1\0\4\113\1\0\11\113\2\0\12\375\1\377"+ - "\3\375\1\0\65\375\14\u0101\1\377\1\u0101\1\0\65\u0101"+ - "\6\0\3\166\1\u01d4\6\0\1\166\6\0\5\166\1\0"+ - "\13\166\1\0\12\166\1\0\4\166\1\0\11\166\2\0"+ - "\1\u0184\2\u0185\1\u0186\1\u0184\1\u0185\4\u0184\1\u0185\1\u0184"+ - "\1\u0185\2\u0184\1\u0185\6\u0184\1\u0185\54\u0184\1\u01d5\103\u0185"+ - "\1\u01d6\1\u0187\2\u0188\1\u0189\1\u0187\1\u0188\4\u0187\1\u0188"+ - "\1\u0187\1\u0188\2\u0187\1\u0188\6\u0187\1\u0188\54\u0187\1\u01d5"+ - "\103\u0188\1\u01d7\40\0\1\u01d8\14\0\1\u01d8\60\0\2\u01d9"+ - "\101\0\1\u01da\112\0\1\u01db\14\0\1\u01db\60\0\2\u01dc"+ - "\50\0\14\u0124\1\u0122\1\u0124\1\0\65\u0124\3\0\2\u01dd"+ - "\1\0\4\u01dd\2\0\1\u0126\1\u01dd\1\0\4\u01dd\1\0"+ - "\10\u01dd\1\0\37\u01dd\2\0\4\u01dd\2\0\14\u0134\1\u0132"+ - "\1\u0134\1\0\65\u0134\3\0\2\u01de\1\0\4\u01de\2\0"+ - "\1\u0136\1\u01de\1\0\4\u01de\1\0\10\u01de\1\0\37\u01de"+ - "\2\0\4\u01de\2\0\2\231\1\0\4\231\1\u01df\76\231"+ - "\1\0\32\231\1\u01e0\46\231\14\u013e\1\u013c\1\u013e\1\0"+ - "\65\u013e\3\0\2\u01e1\1\0\4\u01e1\2\0\1\u0140\1\u01e1"+ - "\1\0\4\u01e1\1\0\10\u01e1\1\0\37\u01e1\2\0\4\u01e1"+ - "\2\0\2\240\1\0\4\240\1\u01e2\76\240\1\0\32\240"+ - "\1\u01e3\46\240\2\0\1\u01e4\101\0\7\264\1\u01e5\2\264"+ - "\1\0\1\264\1\0\1\u014c\65\264\1\0\12\u014f\1\0"+ - "\1\u014f\1\0\1\u014f\1\0\65\u014f\7\u0150\1\u01e6\4\u0150"+ - "\1\u0151\103\u0150\1\u0151\20\u0150\1\u01e7\46\u0150\7\u0154\1\u01e8"+ - "\2\u0154\1\u0155\103\u0154\1\u0155\22\u0154\1\u01e9\46\u0154\7\302"+ - "\1\u01ea\2\302\1\0\67\302\1\u0158\1\0\12\u01eb\1\u01ec"+ - "\70\u01eb\1\0\7\306\1\u01ed\4\306\1\0\65\306\1\u015b"+ - "\1\0\14\u01ee\1\u01ec\66\u01ee\1\0\7\311\1\u01ef\2\311"+ - "\1\0\1\311\1\0\66\311\1\0\7\u0160\1\u01f0\4\u0160"+ - "\1\u0161\103\u0160\1\u0161\20\u0160\1\u01f1\46\u0160\7\u0164\1\u01f2"+ - "\2\u0164\1\u0165\103\u0164\1\u0165\22\u0164\1\u01f3\46\u0164\7\327"+ - "\1\u01f4\2\327\1\0\67\327\1\u0168\1\0\12\u01f5\1\u01f6"+ - "\70\u01f5\1\0\7\333\1\u01f7\4\333\1\0\65\333\1\u016b"+ - "\1\0\14\u01f8\1\u01f6\66\u01f8\37\0\1\u01f9\135\0\1\u01d0"+ - "\33\0\1\u01d2\14\0\3\u01d2\2\0\1\u01d2\11\0\1\u01d2"+ - "\1\0\2\u01d2\6\0\1\u01d2\1\0\1\u01d1\2\u01d2\6\0"+ - "\1\u01d2\10\0\4\113\6\0\1\113\6\0\5\113\1\0"+ - "\6\113\1\u01fa\4\113\1\0\12\113\1\0\1\113\1\u01fa"+ - "\2\113\1\0\11\113\10\0\4\166\6\0\1\166\6\0"+ - "\5\166\1\0\6\166\1\u01fb\4\166\1\0\6\166\1\u01fc"+ - "\3\166\1\0\4\166\1\0\11\166\54\0\1\u01fd\76\0"+ - "\1\u01fe\13\0\1\u01fe\64\0\1\u01ff\11\0\1\u01ff\71\0"+ - "\1\u0200\11\0\1\u0200\74\0\1\u0201\13\0\1\u0201\22\0"+ - "\2\231\1\0\33\231\1\u0202\45\231\2\240\1\0\33\240"+ - "\1\u0203\45\240\14\u0150\1\u0151\21\u0150\1\u0204\45\u0150\12\u0154"+ - "\1\u0155\23\u0154\1\u0205\45\u0154\12\u01eb\1\u01b1\67\u01eb\1\u0206"+ - "\1\u01b1\14\u01ee\1\u01b6\65\u01ee\1\u0207\1\u01b6\14\u0160\1\u0161"+ - "\21\u0160\1\u0208\45\u0160\12\u0164\1\u0165\23\u0164\1\u0209\45\u0164"+ - "\12\u01f5\1\u01c6\67\u01f5\1\u020a\1\u01c6\14\u01f8\1\u01cb\65\u01f8"+ - "\1\u020b\1\u01cb\37\0\1\u020c\52\0\4\113\6\0\1\113"+ - "\6\0\5\113\1\0\3\113\1\u020d\7\113\1\0\4\113"+ - "\1\u020d\5\113\1\0\4\113\1\0\11\113\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\11\166\1\u020e\1\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\10\166\1\u020f\2\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\55\0\1\u0210"+ - "\23\0\1\u0210\50\0\1\u0211\17\0\1\u0211\66\0\1\u0212"+ - "\12\0\1\u0212\52\0\1\u0213\107\0\1\u0214\34\0\1\u0214"+ - "\11\0\2\231\1\0\34\231\1\u0215\44\231\2\240\1\0"+ - "\34\240\1\u0216\44\240\14\u0150\1\u0151\22\u0150\1\u0217\44\u0150"+ - "\12\u0154\1\u0155\24\u0154\1\u0218\44\u0154\12\u01eb\1\u0219\67\u01eb"+ - "\1\u0206\1\u01b1\14\u01ee\1\u021a\65\u01ee\1\u0207\1\u01b6\14\u0160"+ - "\1\u0161\22\u0160\1\u021b\44\u0160\12\u0164\1\u0165\24\u0164\1\u021c"+ - "\44\u0164\12\u01f5\1\u021d\67\u01f5\1\u020a\1\u01c6\14\u01f8\1\u021e"+ - "\65\u01f8\1\u020b\1\u01cb\40\0\1\u021f\51\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\11\166\1\u0220\1\166\1\0"+ - "\12\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\6\166\1\u0221\4\166\1\0"+ - "\12\166\1\0\4\166\1\0\11\166\44\0\1\u0222\11\0"+ - "\1\u0222\67\0\1\u0223\14\0\1\u0223\66\0\1\u0224\14\0"+ - "\1\u0224\26\0\2\231\1\0\35\231\1\u0225\43\231\2\240"+ - "\1\0\35\240\1\u0226\43\240\14\u0150\1\u0151\23\u0150\1\u0227"+ - "\43\u0150\12\u0154\1\u0155\25\u0154\1\u0228\43\u0154\14\u0160\1\u0161"+ - "\23\u0160\1\u0229\43\u0160\12\u0164\1\u0165\25\u0164\1\u022a\43\u0164"+ - "\37\0\1\u022b\52\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\13\166\1\0\4\166\1\u022c\5\166\1\0\4\166"+ - "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\5\166\1\u022d\5\166\1\0\12\166\1\0\4\166"+ - "\1\0\11\166\2\0\2\231\1\0\34\231\1\u022e\44\231"+ - "\2\240\1\0\34\240\1\u022f\44\240\14\u0150\1\u0151\22\u0150"+ - "\1\u0230\44\u0150\12\u0154\1\u0155\24\u0154\1\u0231\44\u0154\14\u0160"+ - "\1\u0161\22\u0160\1\u0232\44\u0160\12\u0164\1\u0165\24\u0164\1\u0233"+ - "\44\u0164\34\0\1\u0234\55\0\4\166\6\0\1\166\6\0"+ - "\5\166\1\0\13\166\1\0\12\166\1\0\4\166\1\0"+ - "\1\166\1\u0235\7\166\2\0\2\231\1\0\31\231\1\u0236"+ - "\47\231\2\240\1\0\31\240\1\u0237\47\240\14\u0150\1\u0151"+ - "\17\u0150\1\u0238\47\u0150\12\u0154\1\u0155\21\u0154\1\u0239\47\u0154"+ - "\14\u0160\1\u0161\17\u0160\1\u023a\47\u0160\12\u0164\1\u0165\21\u0164"+ - "\1\u023b\47\u0164\6\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\13\166\1\0\4\166\1\u023c\5\166\1\0\4\166"+ - "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\10\166\1\u023d\2\166\1\0\12\166\1\0\4\166"+ - "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\4\166\1\u023e\6\166\1\0\12\166\1\0\4\166"+ - "\1\0\11\166\10\0\4\166\6\0\1\166\6\0\5\166"+ - "\1\0\5\166\1\u023f\5\166\1\0\12\166\1\0\4\166"+ - "\1\0\11\166\2\0\6\u0240\4\u0241\6\u0240\1\u0241\5\u0240"+ - "\1\0\5\u0241\1\u0240\13\u0241\1\u0240\12\u0241\1\u0240\4\u0241"+ - "\1\u0240\11\u0241\2\u0240\41\0\1\u0242\3\0\1\u0243\7\0"+ - "\1\u0244\1\u0245\20\0\1\u0246\12\0\4\166\6\0\1\166"+ - "\6\0\5\166\1\0\4\166\1\u0247\3\166\1\u0248\2\166"+ - "\1\0\4\166\1\u0249\1\u024a\4\166\1\0\4\166\1\0"+ - "\6\166\1\u024b\2\166\60\0\1\u024c\74\0\1\u024d\112\0"+ - "\1\u024e\102\0\1\u024f\104\0\1\u0250\33\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\13\166\1\0\5\166\1\u0251"+ - "\4\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\12\166\1\u0252\1\0\12\166"+ - "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+ - "\6\0\5\166\1\0\13\166\1\0\5\166\1\u0253\4\166"+ - "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+ - "\6\0\5\166\1\0\13\166\1\0\4\166\1\u0254\5\166"+ - "\1\0\4\166\1\0\11\166\10\0\4\166\6\0\1\166"+ - "\6\0\5\166\1\0\13\166\1\0\5\166\1\u0255\4\166"+ - "\1\0\4\166\1\0\11\166\45\0\1\u0256\132\0\1\u0257"+ - "\104\0\1\u0258\65\0\1\u0259\121\0\1\u025a\16\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\6\166\1\u025b\4\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\1\166\1\u025c\7\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\2\166\1\u025d\6\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\4\166"+ - "\1\u025e\5\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\2\166\1\u025f\6\166\47\0\1\u0260"+ - "\71\0\1\u0261\103\0\1\u0262\113\0\1\u0263\102\0\1\u0264"+ - "\47\0\4\166\6\0\1\166\6\0\5\166\1\0\10\166"+ - "\1\u0265\2\166\1\0\12\166\1\0\4\166\1\0\11\166"+ - "\10\0\4\166\6\0\1\166\6\0\4\166\1\u0266\1\0"+ - "\13\166\1\0\12\166\1\0\4\166\1\0\11\166\10\0"+ - "\4\166\6\0\1\166\6\0\4\166\1\u0267\1\0\13\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\6\166\1\u0268\4\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\5\166\1\u0269\5\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\60\0\1\u026a"+ - "\125\0\1\u026b\50\0\1\u026c\103\0\1\u026d\44\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\5\166"+ - "\1\u026e\4\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\7\166\1\u026f\1\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\10\166\1\u0270\2\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\10\166\1\u0271\2\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\103\0\1\u0272"+ - "\61\0\1\u025a\125\0\1\u0264\103\0\1\u0273\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\10\166\1\u0274\10\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\13\166\1\0\6\166\1\u025f"+ - "\3\166\1\0\4\166\1\0\11\166\10\0\4\166\6\0"+ - "\1\166\6\0\5\166\1\0\13\166\1\0\12\166\1\0"+ - "\4\166\1\0\10\166\1\u0269\10\0\4\166\6\0\1\166"+ - "\6\0\5\166\1\0\13\166\1\0\12\166\1\0\4\166"+ - "\1\0\10\166\1\u0275\35\0\1\u025a\150\0\1\u0276\11\0"+ - "\4\166\6\0\1\166\6\0\4\166\1\u025f\1\0\13\166"+ - "\1\0\12\166\1\0\4\166\1\0\11\166\10\0\4\166"+ - "\6\0\1\166\6\0\5\166\1\0\13\166\1\0\12\166"+ - "\1\0\4\166\1\0\7\166\1\u0277\1\166\57\0\1\u025a"+ - "\34\0\4\166\6\0\1\166\6\0\5\166\1\0\13\166"+ - "\1\0\4\166\1\u025f\5\166\1\0\4\166\1\0\11\166"+ - "\2\0"; - - /** - * The transition table of the DFA - */ - final private static int yytrans [] = yy_unpack(yy_packed); - - - /* error codes */ - final private static int YY_UNKNOWN_ERROR = 0; - // final private 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", //$NON-NLS-1$ - "Internal error: unknown state", //$NON-NLS-1$ - "Error: could not match input", //$NON-NLS-1$ - "Error: pushback value was too large" //$NON-NLS-1$ - }; - - /** - * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code> - */ - private final static byte YY_ATTRIBUTE[] = { - 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 9, - 1, 9, 1, 1, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, - 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 9, 1, 1, - 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, - 1, 1, 9, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, - 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, - 1, 9, 9, 1, 1, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, - 9, 1, 1, 1, 1, 9, 9, 1, 9, 3, 3, 3, 3, 3, 3, 9, - 9, 1, 1, 1, 9, 1, 1, 1, 1, 1, 9, 9, 1, 9, 3, 3, - 3, 3, 3, 3, 9, 9, 1, 1, 1, 9, 1, 1, 1, 9, 9, 1, - 1, 0, 1, 0, 9, 1, 2, 1, 2, 1, 1, 0, 0, 0, 9, 1, - 1, 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, - 0, 0, 1, 9, 0, 9, 0, 0, 9, 0, 0, 0, 9, 1, 1, 0, - 1, 0, 9, 0, 0, 0, 1, 1, 0, 0, 0, 0, 9, 0, 0, 0, - 0, 9, 0, 0, 0, 1, 0, 0, 1, 0, 0, 9, 0, 0, 1, 0, - 0, 9, 0, 0, 0, 1, 0, 1, 1, 0, 0, 9, 0, 0, 0, 1, - 0, 1, 1, 0, 0, 9, 9, 9, 0, 9, 9, 1, 1, 1, 1, 2, - 13, 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 1, 1, 2, - 13, 3, 2, 2, 13, 3, 2, 0, 1, 1, 0, 1, 1, 0, 9, 9, - 9, 0, 0, 1, 1, 1, 9, 0, 0, 13, 9, 13, 9, 9, 1, 1, - 0, 0, 1, 3, 2, 2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, - 1, 1, 1, 1, 0, 2, 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, - 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 2, 3, 3, 2, 2, 3, - 3, 2, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 9, 9, 0, 1, - 9, 0, 1, 1, 5, 13, 13, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 0, 1, 1, 9, 1, 3, 2, 3, 2, 1, 0, 9, 1, 0, 1, 3, - 2, 3, 2, 1, 0, 9, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 0, 1, 1, 2, 2, 0, 0, 2, 2, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 9, 9, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 0, 1, - 1, 9, 9, 9, 1, 1, 2, 2, 2, 2, 0, 1, 1, 1, 1, 2, - 2, 2, 2, 9, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 0, - 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, - 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, - 1, 0, 0, 1, 1, 0, 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[16384]; - - /** 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 - */ - // private int yycolumn; - - /** - * yy_atBOL == true <=> the scanner is currently at the beginning of a line - */ - // private boolean yy_atBOL; - - /** yy_atEOF == true <=> the scanner has returned a value for EOF */ - private boolean yy_atEOF; - - /** denotes if the user-EOF-code has already been executed */ - private boolean yy_eof_done; - - /* user code: */ - private int fTokenCount = 0; - - // required holders for white-space compacting - private boolean fShouldLoadBuffered = false; - private String fBufferedContext = null; - private int fBufferedStart = 1; - private int fBufferedLength = 0; - private ContextRegionContainer fBufferedEmbeddedContainer = null; - private String f_context = null; - - // state stack for handling embedded regions - private IntStack fStateStack = new IntStack(); - // a "hint" as to what an embedded region should be evaluated - private String fEmbeddedHint = UNDEFINED; - // a "hint" as to what state to enter once an embedded region has - // been completed - private int fEmbeddedPostState = YYINITIAL; - // the container used to create embedded regions - private ContextRegionContainer fEmbeddedContainer = null; - private static final String PROXY_CONTEXT = "PROXY_CONTEXT"; - - private String context = null; - private int start = 0; - private int textLength = 0; - private int length = 0; - - // offset for tracking position specific block tags - private int fOffset = 0; - - // the name of the current tag being opened - private String fCurrentTagName = null; - - // the name of the current tag inside of an embedded region - private String internalTagName = null; - private String internalContext = null; - - // the list of tag name BlockMarkers - private List fBlockMarkers = new ArrayList(0); - private List fNestablePrefixes = new ArrayList(1); - - // where the last internal container block was found - private int fLastInternalBlockStart = -1; - - // required to not seek text blocks on an end tag - private boolean fIsBlockingEnabled = false; - private boolean fIsCaseSensitiveBlocking = true; - - private static final boolean fForbidJSP = false; - - private int fELlevel = 0; - - private JSPParserRegionFactory fRegionFactory = new JSPParserRegionFactory(); - - /** - * user method - */ - public final void addBlockMarker(BlockMarker marker) { - if(containsTagName(marker.getTagName())) - return; - fBlockMarkers.add(marker); - } - /** - * user method - */ - public final void addNestablePrefix(TagMarker marker) { - fNestablePrefixes.add(marker); - } - /* user method */ - public List getNestablePrefixes() { - return fNestablePrefixes; - } - /** - * user method - */ - private boolean isNestable(String tagName) { - //Iterator blocks = fNestablePrefixes.iterator(); - //while(blocks.hasNext()) { - // TagMarker marker = (TagMarker)blocks.next(); - // String markerName = marker.getTagName(); - // if(tagName.length() > markerName.length() + 1 && tagName.startsWith(markerName) && tagName.charAt(markerName.length()) == ':') { - // return marker.isGlobal() || getOffset() >= marker.getMarker().getStart(); - // } - //} - //return false; - return true; - } - /** - * user method - */ - public final void removeNestablePrefix(String name) { - if (fNestablePrefixes != null) { - Iterator nestables = fNestablePrefixes.iterator(); - while (nestables.hasNext()) { - if (((TagMarker) nestables.next()).getTagName().equalsIgnoreCase(name)) - nestables.remove(); - } - } - } - /** - * user method - */ - public final void removeBlockMarker(BlockMarker marker) { - fBlockMarkers.remove(marker); - } - /** - * user method - */ - public final void removeBlockMarker(String tagname) { - if (fBlockMarkers != null) { - Iterator blocks = fBlockMarkers.iterator(); - while (blocks.hasNext()) { - if (((BlockMarker) blocks.next()).getTagName().equals(tagname)) - blocks.remove(); - } - } - } - /* user method */ - private final void assembleEmbeddedTagSequence(String startType, String endTagName) { - assembleEmbeddedContainer(startType, null, endTagName); - } - /* user method */ - private final void assembleEmbeddedContainer(String startType, String[] endTypes) { - assembleEmbeddedContainer(startType, endTypes, null); - } - /* user method */ - private final void assembleEmbeddedContainer(String startType, String endType) { - assembleEmbeddedContainer(startType, new String[]{endType}, null); - } - /** - * user method - * - * Assembles an embedded container beginning with the given startType as - * the first ContextRegion within it and of the type fEmbeddedHint. The - * endTypes[] array contains the context types that will cause a successful - * exit. Use of the endTagName parameter alters this behavior to force an - * exit on an XML_TAG_CLOSE after seeing an XML_TAG_NAME whose significant - * text matches the endTagName String. All contents in between are - * insignificant, and yes, this means comments are allowed inside. - **/ - private final void assembleEmbeddedContainer(String startType, String[] endTypes, String endTagName) { - // the context of the region being added to the embedded container - internalContext = startType; - // keep track of where this container began; to provide relative indeces for the regions - int containerStart = yychar; - boolean notFinished = true; - // keep track of where we seem to be so that the endTagName can be checked - boolean isInEndTag = false; - boolean isInFirstTag = true; - // create the embedded container and setup its "type" - if (fEmbeddedContainer == null) { - fEmbeddedContainer = new ContextRegionContainer(); - fEmbeddedContainer.setType(fEmbeddedHint); - fEmbeddedContainer.setStart(containerStart); - // TODO: parent region needs to be set .... but not sure where to get it from - // fEmbeddedContainer.setParent(parentRegion); - } - containerStart = fEmbeddedContainer.getStart(); - while (notFinished) { - // add the region to the container - if (internalContext != null && internalContext != PROXY_CONTEXT) { - ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength()); - fEmbeddedContainer.getRegions().add(newToken); - fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength()); - fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength()); - // DW, 4/16/2003 token regions no longer have parents - //newToken.setParent(fEmbeddedContainer); - } - try { - // longscan determines whether to attempt a blockTagScan within the embedded container - boolean longscan = false; - // save the tokenizer state in case of a block tag scan - int previousState = yystate(); - String previousCurrentTagName = fCurrentTagName; - int previousPostState = fEmbeddedPostState; - String previousEmbeddedHint = fEmbeddedHint; - // determine if a block tag scan is necessary - if (internalContext == XML_TAG_NAME) { - internalTagName = yytext(); - if(!isNestable(internalTagName)) { - internalTagName = null; - // snagged a tag name we shouldn't have - fEmbeddedPostState = ST_ABORT_EMBEDDED; - notFinished = false; - } - } - else if (internalContext == XML_TAG_OPEN || internalContext == XML_END_TAG_OPEN) { - internalTagName = null; - } - // do upkeep for endTagName usage; must be here since the next token could be the close - if (internalContext == XML_END_TAG_OPEN) { - isInEndTag = true; - } else if (internalContext == XML_TAG_CLOSE) { - isInFirstTag = isInEndTag = false; - } else { - ITextRegionList embeddedRegions = fEmbeddedContainer.getRegions(); - if (embeddedRegions.size() > 2 && (embeddedRegions.get(embeddedRegions.size()-1)).getType() == XML_TAG_CLOSE && (embeddedRegions.get(embeddedRegions.size() - 3)).getType() == XML_TAG_OPEN && internalTagName != null) { - if (containsTagName(internalTagName)) { - longscan = true; - yybegin(ST_BLOCK_TAG_SCAN); - } - } - } - if (longscan) - fCurrentTagName = internalTagName; - // read the next region and context - internalContext = primGetNextToken(); - if (longscan) { - // Returning from a block tag scan requires restoring some state variables - // as well as handling the block region and setting up for normal scanning - // inside the embedded container - ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength()); - fEmbeddedContainer.getRegions().add(newToken); - fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength()); - fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength()); - // DW, 4/16/2003 token regions no longer have parents - // newToken.setParent(fEmbeddedContainer); - longscan = false; - fEmbeddedPostState = previousPostState; - fEmbeddedHint = previousEmbeddedHint; - fCurrentTagName = previousCurrentTagName; - yybegin(previousState); - internalContext = primGetNextToken(); - } - } catch (IOException e) { - // primGetNextToken() calls may throw an IOException - // catch and do nothing since the isEOF check below - // will properly exit if the input was too short - } catch (Exception f) { - // some other exception happened; never should - Logger.logException(f); - } - boolean isEndingType = yystate() == ST_ABORT_EMBEDDED; - if(!isEndingType) { - // check for ending context - if (endTagName == null) { - for (int i = 0; i < endTypes.length; i++) { - isEndingType = isEndingType || (internalContext == endTypes[i]); - } - } - else { - isEndingType = ((isInEndTag && internalContext == XML_TAG_CLOSE) || (isInFirstTag && internalContext == XML_EMPTY_TAG_CLOSE)) && internalTagName != null && internalTagName.equals(endTagName); - } - } - ITextRegionList embeddedList = fEmbeddedContainer.getRegions(); - notFinished = notFinished && ((!isEndingType) && !isEOF() && (endTagName != null || internalContext != UNDEFINED) && !(internalContext == PROXY_CONTEXT && (embeddedList.get(embeddedList.size()-1)).getType() == UNDEFINED)); - } - // finish adding the last context - if (internalContext != null && internalContext != PROXY_CONTEXT) { - ITextRegion newToken = fRegionFactory.createToken(internalContext, yychar - containerStart, yylength(), yylength()); - fEmbeddedContainer.getRegions().add(newToken); - // DW, 4/16/2003 token regions no longer have parents - //newToken.setParent(fEmbeddedContainer); - fEmbeddedContainer.setLength(yychar - containerStart + yylength()); - fEmbeddedContainer.setTextLength(yychar - containerStart + yylength()); - } - yybegin(fEmbeddedPostState); - } - /* user method */ - public final boolean isCaseSensitiveBlocking() { - return fIsCaseSensitiveBlocking; - } - /* user method */ - public final void setCaseSensitiveBlocking(boolean newValue) { - fIsCaseSensitiveBlocking = newValue; - } - /* user method */ - public boolean getBlockMarkerAllowsJSP() { - return getBlockMarkerAllowsJSP(fCurrentTagName); - } - /* user method */ - public boolean getBlockMarkerAllowsJSP(String name) { - Iterator iterator = fBlockMarkers.iterator(); - while(iterator.hasNext()) { - BlockMarker marker = (BlockMarker)iterator.next(); - boolean casesensitive = marker.isCaseSensitive(); - if(casesensitive && marker.getTagName().equals(name)) - return marker.allowsJSP(); - else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name)) - return marker.allowsJSP(); - } - return true; - } - /* user method */ - public boolean getBlockMarkerCaseSensitivity() { - return getBlockMarkerCaseSensitivity(fCurrentTagName); - } - public boolean getBlockMarkerCaseSensitivity(String name) { - Iterator iterator = fBlockMarkers.iterator(); - while(iterator.hasNext()) { - BlockMarker marker = (BlockMarker)iterator.next(); - boolean casesensitive = marker.isCaseSensitive(); - if(casesensitive && marker.getTagName().equals(name)) - return casesensitive; - else if(!casesensitive && marker.getTagName().equalsIgnoreCase(name)) - return casesensitive; - } - return true; - } - /* user method */ - public String getBlockMarkerContext() { - return getBlockMarkerContext(fCurrentTagName); - } - /* user method */ - public String getBlockMarkerContext(String name) { - Iterator iterator = fBlockMarkers.iterator(); - while(iterator.hasNext()) { - BlockMarker marker = (BlockMarker)iterator.next(); - if(marker.getTagName().equals(name)) - return marker.getContext(); - } - return BLOCK_TEXT; - } - /* user method */ - public List getBlockMarkers() { - return fBlockMarkers; - } - /* user method */ - public final int getOffset() { - return fOffset + yychar; - } - private final boolean isBlockMarker() { - return isBlockMarker(fCurrentTagName); - } - private final boolean isBlockMarker(String tagName) { - if (!fIsBlockingEnabled) - return false; - return containsTagName(tagName); - } - /** - * user method - */ - public final void beginBlockTagScan(String newTagName) { - beginBlockMarkerScan(newTagName, BLOCK_TEXT); - } - /** - * user method - * - * Special tokenizer setup. Allows tokenization to be initiated at the - * start of a text block within a "newTagName" tag. - * - * Example: - * Tokenizer toker = new Tokenizer(); - * toker.setCaseSensitiveBlocking(false); - * toker.reset(new java.io.StringReader("afiuhqwkejhtasihgalkwhtq</scripter></scr></script>asgdasga")); - * toker.beginBlockMarkerScan("script", BLOCK_TEXT); - * toker.getRegions(); - * - * Returns: - * BLOCK_TEXT: 0-40 - * XML_END_TAG_OPEN: 41-42 - * XML_TAG_NAME: 43-48 - * XML_TAG_CLOSE: 49-49 - * XML_CONTENT: 50-57 - * - */ - public final void beginBlockMarkerScan(String newTagName, String blockcontext) { - yybegin(ST_BLOCK_TAG_SCAN); - fCurrentTagName = newTagName; - } - -/** - * Method doScan. - * - * Returns a context region for all of the text from the current position upto the end of input or - * to right *before* the first occurence of searchString - * - * @param searchString - target string to search for ex.: "-->", "</tagname" - * @param requireTailSeparator - whether the target must be immediately followed by whitespace or '>' - * @param allowJSP - check for and allow for JSP markup <%%> - * @param context - the context of the scanned region if non-zero length - * @param exitState - the state to go to if the region was of non-zero length - * @param abortState - the state to go to if the searchString was found immediately - * @return String - the context found: the desired context on a non-zero length match, the abortContext on immediate success - * @throws IOException - */ -private final String doScan(String searchString, boolean requireTailSeparator, boolean allowJSP, boolean allowCDATA, String searchContext, int exitState, int immediateFallbackState) throws IOException { - boolean stillSearching = true; - // Disable further block (probably) - fIsBlockingEnabled = false; - int searchStringLength = searchString.length(); - int n = 0; - char lastCheckChar; - int i; - boolean same = false; - // Check for JSP starts ("<%") if the tag is global like SCRIPT or STYLE - boolean checkJSPs = allowJSP && !fForbidJSP; - boolean checkedForJSPsOnce = !checkJSPs; - boolean checkedJSPsAtStartOnce = false; - - while (stillSearching) { - n = 0; - // Ensure that enough data from the input exists to compare against the search String. - n = yy_advance(); - while(n != YYEOF && yy_currentPos < searchStringLength) - n = yy_advance(); -// c = (char) n; - // If the input was too short or we've exhausted the input, stop immediately. - if (n == YYEOF && checkedForJSPsOnce) { - stillSearching = false; - } - else { - /** - * Look for starting JSPs "<%" - */ - checkedForJSPsOnce = true; - // 1) yy_currentPos - searchStringLength : There's at least searchStringLength of input available; once that's read, check for JSPs - // --- - // Look for a JSP beginning at current-searchStringLength; if so, backup and switch scanner states to handle it. - // Ensure that we've not encountered a complete block (<%%>) that was *shorter* than the closeTagString and - // thus found twice at current-targetLength [since the first scan would have come out this far anyway]. - if(checkJSPs && yy_currentPos > searchStringLength && yy_currentPos - searchStringLength != fLastInternalBlockStart && - yy_buffer[yy_currentPos - searchStringLength] == '<' && yy_buffer[yy_currentPos - searchStringLength + 1] == '%') { - fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - yybegin(ST_BLOCK_TAG_INTERNAL_SCAN); - if(yy_markedPos == yy_startRead) { - String jspContext = primGetNextToken(); - yybegin(resumeState); - return jspContext; - } - return searchContext; - } - // 2) yy_currentPos - jspstarter.length : There's not searchStringLength of input available; check for a JSP 2 spots back in what we could read - // --- - // Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section - // since it relies upon *having* closeTagStringLength amount of input to work as designed. Must be sure we don't - // spill over the end of the buffer while checking. - else if(checkJSPs && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 && - yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') { - fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - yybegin(ST_BLOCK_TAG_INTERNAL_SCAN); - if(yy_markedPos == yy_startRead) { - String jspContext = primGetNextToken(); - yybegin(resumeState); - return jspContext; - } - return searchContext; - } - // 3) yy_currentPos..(yy_currentPos+jspStartlength-1) : Check at the start of the block one time - // --- - // Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section - // since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed. - else if(checkJSPs && !checkedJSPsAtStartOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 && - yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') { - checkedJSPsAtStartOnce = true; - fLastInternalBlockStart = yy_markedPos = yy_startRead; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - yybegin(ST_BLOCK_TAG_INTERNAL_SCAN); - if(yy_markedPos == yy_startRead) { - String jspContext = primGetNextToken(); - yybegin(resumeState); - return jspContext; - } - return searchContext; - } - - - /** - * Look for starting CDATA "<![CDATA[" - */ - // 1) yy_currentPos - searchStringLength: There's at least searchStringLength of input available; once that's read, check for CDATA - // --- - // Look for a CDATA beginning at current-searchStringLength; if so, backup and switch scanner states to handle it. - // Ensure that we've not encountered a complete block (<[!CDATA[]]>) that was *shorter* than the closeTagString and - // thus found twice at current-targetLength [since the first scan would have come out this far anyway]. -/* if(checkCDATA && yy_currentPos > searchStringLength && yy_currentPos + searchStringLength < yy_buffer.length && yy_currentPos - searchStringLength != fLastInternalBlockStart && - charsMatch(cdataStarter, yy_buffer, 0, yy_currentPos - searchStringLength)) { - fLastInternalBlockStart = yy_markedPos = yy_currentPos - searchStringLength; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - // go to a state where CDATA can be found - if (fEmbeddedContainer == null) { - fEmbeddedContainer = new ContextRegionContainer(); - fEmbeddedContainer.setType(searchContext); - fEmbeddedContainer.setStart(yychar); - } - ITextRegion newToken = fRegionFactory.createToken(searchContext, yychar, yylength(), yylength()); - fEmbeddedContainer.getRegions().add(newToken); - fEmbeddedContainer.setLength(fEmbeddedContainer.getLength() + yylength()); - fEmbeddedContainer.setTextLength(fEmbeddedContainer.getTextLength() + yylength()); - yybegin(YYINITIAL); - String context = primGetNextToken(); - if(context.equals(XMLRegionContexts.XML_CDATA_OPEN)) { - assembleEmbeddedContainer(XMLRegionContexts.XML_CDATA_OPEN, XMLRegionContexts.XML_CDATA_CLOSE); - } - yybegin(resumeState); - return searchContext; - } -*//* - // 2) yy_currentPos - cdataStarter.length: There's not searchStringLength of input available; check for a CDATA right here spots back in what we could read - // --- - // Look for a JSP beginning at the current position; this case wouldn't be handled by the preceding section - // since it relies upon *having* closeTagStringLength amount of input to work as designed. Must be sure we don't - // spill over the end of the buffer while checking. - else if(checkCDATA && yy_startRead != fLastInternalBlockStart && yy_currentPos > 0 && yy_currentPos < yy_buffer.length - 1 && - yy_buffer[yy_currentPos - 1] == '<' && yy_buffer[yy_currentPos] == '%') { - fLastInternalBlockStart = yy_markedPos = yy_currentPos - 1; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - yybegin(ST_BLOCK_TAG_INTERNAL_SCAN); - if(yy_markedPos == yy_startRead) { - String jspContext = primGetNextToken(); - yybegin(resumeState); - return jspContext; - } - return searchContext; - } - // 3) yy_currentPos : Check at the start of the block one time - // --- - // Look for a JSP beginning immediately in the block area; this case wouldn't be handled by the preceding section - // since it relies upon yy_currentPos equaling exactly the previous end +1 to work as designed. - else if(checkCDATA && !checkedForCDATAOnce && yy_startRead != fLastInternalBlockStart && yy_startRead > 0 && - yy_startRead < yy_buffer.length - 1 && yy_buffer[yy_startRead] == '<' && yy_buffer[yy_startRead + 1] == '%') { - checkedForCDATAOnce = true; - fLastInternalBlockStart = yy_markedPos = yy_startRead; - yy_currentPos = yy_markedPos + 1; - int resumeState = yystate(); - yybegin(ST_BLOCK_TAG_INTERNAL_SCAN); - if(yy_markedPos == yy_startRead) { - String jspContext = primGetNextToken(); - yybegin(resumeState); - return jspContext; - } - return searchContext; - } -*/ - // Check the characters in the target versus the last targetLength characters read from the buffer - // and see if it matches - if (n == YYEOF) { - stillSearching = false; - } - else { - same = true; - // safety check for array accesses - if(yy_currentPos >= searchStringLength && yy_currentPos <= yy_buffer.length) { - for(i = 0; i < searchStringLength; i++) { - if(same && fIsCaseSensitiveBlocking) - same = yy_buffer[i + yy_currentPos - searchStringLength] == searchString.charAt(i); - else if(same && !fIsCaseSensitiveBlocking) - same = Character.toLowerCase(yy_buffer[i + yy_currentPos - searchStringLength]) == Character.toLowerCase(searchString.charAt(i)); - } - } - // safety check failed; no match is possible right now - else { - same = false; - } - } - if (same && requireTailSeparator && yy_currentPos < yy_buffer.length) { - // Additional check for close tags to ensure that targetString="</script" doesn't match - // "</scriptS" - lastCheckChar = yy_buffer[yy_currentPos]; - // Succeed on "</script>" and "</script " - if(lastCheckChar == '>' || Character.isWhitespace(lastCheckChar)) - stillSearching = false; - } - else { - stillSearching = !same || (yy_currentPos < yy_startRead + searchStringLength); - } - } - } - if (n != YYEOF || same) { - // We've stopped short of the end or definitely found a match - yy_markedPos = yy_currentPos - searchStringLength; - yy_currentPos = yy_markedPos + 1; - // If the searchString occurs at the very beginning of what would have - // been a Block, resume scanning normally immediately - if (yy_markedPos == yy_startRead) { - yybegin(immediateFallbackState); - return primGetNextToken(); - } - } - else { - // We ran through the rest of the input - yy_markedPos = yy_currentPos; - yy_currentPos++; - } - yybegin(exitState); - // If the ending occurs at the very beginning of what would have - // been a Block, resume scanning normally immediately - if(yy_markedPos == yy_startRead) - return primGetNextToken(); - return searchContext; -} -/** - * user method - * does a lookahead for the current tag name - */ -private final String doBlockTagScan() throws IOException { - fIsCaseSensitiveBlocking = getBlockMarkerCaseSensitivity(); - return doScan("</" + fCurrentTagName, true, getBlockMarkerAllowsJSP(), true, getBlockMarkerContext(fCurrentTagName), YYINITIAL, YYINITIAL); -} - /** - * user method - * - * Converts the raw context String returned by the primGetNextToken() - * method into a full ITextRegion by pulling in values for the - * current offset within the scanning text. - * - * Returns null when EOF is encountered and attaches intermittently - * discovered whitespace onto the end of useful regions. - * - * Note that this algorithm caches the token following the one being returned - * so that whitespace can be collapsed. - */ - public final ITextRegion getNextToken() throws IOException { - fEmbeddedContainer = null; - // load the starting non-whitespace token (assume that it is so) - if (fShouldLoadBuffered) { - if (fBufferedEmbeddedContainer != null) { - ITextRegion container = fBufferedEmbeddedContainer; - fBufferedEmbeddedContainer = null; - fShouldLoadBuffered = false; - return container; - } - context = fBufferedContext; - start = fBufferedStart; - textLength = length = fBufferedLength; - fShouldLoadBuffered = false; - } else { - context = primGetNextToken(); - if (context == PROXY_CONTEXT) { - return fEmbeddedContainer; - } else if (context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) { - if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead)) - fCurrentTagName = yytext(); - else - fCurrentTagName = null; - } else if (context == XML_TAG_OPEN) { - fIsBlockingEnabled = true; - } else if (context == XML_END_TAG_OPEN) { - fIsBlockingEnabled = false; - } - start = yychar; - textLength = length = yylength(); - if (yy_atEOF) { - fTokenCount++; - return null; - } - } - // store the next token - f_context = primGetNextToken(); - if (f_context == PROXY_CONTEXT) { - fBufferedEmbeddedContainer = fEmbeddedContainer; - fShouldLoadBuffered = true; - } else if (f_context == XML_TAG_NAME || f_context == JSP_ROOT_TAG_NAME || f_context == JSP_DIRECTIVE_NAME) { - if(containsTagName(yy_buffer, yy_startRead, yy_markedPos-yy_startRead)) - fCurrentTagName = yytext(); - else - fCurrentTagName = null; - } else if (f_context == XML_TAG_OPEN) { - fIsBlockingEnabled = true; - } else if (f_context == XML_END_TAG_OPEN) { - fIsBlockingEnabled = false; - } - fBufferedContext = f_context; - fBufferedStart = yychar; - fBufferedLength = yylength(); - fShouldLoadBuffered = true; - if (fBufferedContext == WHITE_SPACE) { - fShouldLoadBuffered = false; - length += fBufferedLength; - } - if (context == null) { - // EOF - if (Debug.debugTokenizer) { - System.out.println(getClass().getName() + " discovered " + fTokenCount + " tokens."); //$NON-NLS-2$//$NON-NLS-1$ - } - return null; - } - fTokenCount++; - return fRegionFactory.createToken(context, start, textLength, length, null, fCurrentTagName); - } - /* user method */ - public JSPTokenizer(){ - super(); - } - /* user method */ - public JSPTokenizer(char[] charArray){ - this(new CharArrayReader(charArray)); - } - /* user method */ - public void reset(char[] charArray) { - reset(new CharArrayReader(charArray), 0); - } - /* user method */ - public void reset(char[] charArray, int newOffset) { - reset(new CharArrayReader(charArray), newOffset); - } - /* user method */ - public void reset(java.io.InputStream in) { - reset(new java.io.InputStreamReader(in), 0); - } - /* user method */ - public void reset(java.io.InputStream in, int newOffset) { - reset(new java.io.InputStreamReader(in), newOffset); - } - /* user method */ - public void reset(java.io.Reader in) { - reset(in, 0); - } - /** - * user method * - * - * Reset internal counters and vars to "newly created" values, in the hopes - * that resetting a pre-existing tokenizer is faster than creating a new one. - * - * This method contains code blocks that were essentially duplicated from the - * <em>generated</em> output of this specification before this method was - * added. Those code blocks were under the above copyright. - */ - public void reset(java.io.Reader in, int newOffset) { - if (Debug.debugTokenizer) { - System.out.println("resetting tokenizer");//$NON-NLS-1$ - } - fOffset = newOffset; - - /* the input device */ - yy_reader = in; - - /* the current state of the DFA */ - yy_state = 0; - - /* the current lexical state */ - yy_lexical_state = YYINITIAL; - - /* this buffer contains the current text to be matched and is - the source of the yytext() string */ - java.util.Arrays.fill(yy_buffer, (char)0); - - /* the textposition at the last accepting state */ - yy_markedPos = 0; - - /* the textposition at the last state to be included in yytext */ - yy_pushbackPos = 0; - - /* the current text position in the buffer */ - yy_currentPos = 0; - - /* startRead marks the beginning of the yytext() string in the buffer */ - yy_startRead = 0; - - /** - * endRead marks the last character in the buffer, that has been read - * from input - */ - yy_endRead = 0; - - /* number of newlines encountered up to the start of the matched text */ - yyline = 0; - - /* the number of characters up to the start of the matched text */ - yychar = 0; - - /* yy_atEOF == true <=> the scanner has returned a value for EOF */ - yy_atEOF = false; - - /* denotes if the user-EOF-code has already been executed */ - yy_eof_done = false; - - - /* user vars: */ - fTokenCount = 0; - - fShouldLoadBuffered = false; - fBufferedContext = null; - fBufferedStart = 1; - fBufferedLength = 0; - fStateStack = new IntStack(); - - fLastInternalBlockStart = -1; - - context = null; - start = 0; - textLength = 0; - length = 0; - - fEmbeddedContainer = null; - - fELlevel = 0; - } - /** - * user method - * - */ - public BlockTokenizer newInstance() { - JSPTokenizer newInstance = new JSPTokenizer(); - // global tagmarkers can be shared; they have no state and - // are never destroyed (e.g. 'release') - for(int i = 0; i < fBlockMarkers.size(); i++) { - BlockMarker blockMarker = (BlockMarker) fBlockMarkers.get(i); - if(blockMarker.isGlobal()) - newInstance.addBlockMarker(blockMarker); - } - for(int i = 0; i < fNestablePrefixes.size(); i++) { - TagMarker marker = (TagMarker) fNestablePrefixes.get(i); - if(marker.isGlobal()) - newInstance.addNestablePrefix(marker); - } - return newInstance; - } - /* user method */ - private final String scanXMLCommentText() throws IOException { - // Scan for '-->' and return the text up to that point as - // XML_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which - // case change to the ST_XML_COMMENT_END state and return the next - // context as usual. - return doScan("-->", false, true, true, XML_COMMENT_TEXT, ST_XML_COMMENT_END, ST_XML_COMMENT_END); - } - /* user method */ - private final String scanJSPCommentText() throws IOException { - // Scan for '--%>' and return the text up to that point as - // JSP_COMMENT_TEXT unless the string occurs IMMEDIATELY, in which - // case change to the ST_JSP_COMMENT_END state and return the next - // context as usual. - return doScan("--%>", false, false, true, JSP_COMMENT_TEXT, ST_JSP_COMMENT_END, ST_JSP_COMMENT_END); - } - - - /** - * 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 JSPTokenizer(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 JSPTokenizer(java.io.InputStream in) { - this(new java.io.InputStreamReader(in)); - } - - /** - * Unpacks the compressed DFA transition table. - * - * @param packed the packed transition table - * @return the unpacked transition table - */ - private static int [] yy_unpack(String packed) { - int [] trans = new int[29580]; - int i = 0; /* index in packed string */ - int j = 0; /* index in unpacked array */ - while (i < 7346) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - value--; - do trans[j++] = value; while (--count > 0); - } - return trans; - } - - /** - * 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 < 1376) { - int count = packed.charAt(i++); - char value = packed.charAt(i++); - do map[j++] = value; while (--count > 0); - } - return map; - } - - - /** - * Gets the next input character. - * - * @return the next character of the input stream, EOF if the - * end of the stream is reached. - * @exception IOException if any I/O-Error occurs - */ - private int yy_advance() throws java.io.IOException { - - /* standard case */ - if (yy_currentPos < yy_endRead) return yy_buffer[yy_currentPos++]; - - /* if the eof is reached, we don't need to work hard */ - if (yy_atEOF) return YYEOF; - - /* otherwise: need to refill the buffer */ - - /* 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 == -1 ) return YYEOF; - - yy_endRead+= numRead; - - return yy_buffer[yy_currentPos++]; - } - - - /** - * 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 */ - yy_reader.close(); - } - - - /** - * 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 length of the matched text region. - */ - final public int yylength() { - return yy_markedPos-yy_startRead; - } - - - /** - * Reports an error that occured while scanning - from the SED JFlex skeleton - * - * @param errorCode the code of the errormessage to display - */ - private void yy_ScanError(int errorCode) { - try { - Logger.log(Logger.ERROR, YY_ERROR_MSG[errorCode]); - } - catch (ArrayIndexOutOfBoundsException e) { - Logger.log(Logger.ERROR, YY_ERROR_MSG[YY_UNKNOWN_ERROR]); - } - // DO NOT EXIT the VM on an error - // System.exit(1); - } - - - /** - * 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()! - */ - void yypushback(int number) { - if ( number > yylength() ) - yy_ScanError(YY_PUSHBACK_2BIG); - - yy_markedPos -= number; - } - - /** - * user method - skeleton.sed - */ - protected final boolean containsTagName(char[] markerTagName, int offset, int tagnameLength) { - for(int j = 0; j < fBlockMarkers.size(); j++) { - BlockMarker marker = (BlockMarker)fBlockMarkers.get(j); - if(marker.getTagName().length() == tagnameLength) { - boolean matchesSoFar = true; - for(int i = 0; i < tagnameLength && matchesSoFar; i++) { - if(marker.isCaseSensitive()) { - if(marker.getTagName().charAt(i) != markerTagName[i + offset]) - matchesSoFar = false; - } - else { - if(Character.toLowerCase(marker.getTagName().charAt(i)) != Character.toLowerCase(markerTagName[i + offset])) - matchesSoFar = false; - } - } - if(matchesSoFar) - return true; - } - } - return false; - } - - /** - * user method - skeleton.sed - * - * Return ALL of the regions scannable within the remaining text - * Note: for verification use - */ - public final List getRegions() { - List tokens = new ArrayList(); - ITextRegion region = null; - try { - region = getNextToken(); - while(region != null) { - if (region != null) { - tokens.add(region); - } - region = getNextToken(); - } - } - catch (StackOverflowError e) { - Logger.logException(getClass().getName()+": input could not be tokenized correctly at position " + getOffset(), e);//$NON-NLS-1$ - throw e; - } - catch (Exception e) { - // Since this is convenience method and NOT the recommended - // way of getting tokens, many errors are simply hidden - Logger.logException("Exception not handled retrieving regions: " + e.getLocalizedMessage(), e);//$NON-NLS-1$ - } - return tokens; - } - /** - * user method - skeleton.sed - */ - private final void dump(String s) { - if (Debug.debugTokenizer) { - System.out.println(s + " (" + yychar + "-" + //$NON-NLS-2$//$NON-NLS-1$ - (yylength() + yychar) + "):\'" +//$NON-NLS-1$ - StringUtils.escape(yytext()) + "\'");//$NON-NLS-1$ - } - } - /* user method - skeleton.sed */ - public final boolean isEOF() { - return yy_atEOF; - } -/* user method - skeleton.sed */ -protected final boolean containsTagName(String markerTagName) { - Iterator blocks = fBlockMarkers.iterator(); - while(blocks.hasNext()) { - BlockMarker marker = (BlockMarker)blocks.next(); - if(marker.isCaseSensitive()) { - if(marker.getTagName().equals(markerTagName)) - return true; - } - else { - if(marker.getTagName().equalsIgnoreCase(markerTagName)) - return true; - } - } - return false; -} - - /** - * Contains user EOF-code, which will be executed exactly once, - * when the end of file is reached - */ - private void yy_do_eof() { - if (!yy_eof_done) { - yy_eof_done = true; - // do nothing, this is the downstream parser's job - - } - } - - - /** - * 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 String primGetNextToken() throws java.io.IOException { - int yy_input; - int yy_action; - - yy_pushbackPos = -1; - boolean yy_was_pushback; - - while (true) { - - yychar+= yylength(); - - boolean yy_counted = false; - for (yy_currentPos = yy_startRead; yy_currentPos < yy_markedPos; - yy_currentPos++) { - switch (yy_buffer[yy_currentPos]) { - case '\r': - yyline++; - yy_counted = true; - break; - case '\n': - if (yy_counted) - yy_counted = false; - else { - yyline++; - } - break; - default: - yy_counted = false; - } - } - - if (yy_counted) { - if ( yy_advance() == '\n' ) yyline--; - if ( !yy_atEOF ) yy_currentPos--; - } - - yy_action = -1; - - yy_currentPos = yy_startRead = yy_markedPos; - - yy_state = yy_lexical_state; - - yy_was_pushback = false; - - yy_forAction: { - while (true) { - - yy_input = yy_advance(); - - if ( yy_input == YYEOF ) break yy_forAction; - - int yy_next = yytrans[ yy_rowMap[yy_state] + yycmap[yy_input] ]; - if (yy_next == -1) break yy_forAction; - yy_state = yy_next; - - int yy_attributes = YY_ATTRIBUTE[yy_state]; - if ( (yy_attributes & 2) > 0 ) - yy_pushbackPos = yy_currentPos; - - if ( (yy_attributes & 1) > 0 ) { - yy_was_pushback = (yy_attributes & 4) > 0; - yy_action = yy_state; - yy_markedPos = yy_currentPos; - if ( (yy_attributes & 8) > 0 ) break yy_forAction; - } - - } - } - - if (yy_was_pushback) - yy_markedPos = yy_pushbackPos; - - switch (yy_action) { - - case 599: - case 604: - case 611: - case 616: - { - if(Debug.debugTokenizer) - dump("jsp directive tag name");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return JSP_DIRECTIVE_NAME; - } - case 632: break; - case 563: - case 565: - case 566: - case 567: - case 568: - case 569: - case 570: - { - if(Debug.debugTokenizer) - dump("\nCDATA start");//$NON-NLS-1$ - fStateStack.push(yystate()); - yybegin(ST_CDATA_TEXT); - return XML_CDATA_OPEN; - } - case 633: break; - case 555: - { - if(Debug.debugTokenizer) - dump("jsp:root tag name");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return JSP_ROOT_TAG_NAME; - } - case 634: break; - case 547: - { - if(Debug.debugTokenizer) - dump("element");//$NON-NLS-1$ - yybegin(ST_XML_ELEMENT_DECLARATION); - return XML_ELEMENT_DECLARATION; - } - case 635: break; - case 546: - { - if(Debug.debugTokenizer) - dump("attlist");//$NON-NLS-1$ - yybegin(ST_XML_ATTLIST_DECLARATION); - return XML_ATTLIST_DECLARATION; - } - case 636: break; - case 545: - { - if(Debug.debugTokenizer) - dump("doctype");//$NON-NLS-1$ - yybegin(ST_XML_DOCTYPE_DECLARATION); - return XML_DOCTYPE_DECLARATION; - } - case 637: break; - case 531: - { - if(Debug.debugTokenizer) - dump("doctype external id");//$NON-NLS-1$ - fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_PUBREF; - yybegin(ST_XML_DOCTYPE_ID_PUBLIC); - return XML_DOCTYPE_EXTERNAL_ID_PUBLIC; - } - case 638: break; - case 530: - { - if(Debug.debugTokenizer) - dump("doctype external id");//$NON-NLS-1$ - fEmbeddedHint = XML_DOCTYPE_EXTERNAL_ID_SYSREF; - yybegin(ST_XML_DOCTYPE_ID_SYSTEM); - return XML_DOCTYPE_EXTERNAL_ID_SYSTEM; - } - case 639: break; - case 524: - { - if(Debug.debugTokenizer) - dump("DHTML processing instruction target");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_DHTML_ATTRIBUTE_NAME); - return XML_TAG_NAME; - } - case 640: break; - case 501: - case 540: - case 541: - { - return JSP_VBL_QUOTED_CONTENT; - } - case 641: break; - case 491: - case 536: - case 537: - { - return JSP_EL_QUOTED_CONTENT; - } - case 642: break; - case 483: - { - if(Debug.debugTokenizer) - dump("\nJSP comment close");//$NON-NLS-1$ - yybegin(YYINITIAL); - return JSP_COMMENT_CLOSE; - } - case 643: break; - case 470: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - fStateStack.push(yystate()); - if(yylength() > 2) - yypushback(yylength() -2); - if(Debug.debugTokenizer) - dump("VBL in attr value");//$NON-NLS-1$ - yybegin(ST_JSP_VBL); - fELlevel++; - assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE}); - fStateStack.pop(); - yybegin(ST_XML_ATTRIBUTE_NAME); - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - return PROXY_CONTEXT; - } - case 644: break; - case 469: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - fStateStack.push(yystate()); - if(yylength() > 2) - yypushback(yylength() -2); - if(Debug.debugTokenizer) - dump("EL in attr value");//$NON-NLS-1$ - yybegin(ST_JSP_EL); - fELlevel++; - assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE}); - fStateStack.pop(); - yybegin(ST_XML_ATTRIBUTE_NAME); - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - return PROXY_CONTEXT; - } - case 645: break; - case 464: - { - if(Debug.debugTokenizer) - dump("\nCharRef");//$NON-NLS-1$ - return XML_CHAR_REFERENCE; - } - case 646: break; - case 461: - { - if(Debug.debugTokenizer) - dump("\ncomment start");//$NON-NLS-1$ - fEmbeddedHint = XML_COMMENT_TEXT; - fEmbeddedPostState = ST_XML_COMMENT; - yybegin(ST_XML_COMMENT); - return XML_COMMENT_OPEN; - } - case 647: break; - case 460: - case 478: - case 481: - case 484: - case 485: - case 487: - case 489: - case 492: - case 494: - case 495: - case 497: - case 499: - case 502: - { - /* JSP comment begun (anywhere) - * A consequence of the start anywhere possibility is that the - * incoming state must be checked to see if it's erroneous - * due to the order of precedence generated - */ - // begin sanity checks - if(yystate() == ST_JSP_CONTENT) { - // at the beginning?! - yypushback(3); - return JSP_CONTENT; - } - else if(yystate() == ST_BLOCK_TAG_SCAN) { - yypushback(4); - return doBlockTagScan(); - } - else if(yystate() == ST_XML_COMMENT) { - yypushback(4); - return scanXMLCommentText(); - } - else if(yystate() == ST_JSP_COMMENT) { - yypushback(4); - return scanJSPCommentText(); - } - else if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_JSP_COMMENT); - assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) - yybegin(ST_BLOCK_TAG_SCAN); - return PROXY_CONTEXT; - } - // finished sanity checks - if(yystate()==YYINITIAL) { - // the simple case, just a regular scriptlet out in content - if(Debug.debugTokenizer) - dump("\nJSP comment start");//$NON-NLS-1$ - yybegin(ST_JSP_COMMENT); - return JSP_COMMENT_OPEN; - } - else { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - if(Debug.debugTokenizer) - dump("JSP comment start");//$NON-NLS-1$ - if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED; - else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED; - else if(yystate() == ST_CDATA_TEXT) { - fEmbeddedPostState = ST_CDATA_TEXT; - fEmbeddedHint = XML_CDATA_TEXT; - } - yybegin(ST_JSP_COMMENT); - // the comment container itself will act as comment text - fEmbeddedHint = JSP_COMMENT_TEXT; - assembleEmbeddedContainer(JSP_COMMENT_OPEN, JSP_COMMENT_CLOSE); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_BLOCK_TAG_SCAN); - return BLOCK_TEXT; - } - /* - * required help for successive embedded regions; mark this one as a - * comment so it will be otherwise ignored but preserved (which is why - * we can't use white-space) - */ - if(yystate() == ST_XML_TAG_NAME) { - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - } - else if(yystate() == ST_XML_ATTRIBUTE_VALUE) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - return PROXY_CONTEXT; - } - } - case 648: break; - case 382: - { - if(Debug.debugTokenizer) - dump("XML processing instruction target");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_PI_ATTRIBUTE_NAME); - return XML_TAG_NAME; - } - case 649: break; - case 381: - { - if(Debug.debugTokenizer) - dump("comment end");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - yybegin(YYINITIAL); - return XML_COMMENT_CLOSE; - } - case 650: break; - case 380: - { - if(Debug.debugTokenizer) - dump("CDATA end");//$NON-NLS-1$ - yybegin(fStateStack.pop()); - return XML_CDATA_CLOSE; - } - case 651: break; - case 379: - { - yybegin(ST_JSP_VBL); - if(yylength() > 2) - yypushback(yylength() - 2); - fELlevel++; - fEmbeddedHint = XML_CONTENT; - fEmbeddedPostState = YYINITIAL; - assembleEmbeddedContainer(JSP_VBL_OPEN, JSP_VBL_CLOSE); - fEmbeddedHint = XML_CONTENT; - yybegin(YYINITIAL); - return PROXY_CONTEXT; - } - case 652: break; - case 378: - { - if(Debug.debugTokenizer) - dump("\nPEReference");//$NON-NLS-1$ - return XML_PE_REFERENCE; - } - case 653: break; - case 377: - { - yybegin(ST_JSP_EL); - if(yylength() > 2) - yypushback(yylength() - 2); - fELlevel++; - fEmbeddedHint = XML_CONTENT; - fEmbeddedPostState = YYINITIAL; - assembleEmbeddedContainer(JSP_EL_OPEN, JSP_EL_CLOSE); - fEmbeddedHint = XML_CONTENT; - yybegin(YYINITIAL); - return PROXY_CONTEXT; - } - case 654: break; - case 374: - { - if(Debug.debugTokenizer) - dump("\nEntityRef");//$NON-NLS-1$ - return XML_ENTITY_REFERENCE; - } - case 655: break; - case 368: - case 406: - case 413: - case 419: - case 423: - case 427: - case 431: - case 436: - case 441: - case 444: - case 448: - case 452: - case 457: - { - /* JSP expression begun (anywhere) - * A consequence of the start anywhere possibility is that the - * incoming state must be checked to see if it's erroneous - * due to the order of precedence generated - */ - // begin sanity checks - if(yystate() == ST_JSP_CONTENT) { - // at the beginning?! - yypushback(2); - return JSP_CONTENT; - } - else if(yystate() == ST_BLOCK_TAG_SCAN) { - yypushback(3); - return doBlockTagScan(); - } - else if(yystate() == ST_XML_COMMENT) { - yypushback(3); - return scanXMLCommentText(); - } - else if(yystate() == ST_JSP_COMMENT) { - yypushback(3); - return scanJSPCommentText(); - } - // end sanity checks - fStateStack.push(yystate()); - if(fStateStack.peek()==YYINITIAL) { - // the simple case, just an expression out in content - if(Debug.debugTokenizer) - dump("\nJSP expression start");//$NON-NLS-1$ - yybegin(ST_JSP_CONTENT); - return JSP_EXPRESSION_OPEN; - } - else { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - if(Debug.debugTokenizer) - dump("JSP expression start");//$NON-NLS-1$ - if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED; - else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED; - else if(yystate() == ST_CDATA_TEXT) { - fEmbeddedPostState = ST_CDATA_TEXT; - fEmbeddedHint = XML_CDATA_TEXT; - } - yybegin(ST_JSP_CONTENT); - assembleEmbeddedContainer(JSP_EXPRESSION_OPEN, JSP_CLOSE); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_BLOCK_TAG_SCAN); - return BLOCK_TEXT; - } - // required help for successive embedded regions - if(yystate() == ST_XML_TAG_NAME) { - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - } - else if(yystate() == ST_XML_ATTRIBUTE_VALUE) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - return PROXY_CONTEXT; - } - } - case 656: break; - case 367: - case 405: - case 412: - case 418: - case 422: - case 426: - case 430: - case 435: - case 440: - case 443: - case 447: - case 451: - case 456: - { - /* JSP declaration begun (anywhere) - * A consequence of the start anywhere possibility is that the - * incoming state must be checked to see if it's erroneous - * due to the order of precedence generated - */ - // begin sanity checks - if(yystate() == ST_JSP_CONTENT) { - // at the beginning?! - yypushback(2); - return JSP_CONTENT; - } - else if(yystate() == ST_BLOCK_TAG_SCAN) { - yypushback(3); - return doBlockTagScan(); - } - else if(yystate() == ST_XML_COMMENT) { - yypushback(3); - return scanXMLCommentText(); - } - else if(yystate() == ST_JSP_COMMENT) { - yypushback(3); - return scanJSPCommentText(); - } - // end sanity checks - fStateStack.push(yystate()); - if(fStateStack.peek()==YYINITIAL) { - // the simple case, just a declaration out in content - if(Debug.debugTokenizer) - dump("\nJSP declaration start");//$NON-NLS-1$ - yybegin(ST_JSP_CONTENT); - return JSP_DECLARATION_OPEN; - } - else { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - if(Debug.debugTokenizer) - dump("JSP declaration start");//$NON-NLS-1$ - if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED; - else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED; - else if(yystate() == ST_CDATA_TEXT) { - fEmbeddedPostState = ST_CDATA_TEXT; - fEmbeddedHint = XML_CDATA_TEXT; - } - yybegin(ST_JSP_CONTENT); - assembleEmbeddedContainer(JSP_DECLARATION_OPEN, JSP_CLOSE); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_BLOCK_TAG_SCAN); - return BLOCK_TEXT; - } - // required help for successive embedded regions - if(yystate() == ST_XML_TAG_NAME) { - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - } - else if(yystate() == ST_XML_ATTRIBUTE_VALUE) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - return PROXY_CONTEXT; - } - } - case 657: break; - case 366: - { - fStateStack.push(yystate()); - if(fStateStack.peek()==YYINITIAL) { - if(Debug.debugTokenizer) - dump("\nJSP directive start");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_NAME); - return JSP_DIRECTIVE_OPEN; - } - else { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - if(Debug.debugTokenizer) - dump("JSP directive start");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_NAME); - assembleEmbeddedContainer(JSP_DIRECTIVE_OPEN, new String[]{JSP_DIRECTIVE_CLOSE, JSP_CLOSE}); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_BLOCK_TAG_SCAN); - return BLOCK_TEXT; - } - return PROXY_CONTEXT; - } - } - case 658: break; - case 356: - { - yybegin(ST_JSP_VBL_DQUOTES_END); - return JSP_VBL_QUOTED_CONTENT; - } - case 659: break; - case 352: - { - yybegin(ST_JSP_VBL_SQUOTES_END); - return JSP_VBL_QUOTED_CONTENT; - } - case 660: break; - case 350: - { - fELlevel++; - if(fELlevel == 1) { - return JSP_VBL_OPEN; - } - } - case 661: break; - case 340: - { - yybegin(ST_JSP_EL_DQUOTES_END); - return JSP_EL_QUOTED_CONTENT; - } - case 662: break; - case 336: - { - yybegin(ST_JSP_EL_SQUOTES_END); - return JSP_EL_QUOTED_CONTENT; - } - case 663: break; - case 334: - { - //System.out.println(JSP_EL_CONTENT+ ":[" + yytext() + "]"); - return JSP_EL_CONTENT; - } - case 664: break; - case 333: - { - fELlevel++; - if(fELlevel == 1) { - return JSP_EL_OPEN; - } - } - case 665: break; - case 330: - { - int enterState = yystate(); - yybegin(ST_JSP_DQUOTED_VBL); - assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE}); - // abort early when an unescaped double quote is found in the VBL - if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) { - yybegin(ST_ABORT_EMBEDDED); - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else { - yybegin(enterState); - } - return PROXY_CONTEXT; - } - case 666: break; - case 329: - { - int enterState = yystate(); - yybegin(ST_JSP_DQUOTED_EL); - assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE}); - // abort early when an unescaped double quote is found in the EL - if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_DQUOTE)) { - yybegin(ST_ABORT_EMBEDDED); - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else { - yybegin(enterState); - } - return PROXY_CONTEXT; - } - case 667: break; - case 327: - { - int enterState = yystate(); - yybegin(ST_JSP_SQUOTED_VBL); - assembleEmbeddedContainer(JSP_VBL_OPEN, new String[]{JSP_VBL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE}); - // abort early when an unescaped single quote is found in the VBL - if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) { - yybegin(ST_ABORT_EMBEDDED); - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else { - yybegin(enterState); - } - return PROXY_CONTEXT; - } - case 668: break; - case 326: - { - int enterState = yystate(); - yybegin(ST_JSP_SQUOTED_EL); - assembleEmbeddedContainer(JSP_EL_OPEN, new String[]{JSP_EL_CLOSE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE}); - // abort early when an unescaped single quote is found in the EL - if(fEmbeddedContainer.getLastRegion().getType().equals(XML_TAG_ATTRIBUTE_VALUE_SQUOTE)) { - yybegin(ST_ABORT_EMBEDDED); - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else { - yybegin(enterState); - } - return PROXY_CONTEXT; - } - case 669: break; - case 325: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - int incomingState = yystate(); - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - if(Debug.debugTokenizer) - dump("JSP attribute value start - end tag");//$NON-NLS-1$ - yybegin(ST_XML_TAG_NAME); - assembleEmbeddedContainer(XML_END_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE}); - if(yystate() != ST_ABORT_EMBEDDED) - yybegin(incomingState); - return PROXY_CONTEXT; - } - case 670: break; - case 284: - case 296: - case 302: - { - return XML_DOCTYPE_INTERNAL_SUBSET; - } - case 671: break; - case 272: - { - String tagName = yytext().substring(1); - // pushback to just after the opening bracket - yypushback(yylength() - 1); - /* - * If this tag can not be nested or we're already searching for an - * attribute name, equals, or value, return immediately. - */ - if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE))) { - yybegin(ST_XML_TAG_NAME); - return XML_TAG_OPEN; - } - if(Debug.debugTokenizer) - dump("tag in place of attr value");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - fStateStack.push(yystate()); - // embedded container should be looking for the name (again) next - yybegin(ST_XML_TAG_NAME); - assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ? - fStateStack.pop(); - yybegin(ST_XML_ATTRIBUTE_NAME); - return PROXY_CONTEXT; - } - case 672: break; - case 270: - { - String tagName = yytext().substring(1); - // pushback to just after the opening bracket - yypushback(yylength() - 1); - /* - * If this tag can not be nested or we're already searching for an - * attribute name, equals, or value, return immediately. - */ - if (!isNestable(tagName) || (!fStateStack.empty() && (fStateStack.peek() == ST_XML_ATTRIBUTE_NAME || fStateStack.peek() == ST_XML_EQUALS || fStateStack.peek() == ST_XML_ATTRIBUTE_VALUE))) { - yybegin(ST_XML_TAG_NAME); - return XML_TAG_OPEN; - } - if(Debug.debugTokenizer) - dump("tag in place of attr name");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - fStateStack.push(yystate()); - // embedded container should be looking for the name (again) next - yybegin(ST_XML_TAG_NAME); - assembleEmbeddedTagSequence(XML_TAG_OPEN, tagName); // ? - fStateStack.pop(); - yybegin(ST_XML_EQUALS); - return PROXY_CONTEXT; - } - case 673: break; - case 268: - { - yybegin(YYINITIAL); - fEmbeddedHint = UNDEFINED; - if(Debug.debugTokenizer) - dump("empty tag close");//$NON-NLS-1$ - return XML_EMPTY_TAG_CLOSE; - } - case 674: break; - case 125: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED; - yybegin(ST_XML_ATTRIBUTE_VALUE_DQUOTED); - fStateStack.push(yystate()); - if(Debug.debugTokenizer) - dump("JSP attribute value start - complex double quoted");//$NON-NLS-1$ - assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_DQUOTE, XML_TAG_ATTRIBUTE_VALUE_DQUOTE); - fStateStack.pop(); - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return PROXY_CONTEXT; - } - case 675: break; - case 123: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - fStateStack.push(yystate()); - if(Debug.debugTokenizer) - dump("JSP tag embedded name start - start tag");//$NON-NLS-1$ - yybegin(ST_XML_TAG_NAME); - assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE}); - fStateStack.pop(); - yybegin(ST_XML_ATTRIBUTE_NAME); - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - return PROXY_CONTEXT; - } - case 676: break; - case 122: - case 127: - case 128: - case 274: - case 278: - case 279: - case 387: - case 390: - case 468: - { - if(Debug.debugTokenizer) - dump("attr value");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return XML_TAG_ATTRIBUTE_VALUE; - } - case 677: break; - case 121: - { - if(Debug.debugTokenizer) - dump("equals");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_XML_ATTRIBUTE_VALUE); - return XML_TAG_ATTRIBUTE_EQUALS; - } - case 678: break; - case 120: - { - if(Debug.debugTokenizer) - dump("attr name");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_XML_EQUALS); - return XML_TAG_ATTRIBUTE_NAME; - } - case 679: break; - case 116: - case 117: - case 118: - case 269: - case 386: - case 467: - case 506: - case 507: - case 525: - case 526: - case 543: - case 544: - case 556: - case 564: - case 571: - case 572: - case 573: - case 574: - case 576: - case 582: - case 583: - case 584: - case 585: - case 586: - case 592: - case 593: - case 594: - case 595: - case 596: - case 602: - case 603: - case 605: - case 606: - case 612: - case 613: - case 614: - case 615: - case 621: - case 622: - case 623: - case 624: - case 627: - case 628: - case 630: - { - if(Debug.debugTokenizer) - dump("tag name");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return XML_TAG_NAME; - } - case 680: break; - case 114: - { - if(Debug.debugTokenizer) - dump("tag close");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - if(isBlockMarker()) { - fEmbeddedHint = getBlockMarkerContext(); - fEmbeddedPostState = ST_BLOCK_TAG_SCAN; - yybegin(ST_BLOCK_TAG_SCAN); - } - else - yybegin(YYINITIAL); - return XML_TAG_CLOSE; - } - case 681: break; - case 107: - case 111: - case 264: - { - if(Debug.debugTokenizer) - dump("attr value");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME); - return XML_TAG_ATTRIBUTE_VALUE; - } - case 682: break; - case 106: - { - if(Debug.debugTokenizer) - dump("equals");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_VALUE); - return XML_TAG_ATTRIBUTE_EQUALS; - } - case 683: break; - case 105: - { - if(Debug.debugTokenizer) - dump("attr name");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_EQUALS); - return XML_TAG_ATTRIBUTE_NAME; - } - case 684: break; - case 102: - { - if(Debug.debugTokenizer) - dump("JSP directive name");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_NAME_WHITESPACE); - return JSP_DIRECTIVE_NAME; - } - case 685: break; - case 98: - case 99: - case 100: - { - if(Debug.debugTokenizer) - dump("JSP code content");//$NON-NLS-1$ - return doScan("%>", false, false, false, JSP_CONTENT, ST_JSP_CONTENT, ST_JSP_CONTENT); - } - case 686: break; - case 94: - case 96: - case 97: - case 254: - case 255: - case 258: - { - if(Debug.debugTokenizer) - dump("DHTML processing instruction attribute value");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_DHTML_ATTRIBUTE_NAME); - return XML_TAG_ATTRIBUTE_VALUE; - } - case 687: break; - case 93: - { - if(Debug.debugTokenizer) - dump("DHTML processing instruction '='");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_DHTML_ATTRIBUTE_VALUE); - return XML_TAG_ATTRIBUTE_EQUALS; - } - case 688: break; - case 92: - { - if(Debug.debugTokenizer) - dump("DHTML processing instruction attribute name");//$NON-NLS-1$ - yybegin(ST_DHTML_EQUALS); - return XML_TAG_ATTRIBUTE_NAME; - } - case 689: break; - case 90: - { - if(Debug.debugTokenizer) - dump("DHTML processing instruction end");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - yybegin(YYINITIAL); - return XML_PI_CLOSE; - } - case 690: break; - case 84: - case 86: - case 245: - { - if(Debug.debugTokenizer) - dump("XML processing instruction attribute value");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_PI_ATTRIBUTE_NAME); - return XML_TAG_ATTRIBUTE_VALUE; - } - case 691: break; - case 83: - { - if(Debug.debugTokenizer) - dump("XML processing instruction '='");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_XML_PI_ATTRIBUTE_VALUE); - return XML_TAG_ATTRIBUTE_EQUALS; - } - case 692: break; - case 50: - case 200: - case 201: - case 204: - case 214: - case 215: - case 218: - case 219: - case 361: - case 364: - case 439: - case 450: - case 455: - { - return JSP_VBL_CONTENT; - } - case 693: break; - case 43: - case 179: - case 180: - case 183: - case 193: - case 194: - case 197: - case 198: - case 331: - case 345: - case 348: - case 416: - case 417: - case 429: - case 434: - { - return JSP_EL_CONTENT; - } - case 694: break; - case 35: - case 159: - case 160: - case 322: - case 411: - case 414: - case 482: - case 514: - case 533: - case 549: - case 558: - { - if(Debug.debugTokenizer) - dump("attlist contentspec");//$NON-NLS-1$ - return XML_ATTLIST_DECL_CONTENT; - } - case 695: break; - case 33: - case 152: - case 153: - case 312: - case 404: - case 407: - case 479: - case 513: - case 532: - case 548: - case 557: - { - if(Debug.debugTokenizer) - dump("elementdecl contentspec");//$NON-NLS-1$ - return XML_ELEMENT_DECL_CONTENT; - } - case 696: break; - case 22: - case 112: - { - if(Debug.debugTokenizer) - dump("inappropriate tag name");//$NON-NLS-1$ - if(!fStateStack.empty() && (fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_SQUOTED||fStateStack.peek()==ST_XML_ATTRIBUTE_VALUE_DQUOTED)) { - yybegin(ST_ABORT_EMBEDDED); - yypushback(yylength()-1); - return XML_TAG_ATTRIBUTE_VALUE; - } - yybegin(YYINITIAL); - return XML_CONTENT; - } - case 697: break; - case 18: - case 104: - { - if(Debug.debugTokenizer) - dump("white space");//$NON-NLS-1$ - yybegin(ST_JSP_DIRECTIVE_ATTRIBUTE_NAME); - return WHITE_SPACE; - } - case 698: break; - case 5: - case 8: - case 9: - case 10: - case 12: - case 13: - case 14: - case 15: - case 17: - case 19: - case 20: - case 21: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 34: - case 40: - case 41: - case 73: - case 170: - case 175: - { - if(Debug.debugTokenizer) - dump("white space");//$NON-NLS-1$ - return WHITE_SPACE; - } - case 699: break; - case 0: - case 57: - case 60: - case 62: - case 226: - case 228: - case 229: - case 231: - case 233: - case 371: - case 372: - case 373: - case 463: - { - if(Debug.debugTokenizer) - dump("\nXML content");//$NON-NLS-1$ - return XML_CONTENT; - } - case 700: break; - case 58: - case 101: - case 113: - case 119: - case 129: - { - if(Debug.debugTokenizer) - dump("\nstart tag open");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_XML_TAG_NAME); - return XML_TAG_OPEN; - } - case 701: break; - case 59: - case 61: - case 65: - case 66: - case 67: - case 71: - case 72: - case 81: - case 85: - case 87: - case 88: - case 89: - case 91: - case 95: - case 103: - case 108: - case 109: - case 110: - case 115: - case 124: - case 131: - case 132: - case 133: - case 134: - case 136: - case 137: - case 139: - case 140: - case 141: - case 144: - case 145: - case 146: - case 149: - case 150: - case 151: - case 156: - case 157: - case 158: - case 164: - case 167: - case 172: - case 173: - case 177: - case 178: - case 185: - case 186: - case 188: - case 189: - case 195: - case 199: - case 206: - case 207: - case 209: - case 210: - case 216: - case 220: - { - if (Debug.debugTokenizer) - System.out.println("!!!unexpected!!!: \"" + yytext() + "\":" + //$NON-NLS-2$//$NON-NLS-1$ - yychar + "-" + (yychar + yylength()));//$NON-NLS-1$ - return UNDEFINED; - } - case 702: break; - case 63: - case 64: - { - if(Debug.debugTokenizer) - dump("CDATA text");//$NON-NLS-1$ - fEmbeddedPostState = ST_CDATA_TEXT; - fEmbeddedHint = XML_CDATA_TEXT; - String returnedContext = doScan("]]>", false, true, true, XML_CDATA_TEXT, ST_CDATA_END, ST_CDATA_END);//$NON-NLS-1$ - if(returnedContext == XML_CDATA_TEXT) - yybegin(ST_CDATA_END); - return returnedContext; - } - case 703: break; - case 68: - case 187: - case 190: - case 208: - case 211: - { - if(Debug.debugTokenizer) - dump("LINE FEED");//$NON-NLS-1$ - return WHITE_SPACE; - } - case 704: break; - case 69: - case 70: - { - if(Debug.debugTokenizer) - dump("comment content");//$NON-NLS-1$ - return scanXMLCommentText(); - } - case 705: break; - case 74: - case 75: - case 76: - case 239: - case 240: - case 383: - case 466: - case 505: - { - if(Debug.debugTokenizer) - dump("processing instruction target");//$NON-NLS-1$ - fEmbeddedHint = XML_CONTENT; - yybegin(ST_PI_WS); - return XML_TAG_NAME; - } - case 706: break; - case 77: - { - yybegin(ST_PI_CONTENT); - return WHITE_SPACE; - } - case 707: break; - case 78: - case 79: - case 80: - { - // block scan until close is found - return doScan("?>", false, false, false, XML_PI_CONTENT, ST_XML_PI_TAG_CLOSE, ST_XML_PI_TAG_CLOSE); - } - case 708: break; - case 82: - { - if(Debug.debugTokenizer) - dump("XML processing instruction attribute name");//$NON-NLS-1$ - yybegin(ST_XML_PI_EQUALS); - return XML_TAG_ATTRIBUTE_NAME; - } - case 709: break; - case 126: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED; - yybegin(ST_XML_ATTRIBUTE_VALUE_SQUOTED); - fStateStack.push(yystate()); - if(Debug.debugTokenizer) - dump("JSP attribute value start - complex single quoted");//$NON-NLS-1$ - assembleEmbeddedContainer(XML_TAG_ATTRIBUTE_VALUE_SQUOTE, XML_TAG_ATTRIBUTE_VALUE_SQUOTE); - fStateStack.pop(); - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - yybegin(ST_XML_ATTRIBUTE_NAME); - return PROXY_CONTEXT; - } - case 710: break; - case 130: - { - if(Debug.debugTokenizer) - dump("declaration end");//$NON-NLS-1$ - if (Debug.debugTokenizer) { - if(fStateStack.peek()!=YYINITIAL) - System.out.println("end embedded region");//$NON-NLS-1$ - } - yybegin(fStateStack.pop()); - return XML_DECLARATION_CLOSE; - } - case 711: break; - case 135: - { - if(Debug.debugTokenizer) - dump("doctype type");//$NON-NLS-1$ - yybegin(ST_XML_DOCTYPE_EXTERNAL_ID); - return XML_DOCTYPE_NAME; - } - case 712: break; - case 138: - case 142: - case 289: - case 293: - case 399: - { - if(Debug.debugTokenizer) - dump("doctype public reference");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - fEmbeddedPostState = YYINITIAL; - yybegin(ST_XML_DOCTYPE_ID_SYSTEM); - return XML_DOCTYPE_EXTERNAL_ID_PUBREF; - } - case 713: break; - case 143: - case 147: - case 299: - { - if(Debug.debugTokenizer) - dump("doctype system reference");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - fEmbeddedPostState = YYINITIAL; - yybegin(ST_XML_DECLARATION_CLOSE); - return XML_DOCTYPE_EXTERNAL_ID_SYSREF; - } - case 714: break; - case 148: - case 305: - case 309: - case 402: - { - if(Debug.debugTokenizer) - dump("elementdecl name");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - fEmbeddedPostState = YYINITIAL; - yybegin(ST_XML_ELEMENT_DECLARATION_CONTENT); - return XML_ELEMENT_DECL_NAME; - } - case 715: break; - case 154: - { - if(Debug.debugTokenizer) - dump("elementdecl close");//$NON-NLS-1$ - if (Debug.debugTokenizer) { - if(fStateStack.peek()!=YYINITIAL) - System.out.println("end embedded region");//$NON-NLS-1$ - } - yybegin(fStateStack.pop()); - return XML_DECLARATION_CLOSE; - } - case 716: break; - case 155: - case 315: - case 319: - case 409: - { - if(Debug.debugTokenizer) - dump("attlist name");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - fEmbeddedPostState = YYINITIAL; - yybegin(ST_XML_ATTLIST_DECLARATION_CONTENT); - return XML_ATTLIST_DECL_NAME; - } - case 717: break; - case 161: - { - if(Debug.debugTokenizer) - dump("attlist close");//$NON-NLS-1$ - if (Debug.debugTokenizer) { - if(fStateStack.peek()!=YYINITIAL) - System.out.println("end embedded region");//$NON-NLS-1$ - } - yybegin(fStateStack.pop()); - return XML_DECLARATION_CLOSE; - } - case 718: break; - case 165: - case 166: - { - if(Debug.debugTokenizer) - dump("\nJSP comment text");//$NON-NLS-1$ - return scanJSPCommentText(); - } - case 719: break; - case 168: - case 174: - { - return XML_TAG_ATTRIBUTE_VALUE; - } - case 720: break; - case 169: - { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - int incomingState = yystate(); - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - if(Debug.debugTokenizer) - dump("tag inside of JSP attribute value start");//$NON-NLS-1$ - yybegin(ST_XML_TAG_NAME); - assembleEmbeddedContainer(XML_TAG_OPEN, new String[]{XML_TAG_CLOSE,XML_EMPTY_TAG_CLOSE}); - if(yystate() != ST_ABORT_EMBEDDED) - yybegin(incomingState); - return PROXY_CONTEXT; - } - case 721: break; - case 171: - { - return XML_TAG_ATTRIBUTE_VALUE_SQUOTE; - } - case 722: break; - case 176: - { - return XML_TAG_ATTRIBUTE_VALUE_DQUOTE; - } - case 723: break; - case 181: - { - yybegin(ST_JSP_EL_DQUOTES); - return JSP_EL_DQUOTE; - } - case 724: break; - case 182: - { - yybegin(ST_JSP_EL_SQUOTES); - return JSP_EL_SQUOTE; - } - case 725: break; - case 184: - { - fELlevel--; - if(fELlevel == 0) { - yybegin(YYINITIAL); - return JSP_EL_CLOSE; - } - return JSP_EL_CONTENT; - } - case 726: break; - case 191: - { - yybegin(ST_JSP_EL); - return JSP_EL_SQUOTE; - } - case 727: break; - case 192: - { - yybegin(ST_JSP_EL); - return JSP_EL_DQUOTE; - } - case 728: break; - case 196: - { - return JSP_EL_CLOSE; - } - case 729: break; - case 202: - { - yybegin(ST_JSP_VBL_DQUOTES); - return JSP_VBL_DQUOTE; - } - case 730: break; - case 203: - { - yybegin(ST_JSP_VBL_SQUOTES); - return JSP_VBL_SQUOTE; - } - case 731: break; - case 205: - { - fELlevel--; - if(fELlevel == 0) { - yybegin(YYINITIAL); - return JSP_VBL_CLOSE; - } - return JSP_VBL_CONTENT; - } - case 732: break; - case 212: - { - yybegin(ST_JSP_VBL); - return JSP_VBL_SQUOTE; - } - case 733: break; - case 213: - { - yybegin(ST_JSP_VBL); - return JSP_VBL_DQUOTE; - } - case 734: break; - case 217: - { - return JSP_VBL_CLOSE; - } - case 735: break; - case 221: - { - if(Debug.debugTokenizer) - dump("\nend tag open");//$NON-NLS-1$ - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - yybegin(ST_XML_TAG_NAME); - return XML_END_TAG_OPEN; - } - case 736: break; - case 222: - { - if(Debug.debugTokenizer) - dump("\nprocessing instruction start");//$NON-NLS-1$ - yybegin(ST_PI); - return XML_PI_OPEN; - } - case 737: break; - case 223: - case 234: - case 311: - case 321: - case 332: - case 337: - case 341: - case 344: - case 347: - case 349: - case 353: - case 357: - case 360: - case 363: - { - /* JSP scriptlet begun (anywhere) - * A consequence of the start anywhere possibility is that the - * incoming state must be checked to see if it's erroneous - * due to the order of precedence generated - */ - // begin sanity checks - if(yystate() == ST_JSP_CONTENT) { - // at the beginning?! - yypushback(1); - return JSP_CONTENT; - } - else if(yystate() == ST_BLOCK_TAG_SCAN) { - yypushback(2); - return doBlockTagScan(); - } - else if(yystate() == ST_XML_COMMENT) { - yypushback(2); - return scanXMLCommentText(); - } - else if(yystate() == ST_JSP_COMMENT) { - yypushback(2); - return scanJSPCommentText(); - } - // finished sanity checks - fStateStack.push(yystate()); - if(fStateStack.peek()==YYINITIAL) { - // the simple case, just a regular scriptlet out in content - if(Debug.debugTokenizer) - dump("\nJSP scriptlet start");//$NON-NLS-1$ - yybegin(ST_JSP_CONTENT); - return JSP_SCRIPTLET_OPEN; - } - else { - if (Debug.debugTokenizer) { - System.out.println("begin embedded region: " + fEmbeddedHint);//$NON-NLS-1$ - } - if(Debug.debugTokenizer) - dump("JSP scriptlet start");//$NON-NLS-1$ - if(yystate() == ST_XML_ATTRIBUTE_VALUE_DQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_DQUOTED; - else if(yystate() == ST_XML_ATTRIBUTE_VALUE_SQUOTED) - fEmbeddedPostState = ST_XML_ATTRIBUTE_VALUE_SQUOTED; - else if(yystate() == ST_CDATA_TEXT) { - fEmbeddedPostState = ST_CDATA_TEXT; - fEmbeddedHint = XML_CDATA_TEXT; - } - yybegin(ST_JSP_CONTENT); - assembleEmbeddedContainer(JSP_SCRIPTLET_OPEN, JSP_CLOSE); - if(yystate() == ST_BLOCK_TAG_INTERNAL_SCAN) { - yybegin(ST_BLOCK_TAG_SCAN); - return BLOCK_TEXT; - } - // required help for successive embedded regions - if(yystate() == ST_XML_TAG_NAME) { - fEmbeddedHint = XML_TAG_NAME; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - else if((yystate() == ST_XML_ATTRIBUTE_NAME || yystate() == ST_XML_EQUALS)) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_NAME; - fEmbeddedPostState = ST_XML_EQUALS; - } - else if(yystate() == ST_XML_ATTRIBUTE_VALUE) { - fEmbeddedHint = XML_TAG_ATTRIBUTE_VALUE; - fEmbeddedPostState = ST_XML_ATTRIBUTE_NAME; - } - return PROXY_CONTEXT; - } - } - case 738: break; - case 224: - { - fStateStack.push(yystate()); - if(Debug.debugTokenizer) - dump("\ndeclaration start");//$NON-NLS-1$ - yybegin(ST_XML_DECLARATION); - return XML_DECLARATION_OPEN; - } - case 739: break; - case 238: - { - if(Debug.debugTokenizer) - dump("processing instruction end");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - yybegin(YYINITIAL); - return XML_PI_CLOSE; - } - case 740: break; - case 241: - { - // ended with nothing inside - fEmbeddedHint = UNDEFINED; - yybegin(YYINITIAL); - return XML_PI_CLOSE; - } - case 741: break; - case 242: - { - if(Debug.debugTokenizer) - dump("XML processing instruction end");//$NON-NLS-1$ - fEmbeddedHint = UNDEFINED; - yybegin(YYINITIAL); - return XML_PI_CLOSE; - } - case 742: break; - case 259: - { - if(Debug.debugTokenizer) - dump("JSP end");//$NON-NLS-1$ - if (Debug.debugTokenizer) { - if(fStateStack.peek()!=YYINITIAL) - System.out.println("end embedded region");//$NON-NLS-1$ - } - yybegin(fStateStack.pop()); - return JSP_CLOSE; - } - case 743: break; - case 261: - { - if(Debug.debugTokenizer) - dump("JSP end");//$NON-NLS-1$ - if (Debug.debugTokenizer) { - if(fStateStack.peek()!=YYINITIAL) - System.out.println("end embedded region");//$NON-NLS-1$ - } - yybegin(fStateStack.pop()); - return JSP_DIRECTIVE_CLOSE; - } - case 744: break; - case 162: - case 163: - { - return doBlockTagScan(); - } - case 745: break; - default: - if (yy_input == YYEOF && yy_startRead == yy_currentPos) { - yy_atEOF = true; - yy_do_eof(); - return null; - } - else { - yy_ScanError(YY_NO_MATCH); - } - } - } - } - - -} |