aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-06-15 19:44:15 -0700
committerredmatrix <git@macgirvin.com>2016-06-15 19:44:15 -0700
commitfa48de33c2f6cefbac8bfec7cde75b75390d5f39 (patch)
tree63440977ec1d802850c7b8c21496f01c9a44e7fd
parent476116a972c0f8b8ade495de557b8fc8d3097964 (diff)
downloadvolse-hubzilla-fa48de33c2f6cefbac8bfec7cde75b75390d5f39.tar.gz
volse-hubzilla-fa48de33c2f6cefbac8bfec7cde75b75390d5f39.tar.bz2
volse-hubzilla-fa48de33c2f6cefbac8bfec7cde75b75390d5f39.zip
provide syntax based [colour] highlighting on code blocks for popular languages. I'm not happy with the line height on the list elements but couldn't see where this was defaulted. This uses the syntax [code=xxx]some code snippet[/code], where xxx represents a code/language style - with about 18 builtins.
-rw-r--r--include/bbcode.php14
-rw-r--r--include/text.php38
-rw-r--r--library/Text_Highlighter/README455
-rw-r--r--library/Text_Highlighter/TODO12
-rw-r--r--library/Text_Highlighter/Text/Highlighter.php398
-rw-r--r--library/Text_Highlighter/Text/Highlighter/ABAP.php519
-rw-r--r--library/Text_Highlighter/Text/Highlighter/AVRC.php894
-rw-r--r--library/Text_Highlighter/Text/Highlighter/CPP.php891
-rw-r--r--library/Text_Highlighter/Text/Highlighter/CSS.php437
-rw-r--r--library/Text_Highlighter/Text/Highlighter/DIFF.php384
-rw-r--r--library/Text_Highlighter/Text/Highlighter/DTD.php426
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Generator.php1291
-rw-r--r--library/Text_Highlighter/Text/Highlighter/HTML.php234
-rw-r--r--library/Text_Highlighter/Text/Highlighter/JAVA.php802
-rw-r--r--library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php631
-rw-r--r--library/Text_Highlighter/Text/Highlighter/MYSQL.php434
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PERL.php1352
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PHP.php1107
-rw-r--r--library/Text_Highlighter/Text/Highlighter/PYTHON.php647
-rw-r--r--library/Text_Highlighter/Text/Highlighter/RUBY.php825
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer.php164
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Array.php200
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/BB.php238
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Console.php208
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/Html.php465
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php187
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php86
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/XML.php104
-rw-r--r--library/Text_Highlighter/Text/Highlighter/SH.php1225
-rw-r--r--library/Text_Highlighter/Text/Highlighter/SQL.php419
-rw-r--r--library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php318
-rw-r--r--library/Text_Highlighter/Text/Highlighter/XML.php263
-rw-r--r--library/Text_Highlighter/abap.xml802
-rw-r--r--library/Text_Highlighter/avrc.xml316
-rw-r--r--library/Text_Highlighter/cpp.xml201
-rw-r--r--library/Text_Highlighter/css.xml368
-rw-r--r--library/Text_Highlighter/diff.xml45
-rw-r--r--library/Text_Highlighter/dtd.xml66
-rw-r--r--library/Text_Highlighter/generate171
-rw-r--r--library/Text_Highlighter/generate.bat188
-rw-r--r--library/Text_Highlighter/html.xml33
-rw-r--r--library/Text_Highlighter/java.xml2824
-rw-r--r--library/Text_Highlighter/javascript.xml174
-rw-r--r--library/Text_Highlighter/mysql.xml424
-rw-r--r--library/Text_Highlighter/perl.xml439
-rw-r--r--library/Text_Highlighter/php.xml194
-rw-r--r--library/Text_Highlighter/python.xml229
-rw-r--r--library/Text_Highlighter/release4
-rw-r--r--library/Text_Highlighter/ruby.xml141
-rw-r--r--library/Text_Highlighter/sample.css65
-rw-r--r--library/Text_Highlighter/sh.xml242
-rw-r--r--library/Text_Highlighter/sql.xml496
-rw-r--r--library/Text_Highlighter/vbscript.xml305
-rw-r--r--library/Text_Highlighter/xml.xml37
-rw-r--r--view/php/theme_init.php1
55 files changed, 23433 insertions, 0 deletions
diff --git a/include/bbcode.php b/include/bbcode.php
index 63a475779..3fc1e2ea4 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -491,6 +491,11 @@ function bb_code($match) {
return '<code class="inline-code">' . trim($match[1]) . '</code>';
}
+function bb_highlight($match) {
+ if(in_array($match[1],['php','css','mysql','sql','abap','diff','html','perl','ruby',
+ 'vbscript','avrc','dtd','java','xml','cpp','python','javascript','sh']))
+ return text_highlight($match[2],$match[1]);
+}
// BBcode 2 HTML was written by WAY2WEB.net
@@ -566,6 +571,15 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = str_replace(">", "&gt;", $Text);
+ // Check for [code] text here, before the linefeeds are messed with.
+ // The highlighter will unescape and re-escape the content.
+
+ if (strpos($Text,'[code=') !== false) {
+ $Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text);
+ }
+
+
+
// Convert new line chars to html <br /> tags
// nlbr seems to be hopelessly messed up
diff --git a/include/text.php b/include/text.php
index bd59aa732..7b43ece43 100644
--- a/include/text.php
+++ b/include/text.php
@@ -2881,3 +2881,41 @@ function flatten_array_recursive($arr) {
}
return($ret);
}
+
+function text_highlight($s,$lang) {
+
+ if(! strpos('Text_Highlighter',get_include_path())) {
+ set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter');
+ head_add_css('/library/Text_Highlighter/sample.css');
+ }
+ require_once('library/Text_Highlighter/Text/Highlighter.php');
+ require_once('library/Text_Highlighter/Text/Highlighter/Renderer/Html.php');
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 4,
+ );
+ $tag_added = false;
+ $s = trim(html_entity_decode($s,ENT_COMPAT));
+ $s = str_replace(" ","\t",$s);
+ if($lang === 'php') {
+ if(strpos('<?php',$s) !== 0) {
+ $s = '<?php' . "\n" . $s;
+ $tag_added = true;
+ }
+
+ }
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory($lang);
+ $hl->setRenderer($renderer);
+ $o = $hl->highlight($s);
+ $o = str_replace(" ","&nbsp;&nbsp;&nbsp;&nbsp;",$o);
+
+ if($tag_added) {
+ $b = substr($o,0,strpos($o,'<li>'));
+ $e = substr($o,strpos($o,'</li>'));
+ $o = $b . $e;
+ }
+
+ return('<code>' . $o . '</code>');
+}
+
diff --git a/library/Text_Highlighter/README b/library/Text_Highlighter/README
new file mode 100644
index 000000000..88f71aed2
--- /dev/null
+++ b/library/Text_Highlighter/README
@@ -0,0 +1,455 @@
+# $Id$
+
+Introduction
+============
+
+Text_Highlighter is a class for syntax highlighting. The main idea is to
+simplify creation of subclasses implementing syntax highlighting for
+particular language. Subclasses do not implement any new functioanality, they
+just provide syntax highlighting rules. The rules sources are in XML format.
+To create a highlighter for a language, there is no need to code a new class
+manually. Simply describe the rules in XML file and use Text_Highlighter_Generator
+to create a new class.
+
+
+This document does not contain a formal description of API - it is very
+simple, and I believe providing some examples of code is sufficient.
+
+
+Highlighter XML source
+======================
+
+Basics
+------
+
+Creating a new syntax highlighter begins with describing the highlighting
+rules. There are two basic elements: block and region. A block is just a
+portion of text matching a regular expression and highlighted with a single
+color. Keyword is an example of a block. A region is defined by two regular
+expressions: one for start of region, and another for the end. The main
+difference from a block is that a region can contain blocks and regions
+(including same-named regions). An example of a region is a group of
+statements enclosed in curly brackets (this is used in many languages, for
+example PHP and C). Also, characters matching start and end of a region may be
+highlighted with their own color, and region contents with another.
+
+Blocks and regions may be declared as contained. Contained blocks and regions
+can only appear inside regions. If a region or a block is not declared as
+contained, it can appear both on top level and inside regions. Block or region
+declared as not-contained can only appear on top level.
+
+For any region, a list of blocks and regions that can appear inside this
+region can be specified.
+
+In this document, the term "color group" is used. Chunks of text assigned to
+same color group will be highlighted with same color. Note that in versions
+prior 0.5.0 color goups were refered as CSS classes, but since 0.5.0 not only
+HTML output is supported, so "color group" is more appropriate term.
+
+Elements
+--------
+
+The toplevel element is <highlight>. Attribute lang is required and denotes
+the name of the language. Its value is used as a part of generated class name,
+and must only contain letters, digits and underscores. Optional attribute
+case, when given value yes, makes the language case sensitive (default is case
+insensitive). Allowed subelements are:
+
+ * <authors>: Information about the authors of the file.
+ <author>: Information about a single author of the file. (May be used
+ multiple times, one per author.)
+ - name="...": Author's name. Required.
+ - email="...": Author's email address. Optional.
+
+ * <default>: Default color group.
+ - innerGroup="...": color group name. Required.
+
+ * <region>: Region definition
+ - name="...": Region name. Required.
+ - innerGroup="...": Default color group of region contents. Required.
+ - delimGroup="...": color group of start and end of region. Optional,
+ defaults to value of innerGroup attribute.
+ - start="...", end="...": Regular expression matching start and end
+ of region. Required. Regular expression delimiters are optional, but
+ if you need to specify delimiter, use /. The only case when the
+ delimiters are needed, is specifying regular expression modifiers,
+ such as m or U. Examples: \/\* or /$/m.
+ - contained="yes": Marks region as contained.
+ - never-contained="yes": Marks region as not-contained.
+ - <contains>: Elements allowed inside this region.
+ - all="yes" Region can contain any other region or block
+ (except not-contained). May be used multiple times.
+ - <but> Do not allow certain regions or blocks.
+ - region="..." Name of region not allowed within
+ current region.
+ - block="..." Name of block not allowed within
+ current region.
+ - region="..." Name of region allowed within current region.
+ - block="..." Name of block allowed within current region.
+ - <onlyin> Only allow this region within certain regions. May be
+ used multiple times.
+ - block="..." Name of parent region
+
+ * <block>: Block definition
+ - name="...": Block name. Required.
+ - innerGroup="...": color group of block contents. Optional. If not
+ specified, color group of parent region or default color group will be
+ used. One would only want to omit this attribute if there are
+ keyword groups (see below) inherited from this block, and no special
+ highlighting should apply when the block does not match the keyword.
+ - match="..." Regular expression matching the block. Required.
+ Regular expression delimiters are optional, but if you need to
+ specify delimiter, use /. The only case when the delimiters are
+ needed, is specifying regular expression modifiers, such as m or U.
+ Examples: #|\/\/ or /$/m.
+ - contained="yes": Marks block as contained.
+ - never-contained="yes": Marks block as not-contained.
+ - <onlyin> Only allow this block within certain regions. May be used
+ multiple times.
+ - block="..." Name of parent region
+ - multiline="yes": Marks block as multi-line. By default, whole
+ blocks are assumed to reside in a single line. This make the things
+ faster. If you need to declare a multi-line block, use this
+ attribute.
+ - <partgroup>: Assigns another color group to a part of the block that
+ matched a subpattern.
+ - index="n": Subpattern index. Required.
+ - innerGroup="...": color group name. Required.
+
+ This is an example from CSS highlighter: the measure is matched as
+ a whole, but the measurement units are highlighted with different
+ color.
+
+ <block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
+ innerGroup="number" contained="yes">
+ <onlyin region="property"/>
+ <partGroup index="1" innerGroup="string" />
+ </block>
+
+ * <keywords>: Keyword group definition. Keyword groups are useful when you
+ want to highlight some words that match a condition for a block with a
+ different color. Keywords are defined with literal match, not regular
+ expressions. For example, you have a block named identifier matching a
+ general identifier, and want to highlight reserved words (which match
+ this block as well) with different color. You inherit a keyword group
+ "reserved" from "identifier" block.
+ - name="...": Keyword group. Required.
+ - ifdef="...", ifndef="..." : Conditional declaration. See
+ "Conditions" below.
+ - inherits="...": Inherited block name. Required.
+ - innerGroup="...": color group of keyword group. Required.
+ - case="yes|no": Overrides case-sensitivity of the language.
+ Optional, defaults to global value.
+ - <keyword>: Single keyword definition.
+ - match="..." The keyword. Note: this is not a regular
+ expression, but literal match (possibly case insensitive).
+
+Note that for BC reasons element partClass is alias for partGroup, and
+attributes innerClass and delimClass are aliases of innerGroup and
+delimGroup, respectively.
+
+
+Conditions
+----------
+
+Conditional declarations allow enabling or disabling certain highlighting
+rules at runtime. For example, Java highlighter has a very big list of
+keywords matching Java standard classes. Finding a match in this list can take
+much time. For that reason, corresponding keyword group is declared with
+"ifdef" attribute :
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin"
+ case="yes" ifdef="java.builtins">
+ <keyword match="AbstractAction" />
+ <keyword match="AbstractBorder" />
+ <keyword match="AbstractButton" />
+ ...
+ ...
+ <keyword match="_Remote_Stub" />
+ <keyword match="_ServantActivatorStub" />
+ <keyword match="_ServantLocatorStub" />
+ </keywords>
+
+This keyword group will be only enabled when "java.builtins" is passed as an
+element of "defines" option:
+
+ $options = array(
+ 'defines' => array(
+ 'java.builtins',
+ ),
+ 'numbers' => HL_NUMBERS_TABLE,
+ );
+ $highlighter = Text_Highlighter::factory('java', $options);
+
+"ifndef" attribute has reverse meaning.
+
+Currently, "ifdef" and "ifndef" attributes are only supported for <keywords>
+tag.
+
+
+
+Class generation
+================
+
+Creating XML description of highlighting rules is the most complicated part of
+the process. To generate the class, you need just few lines of code:
+
+ <?php
+ require_once 'Text/Highlighter/Generator.php';
+ $generator = new Text_Highlighter_Generator('php.xml');
+ $generator->generate();
+ $generator->saveCode('PHP.php');
+ ?>
+
+
+
+Command-line class generation tool
+==================================
+
+Example from previous section looks pretty simple, but it does not handle any
+errors which may occur during parsing of XML source. The package provides a
+command-line script to make generation of classes even more simple, and takes
+care of possible errors. It is called generate (on Unix/Linux) or generate.bat
+(on Windows). This script is able to process multiple files in one run, and
+also to process XML from standard input and write generated code to standard
+output.
+
+ Usage:
+ generate options
+
+ Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+
+Examples
+
+ Read from php.xml, write to PHP.php
+
+ generate -x php.xml -p PHP.php
+
+ Read from php.xml, write to standard output
+
+ generate -x php.xml
+
+ Read from php.xml, write to PHP.php, read from xml.xml, write to XML.php
+
+ generate -x php.xml -p PHP.php -x xml.xml -p XML.php
+
+ Read from php.xml, write to /some/dir/PHP.php, read from xml.xml, write to
+ /some/dir/XML.php (assuming that xml.xml contains <highlight lang="xml">, and
+ php.xml contains <highlight lang="php">)
+
+ generate -x php.xml -x xml.xml -d /some/dir/
+
+
+
+Renderers
+=========
+
+Introduction
+------------
+
+Text_Highlighter supports renderes. Using renderers, you can get output in
+different formats. Two renderers are included in the package:
+
+ - HTML renderer. Generates HTML output. A style sheet should be linked to
+ the document to display colored text
+
+ - Console renderer. Can be used to output highlighted text to
+ color-capable terminals, either directly or trough less -r
+
+
+Renderers API
+-------------
+
+Renderers are subclasses of Text_Highlighter_Renderer. Renderer should
+override at least two methods - acceptToken and getOutput. Overriding other
+methods is optional, depending on the nature of renderer's output and details
+of implementation.
+
+ string reset()
+ resets renderer state. This method is called every time before a new
+ source file is highlighted.
+
+ string preprocess(string $code)
+ preprocesses code. Can be used, for example, to normalize whitespace
+ before highlighting. Returns preprocessed string.
+
+ void acceptToken(string $group, string $content)
+ the core method of the renderer. Highlighter passes chunks of text to
+ this method in $content, and color group in $group
+
+ void finalize()
+ signals the renderer that no more tokens are available.
+
+ mixed getOutput()
+ returns generated output.
+
+
+Setting renderer options
+--------------------------------
+
+Renderers accept an optional argument to their constructor - options array.
+Elements of this array are renderer-specific.
+
+HTML renderer
+-------------
+
+HTML renderer produces HTML output with optional line numbering. The renderer
+itself does not provide information about actual colors of highlighted text.
+Instead, <span class="hl-XXX"> is used, where XXX is replaced with color group
+name (hl-var, hl-string, etc.). It is up to you to create a CSS stylesheet.
+If 'use_language' option with value evaluating to true was passed, class names
+will be formatted as "LANG-hl-XXX", where LANG is language name as defined in
+highlighter XML source ("lang" attribute of <highlight> tag) in lower case.
+
+There are 3 special CSS classes:
+
+ hl-main - this class applies to whole output or right table column,
+ depending on 'numbers' option
+ hl-gutter - applies to left column in table
+ hl-table - applies to whole table
+
+HTML renderer accepts following options (each being optional):
+
+ * numbers - line numbering style.
+ 0 - no numbering (default)
+ HL_NUMBERS_LI - use <ol></ol> for line numbering
+ HL_NUMBERS_TABLE - create a 2-column table, with line numbers in left
+ column and highlighted text in right column
+
+ * tabsize - tabulation size. Defaults to 4
+
+ Example:
+
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+
+Console renderer
+----------------
+
+Console renderer produces output for displaying on a color-capable terminal,
+either directly or through less -r, using ANSI escape sequences. By default,
+this renderer only highlights most common color groups. Additional colors
+can be specified using 'colors' option. This renderer also accepts 'numbers'
+option - a boolean value, and 'tabsize' option.
+
+ Example :
+
+ require_once 'Text/Highlighter/Renderer/Console.php';
+ $colors = array(
+ 'prepro' => "\033[35m",
+ 'types' => "\033[32m",
+ );
+ $options = array(
+ 'numbers' => true,
+ 'tabsize' => 8,
+ 'colors' => $colors,
+ );
+ $renderer = new Text_Highlighter_Renderer_Console($options);
+
+
+ANSI color escape sequences have the following format:
+
+ ESC[#;#;....;#m
+
+where ESC is character with ASCII code 27 (033 octal, 0x1B hexadecimal). # is
+one of the following:
+
+ 0 for normal display
+ 1 for bold on
+ 4 underline (mono only)
+ 5 blink on
+ 7 reverse video on
+ 8 nondisplayed (invisible)
+ 30 black foreground
+ 31 red foreground
+ 32 green foreground
+ 33 yellow foreground
+ 34 blue foreground
+ 35 magenta foreground
+ 36 cyan foreground
+ 37 white foreground
+ 40 black background
+ 41 red background
+ 42 green background
+ 43 yellow background
+ 44 blue background
+ 45 magenta background
+ 46 cyan background
+ 47 white background
+
+
+How to use Text_Highlighter class
+=================================
+
+Creating a highlighter object
+-----------------------------
+
+To create a highlighter for a certain language, use Text_Highlighter::factory()
+static method:
+
+ require_once 'Text/Highlighter.php';
+ $hl = Text_Highlighter::factory('php');
+
+
+Setting a renderer
+------------------
+
+Actual output is produced by a renderer.
+
+ require_once 'Text/Highlighter.php';
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory('php');
+ $hl->setRenderer($renderer);
+
+Note that for BC reasons, it is possible to use highlighter without setting a
+renderer. If no renderer is set, HTML renderer will be used by default. In
+this case, you should pass options as second parameter to factory method. The
+following example works exactly as previous one:
+
+ require_once 'Text/Highlighter.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $hl = Text_Highlighter::factory('php', $options);
+
+
+Getting output
+--------------
+
+And finally, do the highlighting and get the output:
+
+ require_once 'Text/Highlighter.php';
+ require_once 'Text/Highlighter/Renderer/Html.php';
+ $options = array(
+ 'numbers' => HL_NUMBERS_LI,
+ 'tabsize' => 8,
+ );
+ $renderer = new Text_Highlighter_Renderer_HTML($options);
+ $hl = Text_Highlighter::factory('php');
+ $hl->setRenderer($renderer);
+ $html = $hl->highlight(file_get_contents('example.php'));
+
+# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
+
diff --git a/library/Text_Highlighter/TODO b/library/Text_Highlighter/TODO
new file mode 100644
index 000000000..77a148b8a
--- /dev/null
+++ b/library/Text_Highlighter/TODO
@@ -0,0 +1,12 @@
+# $Id$
+
+Major issues to solve (but I currently have no idea how) :
+
+- speedup highlighting process
+
+- switching between highlighters depending on context, for example :
+ PHP code -> HTML -> (JavaScript|CSS)
+
+
+# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
+
diff --git a/library/Text_Highlighter/Text/Highlighter.php b/library/Text_Highlighter/Text/Highlighter.php
new file mode 100644
index 000000000..480113c16
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter.php
@@ -0,0 +1,398 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Highlighter base class
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+// require_once 'PEAR.php';
+
+// {{{ BC constants
+
+// BC trick : define constants related to default
+// renderer if needed
+if (!defined('HL_NUMBERS_LI')) {
+ /**#@+
+ * Constant for use with $options['numbers']
+ * @see Text_Highlighter_Renderer_Html::_init()
+ */
+ /**
+ * use numbered list
+ */
+ define ('HL_NUMBERS_LI' , 1);
+ /**
+ * Use 2-column table with line numbers in left column and code in right column.
+ * Forces $options['tag'] = HL_TAG_PRE
+ */
+ define ('HL_NUMBERS_TABLE' , 2);
+ /**#@-*/
+}
+
+// }}}
+// {{{ constants
+/**
+ * for our purpose, it is infinity
+ */
+define ('HL_INFINITY', 1000000000);
+
+// }}}
+
+/**
+ * Text highlighter base class
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+// {{{ Text_Highlighter
+
+/**
+ * Text highlighter base class
+ *
+ * This class implements all functions necessary for highlighting,
+ * but it does not contain highlighting rules. Actual highlighting is
+ * done using a descendent of this class.
+ *
+ * One is not supposed to manually create descendent classes.
+ * Instead, describe highlighting rules in XML format and
+ * use {@link Text_Highlighter_Generator} to create descendent class.
+ * Alternatively, an instance of a descendent class can be created
+ * directly.
+ *
+ * Use {@link Text_Highlighter::factory()} to create an
+ * object for particular language highlighter
+ *
+ * Usage example
+ * <code>
+ *require_once 'Text/Highlighter.php';
+ *$hlSQL = Text_Highlighter::factory('SQL',array('numbers'=>true));
+ *echo $hlSQL->highlight('SELECT * FROM table a WHERE id = 12');
+ * </code>
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @package Text_Highlighter
+ * @access public
+ */
+
+class Text_Highlighter
+{
+ // {{{ members
+
+ /**
+ * Syntax highlighting rules.
+ * Auto-generated classes set this var
+ *
+ * @access protected
+ * @see _init
+ * @var array
+ */
+ var $_syntax;
+
+ /**
+ * Renderer object.
+ *
+ * @access private
+ * @var array
+ */
+ var $_renderer;
+
+ /**
+ * Options. Keeped for BC
+ *
+ * @access protected
+ * @var array
+ */
+ var $_options = array();
+
+ /**
+ * Conditionds
+ *
+ * @access protected
+ * @var array
+ */
+ var $_conditions = array();
+
+ /**
+ * Disabled keywords
+ *
+ * @access protected
+ * @var array
+ */
+ var $_disabled = array();
+
+ /**
+ * Language
+ *
+ * @access protected
+ * @var string
+ */
+ var $_language = '';
+
+ // }}}
+ // {{{ _checkDefines
+
+ /**
+ * Called by subclssses' constructors to enable/disable
+ * optional highlighter rules
+ *
+ * @param array $defines Conditional defines
+ *
+ * @access protected
+ */
+ function _checkDefines()
+ {
+ if (isset($this->_options['defines'])) {
+ $defines = $this->_options['defines'];
+ } else {
+ $defines = array();
+ }
+ foreach ($this->_conditions as $name => $actions) {
+ foreach($actions as $action) {
+ $present = in_array($name, $defines);
+ if (!$action[1]) {
+ $present = !$present;
+ }
+ if ($present) {
+ unset($this->_disabled[$action[0]]);
+ } else {
+ $this->_disabled[$action[0]] = true;
+ }
+ }
+ }
+ }
+
+ // }}}
+ // {{{ factory
+
+ /**
+ * Create a new Highlighter object for specified language
+ *
+ * @param string $lang language, for example "SQL"
+ * @param array $options Rendering options. This
+ * parameter is only keeped for BC reasons, use
+ * {@link Text_Highlighter::setRenderer()} instead
+ *
+ * @return mixed a newly created Highlighter object, or
+ * a PEAR error object on error
+ *
+ * @static
+ * @access public
+ */
+ function &factory($lang, $options = array())
+ {
+ $lang = strtoupper($lang);
+ @include_once 'Text/Highlighter/' . $lang . '.php';
+
+ $classname = 'Text_Highlighter_' . $lang;
+
+ if (!class_exists($classname)) {
+ return PEAR::raiseError('Highlighter for ' . $lang . ' not found');
+ }
+
+ $obj = new $classname($options);
+
+ return $obj;
+ }
+
+ // }}}
+ // {{{ setRenderer
+
+ /**
+ * Set renderer object
+ *
+ * @param object $renderer Text_Highlighter_Renderer
+ *
+ * @access public
+ */
+ function setRenderer(&$renderer)
+ {
+ $this->_renderer = $renderer;
+ }
+
+ // }}}
+
+ /**
+ * Helper function to find matching brackets
+ *
+ * @access private
+ */
+ function _matchingBrackets($str)
+ {
+ return strtr($str, '()<>[]{}', ')(><][}{');
+ }
+
+
+
+
+ function _getToken()
+ {
+ if (!empty($this->_tokenStack)) {
+ return array_pop($this->_tokenStack);
+ }
+ if ($this->_pos >= $this->_len) {
+ return NULL;
+ }
+
+ if ($this->_state != -1 && preg_match($this->_endpattern, $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos)) {
+ $endpos = $m[0][1];
+ $endmatch = $m[0][0];
+ } else {
+ $endpos = -1;
+ }
+ preg_match ($this->_regs[$this->_state], $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos);
+ $n = 1;
+
+
+ foreach ($this->_counts[$this->_state] as $i=>$count) {
+ if (!isset($m[$n])) {
+ break;
+ }
+ if ($m[$n][1]>-1 && ($endpos == -1 || $m[$n][1] < $endpos)) {
+ if ($this->_states[$this->_state][$i] != -1) {
+ $this->_tokenStack[] = array($this->_delim[$this->_state][$i], $m[$n][0]);
+ } else {
+ $inner = $this->_inner[$this->_state][$i];
+ if (isset($this->_parts[$this->_state][$i])) {
+ $parts = array();
+ $partpos = $m[$n][1];
+ for ($j=1; $j<=$count; $j++) {
+ if ($m[$j+$n][1] < 0) {
+ continue;
+ }
+ if (isset($this->_parts[$this->_state][$i][$j])) {
+ if ($m[$j+$n][1] > $partpos) {
+ array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$j+$n][1]-$partpos)));
+ }
+ array_unshift($parts, array($this->_parts[$this->_state][$i][$j], $m[$j+$n][0]));
+ }
+ $partpos = $m[$j+$n][1] + strlen($m[$j+$n][0]);
+ }
+ if ($partpos < $m[$n][1] + strlen($m[$n][0])) {
+ array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$n][1] - $partpos + strlen($m[$n][0]))));
+ }
+ $this->_tokenStack = array_merge($this->_tokenStack, $parts);
+ } else {
+ foreach ($this->_keywords[$this->_state][$i] as $g => $re) {
+ if (isset($this->_disabled[$g])) {
+ continue;
+ }
+ if (preg_match($re, $m[$n][0])) {
+ $inner = $this->_kwmap[$g];
+ break;
+ }
+ }
+ $this->_tokenStack[] = array($inner, $m[$n][0]);
+ }
+ }
+ if ($m[$n][1] > $this->_pos) {
+ $this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $m[$n][1]-$this->_pos));
+ }
+ $this->_pos = $m[$n][1] + strlen($m[$n][0]);
+ if ($this->_states[$this->_state][$i] != -1) {
+ $this->_stack[] = array($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern);
+ $this->_lastinner = $this->_inner[$this->_state][$i];
+ $this->_lastdelim = $this->_delim[$this->_state][$i];
+ $l = $this->_state;
+ $this->_state = $this->_states[$this->_state][$i];
+ $this->_endpattern = $this->_end[$this->_state];
+ if ($this->_subst[$l][$i]) {
+ for ($k=0; $k<=$this->_counts[$l][$i]; $k++) {
+ if (!isset($m[$i+$k])) {
+ break;
+ }
+ $quoted = preg_quote($m[$n+$k][0], '/');
+ $this->_endpattern = str_replace('%'.$k.'%', $quoted, $this->_endpattern);
+ $this->_endpattern = str_replace('%b'.$k.'%', $this->_matchingBrackets($quoted), $this->_endpattern);
+ }
+ }
+ }
+ return array_pop($this->_tokenStack);
+ }
+ $n += $count + 1;
+ }
+
+ if ($endpos > -1) {
+ $this->_tokenStack[] = array($this->_lastdelim, $endmatch);
+ if ($endpos > $this->_pos) {
+ $this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $endpos-$this->_pos));
+ }
+ list($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern) = array_pop($this->_stack);
+ $this->_pos = $endpos + strlen($endmatch);
+ return array_pop($this->_tokenStack);
+ }
+ $p = $this->_pos;
+ $this->_pos = HL_INFINITY;
+ return array($this->_lastinner, substr($this->_str, $p));
+ }
+
+
+
+
+ // {{{ highlight
+
+ /**
+ * Highlights code
+ *
+ * @param string $str Code to highlight
+ * @access public
+ * @return string Highlighted text
+ *
+ */
+
+ function highlight($str)
+ {
+ if (!($this->_renderer)) {
+ include_once('Text/Highlighter/Renderer/Html.php');
+ $this->_renderer = new Text_Highlighter_Renderer_Html($this->_options);
+ }
+ $this->_state = -1;
+ $this->_pos = 0;
+ $this->_stack = array();
+ $this->_tokenStack = array();
+ $this->_lastinner = $this->_defClass;
+ $this->_lastdelim = $this->_defClass;
+ $this->_endpattern = '';
+ $this->_renderer->reset();
+ $this->_renderer->setCurrentLanguage($this->_language);
+ $this->_str = $this->_renderer->preprocess($str);
+ $this->_len = strlen($this->_str);
+ while ($token = $this->_getToken()) {
+ $this->_renderer->acceptToken($token[0], $token[1]);
+ }
+ $this->_renderer->finalize();
+ return $this->_renderer->getOutput();
+ }
+
+ // }}}
+
+}
+
+// }}}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/ABAP.php b/library/Text_Highlighter/Text/Highlighter/ABAP.php
new file mode 100644
index 000000000..b2f7bda94
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/ABAP.php
@@ -0,0 +1,519 @@
+<?php
+/**
+ * Auto-generated class. ABAP syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : abap.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. ABAP syntax highlighting
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_ABAP extends Text_Highlighter
+{
+ var $_language = 'abap';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_ABAP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)[a-z_\\-]\\w*)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
+ 3 => '//',
+ 4 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'identifier',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'identifier',
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?mi)$/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ 'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
+ 'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
+ 'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
+ ),
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'sy' => 'reserved',
+ 'reserved' => 'reserved',
+ 'constants' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/AVRC.php b/library/Text_Highlighter/Text/Highlighter/AVRC.php
new file mode 100644
index 000000000..de4b82ccd
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/AVRC.php
@@ -0,0 +1,894 @@
+
+<?php
+/**
+ * Auto-generated class. AVRC syntax highlighting
+ *
+ *
+ * C/C++ highlighter specific to Atmel AVR microcontrollers
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: avrc.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. AVRC syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_AVRC extends Text_Highlighter
+{
+ var $_language = 'avrc';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_AVRC($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 0 => '/((?i)\\\\)/',
+ 1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 4 => '//',
+ 5 => '/((?i)")|((?i)<)/',
+ 6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 2,
+ 8 => 0,
+ 9 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'identifier',
+ 4 => 'number',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)"/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)>/',
+ 5 => '/(?mi)(?<!\\\\)$/',
+ 6 => '/(?mi)(?<!\\\\)$/',
+ 7 => '/(?i)\\*\\//',
+ 8 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 4,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => 7,
+ 9 => 8,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 => -1,
+ 9 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'registers' => 'reserved',
+ 'types' => 'types',
+ 'Common Macros' => 'prepro',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/CPP.php b/library/Text_Highlighter/Text/Highlighter/CPP.php
new file mode 100644
index 000000000..eaa47c575
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/CPP.php
@@ -0,0 +1,891 @@
+
+<?php
+/**
+ * Auto-generated class. CPP syntax highlighting
+ *
+ *
+ * Thanks to Aaron Kalin for initial
+ * implementation of this highlighter
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: cpp.xml
+ * @author Aaron Kalin
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. CPP syntax highlighting
+ *
+ * @author Aaron Kalin
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_CPP extends Text_Highlighter
+{
+ var $_language = 'cpp';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_CPP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 0 => '/((?i)\\\\)/',
+ 1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 4 => '//',
+ 5 => '/((?i)")|((?i)<)/',
+ 6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 2,
+ 8 => 0,
+ 9 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => 'prepro',
+ 10 => 'prepro',
+ 11 => '',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 3 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'identifier',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'prepro',
+ 10 => 'code',
+ 11 => 'number',
+ 12 => 'mlcomment',
+ 13 => 'comment',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'identifier',
+ 4 => 'number',
+ 5 => 'number',
+ 6 => 'number',
+ 7 => 'number',
+ 8 => 'mlcomment',
+ 9 => 'comment',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)"/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)>/',
+ 5 => '/(?mi)(?<!\\\\)$/',
+ 6 => '/(?mi)(?<!\\\\)$/',
+ 7 => '/(?i)\\*\\//',
+ 8 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => 5,
+ 10 => 6,
+ 11 => -1,
+ 12 => 7,
+ 13 => 8,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 4,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => 7,
+ 9 => 8,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 => -1,
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 => -1,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ 'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
+ 'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
+ 'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 => -1,
+ 9 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'types' => 'types',
+ 'Common Macros' => 'prepro',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/CSS.php b/library/Text_Highlighter/Text/Highlighter/CSS.php
new file mode 100644
index 000000000..51757c88e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/CSS.php
@@ -0,0 +1,437 @@
+<?php
+/**
+ * Auto-generated class. CSS syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: css.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. CSS syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_CSS extends Text_Highlighter
+{
+ var $_language = 'css';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_CSS($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\/\\*)|((?i)(@[a-z\\d]+))|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i):[a-z][a-z\\d\\-]*)|((?i)\\[)|((?i)\\{)/',
+ 0 => '//',
+ 1 => '/((?i)\\d*\\.?\\d+(\\%|em|ex|pc|pt|px|in|mm|cm))|((?i)\\d*\\.?\\d+)|((?i)[a-z][a-z\\d\\-]*)|((?i)#([\\da-f]{6}|[\\da-f]{3})\\b)/',
+ 2 => '/((?i)\')|((?i)")|((?i)[\\w\\-\\:]+)/',
+ 3 => '/((?i)\\/\\*)|((?i)[a-z][a-z\\d\\-]*\\s*:)|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i)\\{)/',
+ 4 => '/((?i)\\\\[\\\\(\\\\)\\\\])/',
+ 5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 4,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 1,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 4,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'comment',
+ 1 => 'reserved',
+ 2 => '',
+ 3 => 'brackets',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'var',
+ 2 => 'identifier',
+ 3 => 'special',
+ 4 => 'code',
+ 5 => 'code',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'number',
+ 1 => 'number',
+ 2 => 'code',
+ 3 => 'var',
+ ),
+ 2 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'var',
+ ),
+ 3 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'identifier',
+ 3 => 'code',
+ ),
+ 4 =>
+ array (
+ 0 => 'string',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\*\\//',
+ 1 => '/(?i)(?=;|\\})/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\}/',
+ 4 => '/(?i)\\)/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 5,
+ 1 => 6,
+ 2 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => 3,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 => -1,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 'propertyValue' => '/^((?i)far-left|left|center-left|center-right|center|far-right|right-side|right|behind|leftwards|rightwards|inherit|scroll|fixed|transparent|none|repeat-x|repeat-y|repeat|no-repeat|collapse|separate|auto|top|bottom|both|open-quote|close-quote|no-open-quote|no-close-quote|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|text|wait|help|ltr|rtl|inline|block|list-item|run-in|compact|marker|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|below|level|above|higher|lower|show|hide|caption|icon|menu|message-box|small-caption|status-bar|normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|italic|oblique|small-caps|bold|bolder|lighter|inside|outside|disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|crop|cross|invert|visible|hidden|always|avoid|x-low|low|medium|high|x-high|mix?|repeat?|static|relative|absolute|portrait|landscape|spell-out|once|digits|continuous|code|x-slow|slow|fast|x-fast|faster|slower|justify|underline|overline|line-through|blink|capitalize|uppercase|lowercase|embed|bidi-override|baseline|sub|super|text-top|middle|text-bottom|silent|x-soft|soft|loud|x-loud|pre|nowrap|serif|sans-serif|cursive|fantasy|monospace|empty|string|strict|loose|char|true|false|dotted|dashed|solid|double|groove|ridge|inset|outset|larger|smaller|xx-small|x-small|small|large|x-large|xx-large|all|newspaper|distribute|distribute-all-lines|distribute-center-last|inter-word|inter-ideograph|inter-cluster|kashida|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|keep-all|break-all|break-word|lr-tb|tb-rl|thin|thick|inline-block|w-resize|hand|distribute-letter|distribute-space|whitespace|male|female|child)$/',
+ 'namedcolor' => '/^((?i)aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow|activeborder|activecaption|appworkspace|background|buttonface|buttonhighlight|buttonshadow|buttontext|captiontext|graytext|highlight|highlighttext|inactiveborder|inactivecaption|inactivecaptiontext|infobackground|infotext|menu|menutext|scrollbar|threeddarkshadow|threedface|threedhighlight|threedlightshadow|threedshadow|window|windowframe|windowtext)$/',
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'propertyValue' => 'string',
+ 'namedcolor' => 'var',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/DIFF.php b/library/Text_Highlighter/Text/Highlighter/DIFF.php
new file mode 100644
index 000000000..2bb25a453
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/DIFF.php
@@ -0,0 +1,384 @@
+<?php
+/**
+ * Auto-generated class. DIFF syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : diff.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. DIFF syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_DIFF extends Text_Highlighter
+{
+ var $_language = 'diff';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_DIFF($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^\\\\\\sNo\\snewline.+$)|((?m)^\\-\\-\\-$)|((?m)^(diff\\s+\\-|Only\\s+|Index).*$)|((?m)^(\\-\\-\\-|\\+\\+\\+)\\s.+$)|((?m)^\\*.*$)|((?m)^\\+.*$)|((?m)^!.*$)|((?m)^\\<\\s.*$)|((?m)^\\>\\s.*$)|((?m)^\\d+(\\,\\d+)?[acd]\\d+(,\\d+)?$)|((?m)^\\-.*$)|((?m)^\\+.*$)|((?m)^@@.+@@$)|((?m)^d\\d+\\s\\d+$)|((?m)^a\\d+\\s\\d+$)|((?m)^(\\d+)(,\\d+)?(a)$)|((?m)^(\\d+)(,\\d+)?(c)$)|((?m)^(\\d+)(,\\d+)?(d)$)|((?m)^a(\\d+)(\\s\\d+)?$)|((?m)^c(\\d+)(\\s\\d+)?$)|((?m)^d(\\d+)(\\s\\d+)?$)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '//',
+ 3 => '//',
+ 4 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 1,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 3,
+ 16 => 3,
+ 17 => 3,
+ 18 => 2,
+ 19 => 2,
+ 20 => 2,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => 'code',
+ 15 => 'code',
+ 16 => 'code',
+ 17 => '',
+ 18 => 'code',
+ 19 => 'code',
+ 20 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'var',
+ 3 => 'reserved',
+ 4 => 'quotes',
+ 5 => 'string',
+ 6 => 'inlinedoc',
+ 7 => 'quotes',
+ 8 => 'string',
+ 9 => 'code',
+ 10 => 'quotes',
+ 11 => 'string',
+ 12 => 'code',
+ 13 => 'code',
+ 14 => 'var',
+ 15 => 'string',
+ 16 => 'inlinedoc',
+ 17 => 'code',
+ 18 => 'string',
+ 19 => 'inlinedoc',
+ 20 => 'code',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?m)(?=^[ad]\\d+\\s\\d+)/',
+ 1 => '/(?m)^(\\.)$/',
+ 2 => '/(?m)^(\\.)$/',
+ 3 => '/(?m)^(\\.)$/',
+ 4 => '/(?m)^(\\.)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => 0,
+ 15 => 1,
+ 16 => 2,
+ 17 => -1,
+ 18 => 3,
+ 19 => 4,
+ 20 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 =>
+ array (
+ ),
+ 18 => -1,
+ 19 => -1,
+ 20 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'default';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/DTD.php b/library/Text_Highlighter/Text/Highlighter/DTD.php
new file mode 100644
index 000000000..41b0faa78
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/DTD.php
@@ -0,0 +1,426 @@
+<?php
+/**
+ * Auto-generated class. DTD syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : dtd.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. DTD syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_DTD extends Text_Highlighter
+{
+ var $_language = 'dtd';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_DTD($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/(\\<!--)|(\\<\\!\\[)|((\\&|\\%)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '/(\\<!--)|(\\<)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 2 => '/(\\<!--)|(\\()|(\')|(")|((?<=\\<)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\\b)|(\\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\\b)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 3 => '/(\\()|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
+ 4 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
+ 5 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ 4 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 1,
+ 5 => 2,
+ 6 => 0,
+ 7 => 1,
+ 8 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 1,
+ ),
+ 5 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'brackets',
+ 1 => '',
+ 2 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'reserved',
+ 3 => 'special',
+ 4 => 'identifier',
+ ),
+ 2 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'var',
+ 5 => 'reserved',
+ 6 => 'reserved',
+ 7 => 'special',
+ 8 => 'identifier',
+ ),
+ 3 =>
+ array (
+ 0 => 'code',
+ 1 => 'special',
+ 2 => 'identifier',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/--\\>/',
+ 1 => '/\\]\\]\\>/',
+ 2 => '/\\>/',
+ 3 => '/\\)/',
+ 4 => '/\'/',
+ 5 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 2,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 4,
+ 3 => 5,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 3,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Generator.php b/library/Text_Highlighter/Text/Highlighter/Generator.php
new file mode 100644
index 000000000..39c4edccb
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Generator.php
@@ -0,0 +1,1291 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+* Syntax highlighter class generator
+*
+* To simplify the process of creating new syntax highlighters
+* for different languages, {@link Text_Highlighter_Generator} class is
+* provided. It takes highlighting rules from XML file and generates
+* a code of a class inherited from {@link Text_Highlighter}.
+*
+* PHP versions 4 and 5
+*
+* LICENSE: This source file is subject to version 3.0 of the PHP license
+* that is available through the world-wide-web at the following URI:
+* http://www.php.net/license/3_0.txt. If you did not receive a copy of
+* the PHP License and are unable to obtain it through the web, please
+* send a note to license@php.net so we can mail you a copy immediately.
+*
+* @category Text
+* @package Text_Highlighter
+* @author Andrey Demenev <demenev@gmail.com>
+* @copyright 2004-2006 Andrey Demenev
+* @license http://www.php.net/license/3_0.txt PHP License
+* @version CVS: $Id$
+* @link http://pear.php.net/package/Text_Highlighter
+*/
+
+/**
+* @ignore
+*/
+require_once 'PEAR.php';
+require_once 'XML/Parser.php';
+
+// {{{ error codes
+
+define ('TEXT_HIGHLIGHTER_EMPTY_RE', 1);
+define ('TEXT_HIGHLIGHTER_INVALID_RE', 2);
+define ('TEXT_HIGHLIGHTER_EMPTY_OR_MISSING', 3);
+define ('TEXT_HIGHLIGHTER_EMPTY', 4);
+define ('TEXT_HIGHLIGHTER_REGION_REGION', 5);
+define ('TEXT_HIGHLIGHTER_REGION_BLOCK', 6);
+define ('TEXT_HIGHLIGHTER_BLOCK_REGION', 7);
+define ('TEXT_HIGHLIGHTER_KEYWORD_BLOCK', 8);
+define ('TEXT_HIGHLIGHTER_KEYWORD_INHERITS', 9);
+define ('TEXT_HIGHLIGHTER_PARSE', 10);
+define ('TEXT_HIGHLIGHTER_FILE_WRITE', 11);
+define ('TEXT_HIGHLIGHTER_FILE_READ', 12);
+// }}}
+
+/**
+* Syntax highliter class generator class
+*
+* This class is used to generate PHP classes
+* from XML files with highlighting rules
+*
+* Usage example
+* <code>
+*require_once 'Text/Highlighter/Generator.php';
+*$generator = new Text_Highlighter_Generator('php.xml');
+*$generator->generate();
+*$generator->saveCode('PHP.php');
+* </code>
+*
+* A command line script <b>generate</b> is provided for
+* class generation (installs in scripts/Text/Highlighter).
+*
+* @author Andrey Demenev <demenev@gmail.com>
+* @copyright 2004-2006 Andrey Demenev
+* @license http://www.php.net/license/3_0.txt PHP License
+* @version Release: @package_version@
+* @link http://pear.php.net/package/Text_Highlighter
+*/
+
+class Text_Highlighter_Generator extends XML_Parser
+{
+ // {{{ properties
+ /**
+ * Whether to do case folding.
+ * We have to declare it here, because XML_Parser
+ * sets case folding in constructor
+ *
+ * @var boolean
+ */
+ var $folding = false;
+
+ /**
+ * Holds name of file with highlighting rules
+ *
+ * @var string
+ * @access private
+ */
+ var $_syntaxFile;
+
+ /**
+ * Current element being processed
+ *
+ * @var array
+ * @access private
+ */
+ var $_element;
+
+ /**
+ * List of regions
+ *
+ * @var array
+ * @access private
+ */
+ var $_regions = array();
+
+ /**
+ * List of blocks
+ *
+ * @var array
+ * @access private
+ */
+ var $_blocks = array();
+
+ /**
+ * List of keyword groups
+ *
+ * @var array
+ * @access private
+ */
+ var $_keywords = array();
+
+ /**
+ * List of authors
+ *
+ * @var array
+ * @access private
+ */
+ var $_authors = array();
+
+ /**
+ * Name of language
+ *
+ * @var string
+ * @access public
+ */
+ var $language = '';
+
+ /**
+ * Generated code
+ *
+ * @var string
+ * @access private
+ */
+ var $_code = '';
+
+ /**
+ * Default class
+ *
+ * @var string
+ * @access private
+ */
+ var $_defClass = 'default';
+
+ /**
+ * Comment
+ *
+ * @var string
+ * @access private
+ */
+ var $_comment = '';
+
+ /**
+ * Flag for comment processing
+ *
+ * @var boolean
+ * @access private
+ */
+ var $_inComment = false;
+
+ /**
+ * Sorting order of current block/region
+ *
+ * @var integer
+ * @access private
+ */
+ var $_blockOrder = 0;
+
+ /**
+ * Generation errors
+ *
+ * @var array
+ * @access private
+ */
+ var $_errors;
+
+ // }}}
+ // {{{ constructor
+
+ /**
+ * PHP4 compatable constructor
+ *
+ * @param string $syntaxFile Name of XML file
+ * with syntax highlighting rules
+ *
+ * @access public
+ */
+
+ function Text_Highlighter_Generator($syntaxFile = '')
+ {
+ return $this->__construct($syntaxFile);
+ }
+
+ /**
+ * Constructor
+ *
+ * @param string $syntaxFile Name of XML file
+ * with syntax highlighting rules
+ *
+ * @access public
+ */
+
+ function __construct($syntaxFile = '')
+ {
+ XML_Parser::XML_Parser(null, 'func');
+ $this->_errors = array();
+ $this->_declareErrorMessages();
+ if ($syntaxFile) {
+ $this->setInputFile($syntaxFile);
+ }
+ }
+
+ // }}}
+ // {{{ _formatError
+
+ /**
+ * Format error message
+ *
+ * @param int $code error code
+ * @param string $params parameters
+ * @param string $fileName file name
+ * @param int $lineNo line number
+ * @return array
+ * @access public
+ */
+ function _formatError($code, $params, $fileName, $lineNo)
+ {
+ $template = $this->_templates[$code];
+ $ret = call_user_func_array('sprintf', array_merge(array($template), $params));
+ if ($fileName) {
+ $ret = '[' . $fileName . '] ' . $ret;
+ }
+ if ($lineNo) {
+ $ret .= ' (line ' . $lineNo . ')';
+ }
+ return $ret;
+ }
+
+ // }}}
+ // {{{ declareErrorMessages
+
+ /**
+ * Set up error message templates
+ *
+ * @access private
+ */
+ function _declareErrorMessages()
+ {
+ $this->_templates = array (
+ TEXT_HIGHLIGHTER_EMPTY_RE => 'Empty regular expression',
+ TEXT_HIGHLIGHTER_INVALID_RE => 'Invalid regular expression : %s',
+ TEXT_HIGHLIGHTER_EMPTY_OR_MISSING => 'Empty or missing %s',
+ TEXT_HIGHLIGHTER_EMPTY => 'Empty %s',
+ TEXT_HIGHLIGHTER_REGION_REGION => 'Region %s refers undefined region %s',
+ TEXT_HIGHLIGHTER_REGION_BLOCK => 'Region %s refers undefined block %s',
+ TEXT_HIGHLIGHTER_BLOCK_REGION => 'Block %s refers undefined region %s',
+ TEXT_HIGHLIGHTER_KEYWORD_BLOCK => 'Keyword group %s refers undefined block %s',
+ TEXT_HIGHLIGHTER_KEYWORD_INHERITS => 'Keyword group %s inherits undefined block %s',
+ TEXT_HIGHLIGHTER_PARSE => '%s',
+ TEXT_HIGHLIGHTER_FILE_WRITE => 'Error writing file %s',
+ TEXT_HIGHLIGHTER_FILE_READ => '%s'
+ );
+ }
+
+ // }}}
+ // {{{ setInputFile
+
+ /**
+ * Sets the input xml file to be parsed
+ *
+ * @param string Filename (full path)
+ * @return boolean
+ * @access public
+ */
+ function setInputFile($file)
+ {
+ $this->_syntaxFile = $file;
+ $ret = parent::setInputFile($file);
+ if (PEAR::isError($ret)) {
+ $this->_error(TEXT_HIGHLIGHTER_FILE_READ, $ret->message);
+ return false;
+ }
+ return true;
+ }
+
+ // }}}
+ // {{{ generate
+
+ /**
+ * Generates class code
+ *
+ * @access public
+ */
+
+ function generate()
+ {
+ $this->_regions = array();
+ $this->_blocks = array();
+ $this->_keywords = array();
+ $this->language = '';
+ $this->_code = '';
+ $this->_defClass = 'default';
+ $this->_comment = '';
+ $this->_inComment = false;
+ $this->_authors = array();
+ $this->_blockOrder = 0;
+ $this->_errors = array();
+
+ $ret = $this->parse();
+ if (PEAR::isError($ret)) {
+ $this->_error(TEXT_HIGHLIGHTER_PARSE, $ret->message);
+ return false;
+ }
+ return true;
+ }
+
+ // }}}
+ // {{{ getCode
+
+ /**
+ * Returns generated code as a string.
+ *
+ * @return string Generated code
+ * @access public
+ */
+
+ function getCode()
+ {
+ return $this->_code;
+ }
+
+ // }}}
+ // {{{ saveCode
+
+ /**
+ * Saves generated class to file. Note that {@link Text_Highlighter::factory()}
+ * assumes that filename is uppercase (SQL.php, DTD.php, etc), and file
+ * is located in Text/Highlighter
+ *
+ * @param string $filename Name of file to write the code to
+ * @return boolean true on success, false on failure
+ * @access public
+ */
+
+ function saveCode($filename)
+ {
+ $f = @fopen($filename, 'wb');
+ if (!$f) {
+ $this->_error(TEXT_HIGHLIGHTER_FILE_WRITE, array('outfile'=>$filename));
+ return false;
+ }
+ fwrite ($f, $this->_code);
+ fclose($f);
+ return true;
+ }
+
+ // }}}
+ // {{{ hasErrors
+
+ /**
+ * Reports if there were errors
+ *
+ * @return boolean
+ * @access public
+ */
+
+ function hasErrors()
+ {
+ return count($this->_errors) > 0;
+ }
+
+ // }}}
+ // {{{ getErrors
+
+ /**
+ * Returns errors
+ *
+ * @return array
+ * @access public
+ */
+
+ function getErrors()
+ {
+ return $this->_errors;
+ }
+
+ // }}}
+ // {{{ _sortBlocks
+
+ /**
+ * Sorts blocks
+ *
+ * @access private
+ */
+
+ function _sortBlocks($b1, $b2) {
+ return $b1['order'] - $b2['order'];
+ }
+
+ // }}}
+ // {{{ _sortLookFor
+ /**
+ * Sort 'look for' list
+ * @return int
+ * @param string $b1
+ * @param string $b2
+ */
+ function _sortLookFor($b1, $b2) {
+ $o1 = isset($this->_blocks[$b1]) ? $this->_blocks[$b1]['order'] : $this->_regions[$b1]['order'];
+ $o2 = isset($this->_blocks[$b2]) ? $this->_blocks[$b2]['order'] : $this->_regions[$b2]['order'];
+ return $o1 - $o2;
+ }
+
+ // }}}
+ // {{{ _makeRE
+
+ /**
+ * Adds delimiters and modifiers to regular expression if necessary
+ *
+ * @param string $text Original RE
+ * @return string Final RE
+ * @access private
+ */
+ function _makeRE($text, $case = false)
+ {
+ if (!strlen($text)) {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_RE);
+ }
+ if (!strlen($text) || $text{0} != '/') {
+ $text = '/' . $text . '/';
+ }
+ if (!$case) {
+ $text .= 'i';
+ }
+ $php_errormsg = '';
+ @preg_match($text, '');
+ if ($php_errormsg) {
+ $this->_error(TEXT_HIGHLIGHTER_INVALID_RE, $php_errormsg);
+ }
+ preg_match ('#^/(.+)/(.*)$#', $text, $m);
+ if (@$m[2]) {
+ $text = '(?' . $m[2] . ')' . $m[1];
+ } else {
+ $text = $m[1];
+ }
+ return $text;
+ }
+
+ // }}}
+ // {{{ _exportArray
+
+ /**
+ * Exports array as PHP code
+ *
+ * @param array $array
+ * @return string Code
+ * @access private
+ */
+ function _exportArray($array)
+ {
+ $array = var_export($array, true);
+ return trim(preg_replace('~^(\s*)~m',' \1\1',$array));
+ }
+
+ // }}}
+ // {{{ _countSubpatterns
+ /**
+ * Find number of capturing suppaterns in regular expression
+ * @return int
+ * @param string $re Regular expression (without delimiters)
+ */
+ function _countSubpatterns($re)
+ {
+ preg_match_all('/' . $re . '/', '', $m);
+ return count($m)-1;
+ }
+
+ // }}}
+
+ /**#@+
+ * @access private
+ * @param resource $xp XML parser resource
+ * @param string $elem XML element name
+ * @param array $attribs XML element attributes
+ */
+
+ // {{{ xmltag_Default
+
+ /**
+ * start handler for <default> element
+ */
+ function xmltag_Default($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_defClass = @$attribs['innerGroup'];
+ }
+
+ // }}}
+ // {{{ xmltag_Region
+
+ /**
+ * start handler for <region> element
+ */
+ function xmltag_Region($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'region name');
+ }
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_element = array('name' => $attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ $this->_element['innerGroup'] = $attribs['innerGroup'];
+ $this->_element['delimGroup'] = isset($attribs['delimGroup']) ?
+ $attribs['delimGroup'] :
+ $attribs['innerGroup'];
+ $this->_element['start'] = $this->_makeRE(@$attribs['start'], $this->_element['case']);
+ $this->_element['end'] = $this->_makeRE(@$attribs['end'], $this->_element['case']);
+ $this->_element['contained'] = @$attribs['contained'] == 'yes';
+ $this->_element['never-contained'] = @$attribs['never-contained'] == 'yes';
+ $this->_element['remember'] = @$attribs['remember'] == 'yes';
+ if (isset($attribs['startBOL']) && $attribs['startBOL'] == 'yes') {
+ $this->_element['startBOL'] = true;
+ }
+ if (isset($attribs['endBOL']) && $attribs['endBOL'] == 'yes') {
+ $this->_element['endBOL'] = true;
+ }
+ if (isset($attribs['neverAfter'])) {
+ $this->_element['neverafter'] = $this->_makeRE($attribs['neverAfter']);
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Block
+
+ /**
+ * start handler for <block> element
+ */
+ function xmltag_Block($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'block name');
+ }
+ if (isset($attribs['innerGroup']) && $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY, 'innerGroup');
+ }
+ $this->_element = array('name' => $attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ if (isset($attribs['innerGroup'])) {
+ $this->_element['innerGroup'] = @$attribs['innerGroup'];
+ }
+ $this->_element['match'] = $this->_makeRE($attribs['match'], $this->_element['case']);
+ $this->_element['contained'] = @$attribs['contained'] == 'yes';
+ $this->_element['multiline'] = @$attribs['multiline'] == 'yes';
+ if (isset($attribs['BOL']) && $attribs['BOL'] == 'yes') {
+ $this->_element['BOL'] = true;
+ }
+ if (isset($attribs['neverAfter'])) {
+ $this->_element['neverafter'] = $this->_makeRE($attribs['neverAfter']);
+ }
+ }
+
+ // }}}
+ // {{{ cdataHandler
+
+ /**
+ * Character data handler. Used for comment
+ */
+ function cdataHandler($xp, $cdata)
+ {
+ if ($this->_inComment) {
+ $this->_comment .= $cdata;
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Comment
+
+ /**
+ * start handler for <comment> element
+ */
+ function xmltag_Comment($xp, $elem, $attribs)
+ {
+ $this->_comment = '';
+ $this->_inComment = true;
+ }
+
+ // }}}
+ // {{{ xmltag_PartGroup
+
+ /**
+ * start handler for <partgroup> element
+ */
+ function xmltag_PartGroup($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ $this->_element['partClass'][$attribs['index']] = @$attribs['innerGroup'];
+ }
+
+ // }}}
+ // {{{ xmltag_PartClass
+
+ /**
+ * start handler for <partclass> element
+ */
+ function xmltag_PartClass($xp, $elem, $attribs)
+ {
+ $this->xmltag_PartGroup($xp, $elem, $attribs);
+ }
+
+ // }}}
+ // {{{ xmltag_Keywords
+
+ /**
+ * start handler for <keywords> element
+ */
+ function xmltag_Keywords($xp, $elem, $attribs)
+ {
+ $this->_aliasAttributes($attribs);
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'keyword group name');
+ }
+ if (!isset($attribs['innerGroup']) || $attribs['innerGroup'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'innerGroup');
+ }
+ if (!isset($attribs['inherits']) || $attribs['inherits'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'inherits');
+ }
+ $this->_element = array('name'=>@$attribs['name']);
+ $this->_element['line'] = xml_get_current_line_number($this->parser);
+ $this->_element['innerGroup'] = @$attribs['innerGroup'];
+ if (isset($attribs['case'])) {
+ $this->_element['case'] = $attribs['case'] == 'yes';
+ } else {
+ $this->_element['case'] = $this->_case;
+ }
+ $this->_element['inherits'] = @$attribs['inherits'];
+ if (isset($attribs['otherwise'])) {
+ $this->_element['otherwise'] = $attribs['otherwise'];
+ }
+ if (isset($attribs['ifdef'])) {
+ $this->_element['ifdef'] = $attribs['ifdef'];
+ }
+ if (isset($attribs['ifndef'])) {
+ $this->_element['ifndef'] = $attribs['ifndef'];
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Keyword
+
+ /**
+ * start handler for <keyword> element
+ */
+ function xmltag_Keyword($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['match']) || $attribs['match'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'match');
+ }
+ $keyword = @$attribs['match'];
+ if (!$this->_element['case']) {
+ $keyword = strtolower($keyword);
+ }
+ $this->_element['match'][$keyword] = true;
+ }
+
+ // }}}
+ // {{{ xmltag_Contains
+
+ /**
+ * start handler for <contains> element
+ */
+ function xmltag_Contains($xp, $elem, $attribs)
+ {
+ $this->_element['contains-all'] = @$attribs['all'] == 'yes';
+ if (isset($attribs['region'])) {
+ $this->_element['contains']['region'][$attribs['region']] =
+ xml_get_current_line_number($this->parser);
+ }
+ if (isset($attribs['block'])) {
+ $this->_element['contains']['block'][$attribs['block']] =
+ xml_get_current_line_number($this->parser);
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_But
+
+ /**
+ * start handler for <but> element
+ */
+ function xmltag_But($xp, $elem, $attribs)
+ {
+ if (isset($attribs['region'])) {
+ $this->_element['not-contains']['region'][$attribs['region']] = true;
+ }
+ if (isset($attribs['block'])) {
+ $this->_element['not-contains']['block'][$attribs['block']] = true;
+ }
+ }
+
+ // }}}
+ // {{{ xmltag_Onlyin
+
+ /**
+ * start handler for <onlyin> element
+ */
+ function xmltag_Onlyin($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['region']) || $attribs['region'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'region');
+ }
+ $this->_element['onlyin'][$attribs['region']] = xml_get_current_line_number($this->parser);
+ }
+
+ // }}}
+ // {{{ xmltag_Author
+
+ /**
+ * start handler for <author> element
+ */
+ function xmltag_Author($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['name']) || $attribs['name'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'author name');
+ }
+ $this->_authors[] = array(
+ 'name' => @$attribs['name'],
+ 'email' => (string)@$attribs['email']
+ );
+ }
+
+ // }}}
+ // {{{ xmltag_Highlight
+
+ /**
+ * start handler for <highlight> element
+ */
+ function xmltag_Highlight($xp, $elem, $attribs)
+ {
+ if (!isset($attribs['lang']) || $attribs['lang'] === '') {
+ $this->_error(TEXT_HIGHLIGHTER_EMPTY_OR_MISSING, 'language name');
+ }
+ $this->_code = '';
+ $this->language = strtoupper(@$attribs['lang']);
+ $this->_case = @$attribs['case'] == 'yes';
+ }
+
+ // }}}
+
+ /**#@-*/
+
+ // {{{ _error
+
+ /**
+ * Add an error message
+ *
+ * @param integer $code Error code
+ * @param mixed $message Error message or array with error message parameters
+ * @param integer $lineNo Source code line number
+ * @access private
+ */
+ function _error($code, $params = array(), $lineNo = 0)
+ {
+ if (!$lineNo && !empty($this->parser)) {
+ $lineNo = xml_get_current_line_number($this->parser);
+ }
+ $this->_errors[] = $this->_formatError($code, $params, $this->_syntaxFile, $lineNo);
+ }
+
+ // }}}
+ // {{{ _aliasAttributes
+
+ /**
+ * BC trick
+ *
+ * @param array $attrs attributes
+ */
+ function _aliasAttributes(&$attrs)
+ {
+ if (isset($attrs['innerClass']) && !isset($attrs['innerGroup'])) {
+ $attrs['innerGroup'] = $attrs['innerClass'];
+ }
+ if (isset($attrs['delimClass']) && !isset($attrs['delimGroup'])) {
+ $attrs['delimGroup'] = $attrs['delimClass'];
+ }
+ if (isset($attrs['partClass']) && !isset($attrs['partGroup'])) {
+ $attrs['partGroup'] = $attrs['partClass'];
+ }
+ }
+
+ // }}}
+
+ /**#@+
+ * @access private
+ * @param resource $xp XML parser resource
+ * @param string $elem XML element name
+ */
+
+ // {{{ xmltag_Comment_
+
+ /**
+ * end handler for <comment> element
+ */
+ function xmltag_Comment_($xp, $elem)
+ {
+ $this->_inComment = false;
+ }
+
+ // }}}
+ // {{{ xmltag_Region_
+
+ /**
+ * end handler for <region> element
+ */
+ function xmltag_Region_($xp, $elem)
+ {
+ $this->_element['type'] = 'region';
+ $this->_element['order'] = $this->_blockOrder ++;
+ $this->_regions[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Keywords_
+
+ /**
+ * end handler for <keywords> element
+ */
+ function xmltag_Keywords_($xp, $elem)
+ {
+ $this->_keywords[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Block_
+
+ /**
+ * end handler for <block> element
+ */
+ function xmltag_Block_($xp, $elem)
+ {
+ $this->_element['type'] = 'block';
+ $this->_element['order'] = $this->_blockOrder ++;
+ $this->_blocks[$this->_element['name']] = $this->_element;
+ }
+
+ // }}}
+ // {{{ xmltag_Highlight_
+
+ /**
+ * end handler for <highlight> element
+ */
+ function xmltag_Highlight_($xp, $elem)
+ {
+ $conditions = array();
+ $toplevel = array();
+ foreach ($this->_blocks as $i => $current) {
+ if (!$current['contained'] && !isset($current['onlyin'])) {
+ $toplevel[] = $i;
+ }
+ foreach ((array)@$current['onlyin'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_BLOCK_REGION,
+ array(
+ 'block' => $current['name'],
+ 'region' => $region
+ ));
+ }
+ }
+ }
+ foreach ($this->_regions as $i=>$current) {
+ if (!$current['contained'] && !isset($current['onlyin'])) {
+ $toplevel[] = $i;
+ }
+ foreach ((array)@$current['contains']['region'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_REGION,
+ array(
+ 'region1' => $current['name'],
+ 'region2' => $region
+ ));
+ }
+ }
+ foreach ((array)@$current['contains']['block'] as $region => $lineNo) {
+ if (!isset($this->_blocks[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_BLOCK,
+ array(
+ 'block' => $current['name'],
+ 'region' => $region
+ ));
+ }
+ }
+ foreach ((array)@$current['onlyin'] as $region => $lineNo) {
+ if (!isset($this->_regions[$region])) {
+ $this->_error(TEXT_HIGHLIGHTER_REGION_REGION,
+ array(
+ 'region1' => $current['name'],
+ 'region2' => $region
+ ));
+ }
+ }
+ foreach ($this->_regions as $j => $region) {
+ if (isset($region['onlyin'])) {
+ $suits = isset($region['onlyin'][$current['name']]);
+ } elseif (isset($current['not-contains']['region'][$region['name']])) {
+ $suits = false;
+ } elseif (isset($current['contains']['region'][$region['name']])) {
+ $suits = true;
+ } else {
+ $suits = @$current['contains-all'] && @!$region['never-contained'];
+ }
+ if ($suits) {
+ $this->_regions[$i]['lookfor'][] = $j;
+ }
+ }
+ foreach ($this->_blocks as $j=>$region) {
+ if (isset($region['onlyin'])) {
+ $suits = isset($region['onlyin'][$current['name']]);
+ } elseif (isset($current['not-contains']['block'][$region['name']])) {
+ $suits = false;
+ } elseif (isset($current['contains']['block'][$region['name']])) {
+ $suits = true;
+ } else {
+ $suits = @$current['contains-all'] && @!$region['never-contained'];
+ }
+ if ($suits) {
+ $this->_regions[$i]['lookfor'][] = $j;
+ }
+ }
+ }
+ foreach ($this->_blocks as $i=>$current) {
+ unset ($this->_blocks[$i]['never-contained']);
+ unset ($this->_blocks[$i]['contained']);
+ unset ($this->_blocks[$i]['contains-all']);
+ unset ($this->_blocks[$i]['contains']);
+ unset ($this->_blocks[$i]['onlyin']);
+ unset ($this->_blocks[$i]['line']);
+ }
+
+ foreach ($this->_regions as $i=>$current) {
+ unset ($this->_regions[$i]['never-contained']);
+ unset ($this->_regions[$i]['contained']);
+ unset ($this->_regions[$i]['contains-all']);
+ unset ($this->_regions[$i]['contains']);
+ unset ($this->_regions[$i]['onlyin']);
+ unset ($this->_regions[$i]['line']);
+ }
+
+ foreach ($this->_keywords as $name => $keyword) {
+ if (isset($keyword['ifdef'])) {
+ $conditions[$keyword['ifdef']][] = array($name, true);
+ }
+ if (isset($keyword['ifndef'])) {
+ $conditions[$keyword['ifndef']][] = array($name, false);
+ }
+ unset($this->_keywords[$name]['line']);
+ if (!isset($this->_blocks[$keyword['inherits']])) {
+ $this->_error(TEXT_HIGHLIGHTER_KEYWORD_INHERITS,
+ array(
+ 'keyword' => $keyword['name'],
+ 'block' => $keyword['inherits']
+ ));
+ }
+ if (isset($keyword['otherwise']) && !isset($this->_blocks[$keyword['otherwise']]) ) {
+ $this->_error(TEXT_HIGHLIGHTER_KEYWORD_BLOCK,
+ array(
+ 'keyword' => $keyword['name'],
+ 'block' => $keyword['inherits']
+ ));
+ }
+ }
+
+ $syntax=array(
+ 'keywords' => $this->_keywords,
+ 'blocks' => array_merge($this->_blocks, $this->_regions),
+ 'toplevel' => $toplevel,
+ );
+ uasort($syntax['blocks'], array(&$this, '_sortBlocks'));
+ foreach ($syntax['blocks'] as $name => $block) {
+ if ($block['type'] == 'block') {
+ continue;
+ }
+ if (is_array(@$syntax['blocks'][$name]['lookfor'])) {
+ usort($syntax['blocks'][$name]['lookfor'], array(&$this, '_sortLookFor'));
+ }
+ }
+ usort($syntax['toplevel'], array(&$this, '_sortLookFor'));
+ $syntax['case'] = $this->_case;
+ $this->_code = <<<CODE
+<?php
+/**
+ * Auto-generated class. {$this->language} syntax highlighting
+CODE;
+
+ if ($this->_comment) {
+ $comment = preg_replace('~^~m',' * ',$this->_comment);
+ $this->_code .= "\n * \n" . $comment;
+ }
+
+ $this->_code .= <<<CODE
+
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: $this->_syntaxFile
+
+CODE;
+
+ foreach ($this->_authors as $author) {
+ $this->_code .= ' * @author ' . $author['name'];
+ if ($author['email']) {
+ $this->_code .= ' <' . $author['email'] . '>';
+ }
+ $this->_code .= "\n";
+ }
+
+ $this->_code .= <<<CODE
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. {$this->language} syntax highlighting
+ *
+
+CODE;
+ foreach ($this->_authors as $author) {
+ $this->_code .= ' * @author ' . $author['name'];
+ if ($author['email']) {
+ $this->_code .= ' <' . $author['email']. '>';
+ }
+ $this->_code .= "\n";
+ }
+
+
+ $this->_code .= <<<CODE
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_{$this->language} extends Text_Highlighter
+{
+
+CODE;
+ $this->_code .= 'var $_language = \'' . strtolower($this->language) . "';\n\n";
+ $array = var_export($syntax, true);
+ $array = trim(preg_replace('~^(\s*)~m',' \1\1',$array));
+ // \$this->_syntax = $array;
+ $this->_code .= <<<CODE
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array \$options
+ * @access public
+ */
+ function Text_Highlighter_{$this->language}(\$options=array())
+ {
+ \$this->__construct(\$options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array \$options
+ * @access public
+ */
+ function __construct(\$options=array())
+ {
+
+CODE;
+ $this->_code .= <<<CODE
+
+ \$this->_options = \$options;
+CODE;
+ $states = array();
+ $i = 0;
+ foreach ($syntax['blocks'] as $name => $block) {
+ if ($block['type'] == 'region') {
+ $states[$name] = $i++;
+ }
+ }
+ $regs = array();
+ $counts = array();
+ $delim = array();
+ $inner = array();
+ $end = array();
+ $stat = array();
+ $keywords = array();
+ $parts = array();
+ $kwmap = array();
+ $subst = array();
+ $re = array();
+ $ce = array();
+ $rd = array();
+ $in = array();
+ $st = array();
+ $kw = array();
+ $sb = array();
+ foreach ($syntax['toplevel'] as $name) {
+ $block = $syntax['blocks'][$name];
+ if ($block['type'] == 'block') {
+ $kwm = array();
+ $re[] = '(' . $block['match'] . ')';
+ $ce[] = $this->_countSubpatterns($block['match']);
+ $rd[] = '';
+ $sb[] = false;;
+ $st[] = -1;
+ foreach ($syntax['keywords'] as $kwname => $kwgroup) {
+ if ($kwgroup['inherits'] != $name) {
+ continue;
+ }
+ $gre = implode('|', array_keys($kwgroup['match']));
+ if (!$kwgroup['case']) {
+ $gre = '(?i)' . $gre;
+ }
+ $kwm[$kwname][] = $gre;
+ $kwmap[$kwname] = $kwgroup['innerGroup'];
+ }
+ foreach ($kwm as $g => $ma) {
+ $kwm[$g] = '/^(' . implode(')|(', $ma) . ')$/';
+ }
+ $kw[] = $kwm;
+ } else {
+ $kw[] = -1;
+ $re[] = '(' . $block['start'] . ')';
+ $ce[] = $this->_countSubpatterns($block['start']);
+ $rd[] = $block['delimGroup'];
+ $st[] = $states[$name];
+ $sb[] = $block['remember'];
+ }
+ $in[] = $block['innerGroup'];
+ }
+ $re = implode('|', $re);
+ $regs[-1] = '/' . $re . '/';
+ $counts[-1] = $ce;
+ $delim[-1] = $rd;
+ $inner[-1] = $in;
+ $stat[-1] = $st;
+ $keywords[-1] = $kw;
+ $subst[-1] = $sb;
+
+ foreach ($syntax['blocks'] as $ablock) {
+ if ($ablock['type'] != 'region') {
+ continue;
+ }
+ $end[] = '/' . $ablock['end'] . '/';
+ $re = array();
+ $ce = array();
+ $rd = array();
+ $in = array();
+ $st = array();
+ $kw = array();
+ $pc = array();
+ $sb = array();
+ foreach ((array)@$ablock['lookfor'] as $name) {
+ $block = $syntax['blocks'][$name];
+ if (isset($block['partClass'])) {
+ $pc[] = $block['partClass'];
+ } else {
+ $pc[] = null;
+ }
+ if ($block['type'] == 'block') {
+ $kwm = array();;
+ $re[] = '(' . $block['match'] . ')';
+ $ce[] = $this->_countSubpatterns($block['match']);
+ $rd[] = '';
+ $sb[] = false;
+ $st[] = -1;
+ foreach ($syntax['keywords'] as $kwname => $kwgroup) {
+ if ($kwgroup['inherits'] != $name) {
+ continue;
+ }
+ $gre = implode('|', array_keys($kwgroup['match']));
+ if (!$kwgroup['case']) {
+ $gre = '(?i)' . $gre;
+ }
+ $kwm[$kwname][] = $gre;
+ $kwmap[$kwname] = $kwgroup['innerGroup'];
+ }
+ foreach ($kwm as $g => $ma) {
+ $kwm[$g] = '/^(' . implode(')|(', $ma) . ')$/';
+ }
+ $kw[] = $kwm;
+ } else {
+ $sb[] = $block['remember'];
+ $kw[] = -1;
+ $re[] = '(' . $block['start'] . ')';
+ $ce[] = $this->_countSubpatterns($block['start']);
+ $rd[] = $block['delimGroup'];
+ $st[] = $states[$name];
+ }
+ $in[] = $block['innerGroup'];
+ }
+ $re = implode('|', $re);
+ $regs[] = '/' . $re . '/';
+ $counts[] = $ce;
+ $delim[] = $rd;
+ $inner[] = $in;
+ $stat[] = $st;
+ $keywords[] = $kw;
+ $parts[] = $pc;
+ $subst[] = $sb;
+ }
+
+
+ $this->_code .= "\n \$this->_regs = " . $this->_exportArray($regs);
+ $this->_code .= ";\n \$this->_counts = " .$this->_exportArray($counts);
+ $this->_code .= ";\n \$this->_delim = " .$this->_exportArray($delim);
+ $this->_code .= ";\n \$this->_inner = " .$this->_exportArray($inner);
+ $this->_code .= ";\n \$this->_end = " .$this->_exportArray($end);
+ $this->_code .= ";\n \$this->_states = " .$this->_exportArray($stat);
+ $this->_code .= ";\n \$this->_keywords = " .$this->_exportArray($keywords);
+ $this->_code .= ";\n \$this->_parts = " .$this->_exportArray($parts);
+ $this->_code .= ";\n \$this->_subst = " .$this->_exportArray($subst);
+ $this->_code .= ";\n \$this->_conditions = " .$this->_exportArray($conditions);
+ $this->_code .= ";\n \$this->_kwmap = " .$this->_exportArray($kwmap);
+ $this->_code .= ";\n \$this->_defClass = '" .$this->_defClass . '\'';
+ $this->_code .= <<<CODE
+;
+ \$this->_checkDefines();
+ }
+
+}
+CODE;
+}
+
+// }}}
+}
+
+
+/*
+* Local variables:
+* tab-width: 4
+* c-basic-offset: 4
+* c-hanging-comment-ender-p: nil
+* End:
+*/
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/HTML.php b/library/Text_Highlighter/Text/Highlighter/HTML.php
new file mode 100644
index 000000000..14d0a783f
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/HTML.php
@@ -0,0 +1,234 @@
+<?php
+/**
+ * Auto-generated class. HTML syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : html.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. HTML syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_HTML extends Text_Highlighter
+{
+ var $_language = 'html';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_HTML($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
+ 2 => '/((?i)(&)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'brackets',
+ 2 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => 'quotes',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'code',
+ 2 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'var',
+ 2 => 'string',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)--\\>/',
+ 1 => '/(?i)[\\/\\?]?\\>/',
+ 2 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => 2,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 => -1,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/JAVA.php b/library/Text_Highlighter/Text/Highlighter/JAVA.php
new file mode 100644
index 000000000..46c0b8851
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/JAVA.php
@@ -0,0 +1,802 @@
+<?php
+/**
+ * Auto-generated class. JAVA syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : java.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. JAVA syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_JAVA extends Text_Highlighter
+{
+ var $_language = 'java';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_JAVA($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 3 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 4 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])/',
+ 5 => '/((?i)\\\\.)/',
+ 6 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 2,
+ 12 => 5,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\*\\//',
+ 4 => '/(?i)"/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'types' => '/^(boolean|byte|char|const|double|final|float|int|long|short|static|void)$/',
+ 'reserved' => '/^(import|package|abstract|break|case|catch|class|continue|default|do|else|extends|false|finally|for|goto|if|implements|instanceof|interface|native|new|null|private|protected|public|return|super|strictfp|switch|synchronized|this|throws|throw|transient|true|try|volatile|while)$/',
+ 'builtin' => '/^(AbstractAction|AbstractBorder|AbstractButton|AbstractCellEditor|AbstractCollection|AbstractColorChooserPanel|AbstractDocument|AbstractInterruptibleChannel|AbstractLayoutCache|AbstractList|AbstractListModel|AbstractMap|AbstractMethodError|AbstractPreferences|AbstractSelectableChannel|AbstractSelectionKey|AbstractSelector|AbstractSequentialList|AbstractSet|AbstractSpinnerModel|AbstractTableModel|AbstractUndoableEdit|AbstractWriter|AccessControlContext|AccessControlException|AccessController|AccessException|Accessible|AccessibleAction|AccessibleBundle|AccessibleComponent|AccessibleContext|AccessibleEditableText|AccessibleExtendedComponent|AccessibleExtendedTable|AccessibleHyperlink|AccessibleHypertext|AccessibleIcon|AccessibleKeyBinding|AccessibleObject|AccessibleRelation|AccessibleRelationSet|AccessibleResourceBundle|AccessibleRole|AccessibleSelection|AccessibleState|AccessibleStateSet|AccessibleTable|AccessibleTableModelChange|AccessibleText|AccessibleValue|AccountExpiredException|Acl|AclEntry|AclNotFoundException|Action|ActionEvent|ActionListener|ActionMap|ActionMapUIResource|Activatable|ActivateFailedException|ActivationDesc|ActivationException|ActivationGroup|ActivationGroup_Stub|ActivationGroupDesc|ActivationGroupID|ActivationID|ActivationInstantiator|ActivationMonitor|ActivationSystem|Activator|ActiveEvent|AdapterActivator|AdapterActivatorOperations|AdapterAlreadyExists|AdapterAlreadyExistsHelper|AdapterInactive|AdapterInactiveHelper|AdapterNonExistent|AdapterNonExistentHelper|AddressHelper|Adjustable|AdjustmentEvent|AdjustmentListener|Adler32|AffineTransform|AffineTransformOp|AlgorithmParameterGenerator|AlgorithmParameterGeneratorSpi|AlgorithmParameters|AlgorithmParameterSpec|AlgorithmParametersSpi|AllPermission|AlphaComposite|AlreadyBound|AlreadyBoundException|AlreadyBoundHelper|AlreadyBoundHolder|AlreadyConnectedException|AncestorEvent|AncestorListener|Annotation|Any|AnyHolder|AnySeqHelper|AnySeqHolder|AppConfigurationEntry|Applet|AppletContext|AppletInitializer|AppletStub|ApplicationException|Arc2D|Area|AreaAveragingScaleFilter|ARG_IN|ARG_INOUT|ARG_OUT|ArithmeticException|Array|ArrayIndexOutOfBoundsException|ArrayList|Arrays|ArrayStoreException|AssertionError|AsyncBoxView|AsynchronousCloseException|Attr|Attribute|AttributedCharacterIterator|AttributedString|AttributeException|AttributeInUseException|AttributeList|AttributeListImpl|AttributeModificationException|Attributes|AttributeSet|AttributeSetUtilities|AttributesImpl|AudioClip|AudioFileFormat|AudioFileReader|AudioFileWriter|AudioFormat|AudioInputStream|AudioPermission|AudioSystem|AuthenticationException|AuthenticationNotSupportedException|Authenticator|AuthPermission|Autoscroll|AWTError|AWTEvent|AWTEventListener|AWTEventListenerProxy|AWTEventMulticaster|AWTException|AWTKeyStroke|AWTPermission|BackingStoreException|BAD_CONTEXT|BAD_INV_ORDER|BAD_OPERATION|BAD_PARAM|BAD_POLICY|BAD_POLICY_TYPE|BAD_POLICY_VALUE|BAD_TYPECODE|BadKind|BadLocationException|BadPaddingException|BandCombineOp|BandedSampleModel|BasicArrowButton|BasicAttribute|BasicAttributes|BasicBorders|BasicButtonListener|BasicButtonUI|BasicCheckBoxMenuItemUI|BasicCheckBoxUI|BasicColorChooserUI|BasicComboBoxEditor|BasicComboBoxRenderer|BasicComboBoxUI|BasicComboPopup|BasicDesktopIconUI|BasicDesktopPaneUI|BasicDirectoryModel|BasicEditorPaneUI|BasicFileChooserUI|BasicFormattedTextFieldUI|BasicGraphicsUtils|BasicHTML|BasicIconFactory|BasicInternalFrameTitlePane|BasicInternalFrameUI|BasicLabelUI|BasicListUI|BasicLookAndFeel|BasicMenuBarUI|BasicMenuItemUI|BasicMenuUI|BasicOptionPaneUI|BasicPanelUI|BasicPasswordFieldUI|BasicPermission|BasicPopupMenuSeparatorUI|BasicPopupMenuUI|BasicProgressBarUI|BasicRadioButtonMenuItemUI|BasicRadioButtonUI|BasicRootPaneUI|BasicScrollBarUI|BasicScrollPaneUI|BasicSeparatorUI|BasicSliderUI|BasicSpinnerUI|BasicSplitPaneDivider|BasicSplitPaneUI|BasicStroke|BasicTabbedPaneUI|BasicTableHeaderUI|BasicTableUI|BasicTextAreaUI|BasicTextFieldUI|BasicTextPaneUI|BasicTextUI|BasicToggleButtonUI|BasicToolBarSeparatorUI|BasicToolBarUI|BasicToolTipUI|BasicTreeUI|BasicViewportUI|BatchUpdateException|BeanContext|BeanContextChild|BeanContextChildComponentProxy|BeanContextChildSupport|BeanContextContainerProxy|BeanContextEvent|BeanContextMembershipEvent|BeanContextMembershipListener|BeanContextProxy|BeanContextServiceAvailableEvent|BeanContextServiceProvider|BeanContextServiceProviderBeanInfo|BeanContextServiceRevokedEvent|BeanContextServiceRevokedListener|BeanContextServices|BeanContextServicesListener|BeanContextServicesSupport|BeanContextSupport|BeanDescriptor|BeanInfo|Beans|BevelBorder|Bidi|BigDecimal|BigInteger|BinaryRefAddr|BindException|Binding|BindingHelper|BindingHolder|BindingIterator|BindingIteratorHelper|BindingIteratorHolder|BindingIteratorOperations|BindingIteratorPOA|BindingListHelper|BindingListHolder|BindingType|BindingTypeHelper|BindingTypeHolder|BitSet|Blob|BlockView|Book|Boolean|BooleanControl|BooleanHolder|BooleanSeqHelper|BooleanSeqHolder|Border|BorderFactory|BorderLayout|BorderUIResource|BoundedRangeModel|Bounds|Box|BoxedValueHelper|BoxLayout|BoxView|BreakIterator|Buffer|BufferCapabilities|BufferedImage|BufferedImageFilter|BufferedImageOp|BufferedInputStream|BufferedOutputStream|BufferedReader|BufferedWriter|BufferOverflowException|BufferStrategy|BufferUnderflowException|Button|ButtonGroup|ButtonModel|ButtonUI|Byte|ByteArrayInputStream|ByteArrayOutputStream|ByteBuffer|ByteChannel|ByteHolder|ByteLookupTable|ByteOrder|Calendar|CallableStatement|Callback|CallbackHandler|CancelablePrintJob|CancelledKeyException|CannotProceed|CannotProceedException|CannotProceedHelper|CannotProceedHolder|CannotRedoException|CannotUndoException|Canvas|CardLayout|Caret|CaretEvent|CaretListener|CDATASection|CellEditor|CellEditorListener|CellRendererPane|Certificate|CertificateEncodingException|CertificateException|CertificateExpiredException|CertificateFactory|CertificateFactorySpi|CertificateNotYetValidException|CertificateParsingException|CertPath|CertPathBuilder|CertPathBuilderException|CertPathBuilderResult|CertPathBuilderSpi|CertPathParameters|CertPathValidator|CertPathValidatorException|CertPathValidatorResult|CertPathValidatorSpi|CertSelector|CertStore|CertStoreException|CertStoreParameters|CertStoreSpi|ChangedCharSetException|ChangeEvent|ChangeListener|Channel|ChannelBinding|Channels|Character|CharacterCodingException|CharacterData|CharacterIterator|CharArrayReader|CharArrayWriter|CharBuffer|CharConversionException|CharHolder|CharSeqHelper|CharSeqHolder|CharSequence|Charset|CharsetDecoder|CharsetEncoder|CharsetProvider|Checkbox|CheckboxGroup|CheckboxMenuItem|CheckedInputStream|CheckedOutputStream|Checksum|Choice|ChoiceCallback|ChoiceFormat|Chromaticity|Cipher|CipherInputStream|CipherOutputStream|CipherSpi|Class|ClassCastException|ClassCircularityError|ClassDesc|ClassFormatError|ClassLoader|ClassNotFoundException|ClientRequestInfo|ClientRequestInfoOperations|ClientRequestInterceptor|ClientRequestInterceptorOperations|Clip|Clipboard|ClipboardOwner|Clob|Cloneable|CloneNotSupportedException|ClosedByInterruptException|ClosedChannelException|ClosedSelectorException|CMMException|Codec|CodecFactory|CodecFactoryHelper|CodecFactoryOperations|CodecOperations|CoderMalfunctionError|CoderResult|CodeSets|CodeSource|CodingErrorAction|CollationElementIterator|CollationKey|Collator|Collection|CollectionCertStoreParameters|Collections|Color|ColorChooserComponentFactory|ColorChooserUI|ColorConvertOp|ColorModel|ColorSelectionModel|ColorSpace|ColorSupported|ColorUIResource|ComboBoxEditor|ComboBoxModel|ComboBoxUI|ComboPopup|COMM_FAILURE|Comment|CommunicationException|Comparable|Comparator|Compiler|CompletionStatus|CompletionStatusHelper|Component|ComponentAdapter|ComponentColorModel|ComponentEvent|ComponentIdHelper|ComponentInputMap|ComponentInputMapUIResource|ComponentListener|ComponentOrientation|ComponentSampleModel|ComponentUI|ComponentView|Composite|CompositeContext|CompositeName|CompositeView|CompoundBorder|CompoundControl|CompoundEdit|CompoundName|Compression|ConcurrentModificationException|Configuration|ConfigurationException|ConfirmationCallback|ConnectException|ConnectIOException|Connection|ConnectionEvent|ConnectionEventListener|ConnectionPendingException|ConnectionPoolDataSource|ConsoleHandler|Constructor|Container|ContainerAdapter|ContainerEvent|ContainerListener|ContainerOrderFocusTraversalPolicy|ContentHandler|ContentHandlerFactory|ContentModel|Context|ContextList|ContextNotEmptyException|ContextualRenderedImageFactory|Control|ControlFactory|ControllerEventListener|ConvolveOp|CookieHolder|Copies|CopiesSupported|CRC32|CredentialExpiredException|CRL|CRLException|CRLSelector|CropImageFilter|CSS|CTX_RESTRICT_SCOPE|CubicCurve2D|Currency|Current|CurrentHelper|CurrentHolder|CurrentOperations|Cursor|Customizer|CustomMarshal|CustomValue|DATA_CONVERSION|DatabaseMetaData|DataBuffer|DataBufferByte|DataBufferDouble|DataBufferFloat|DataBufferInt|DataBufferShort|DataBufferUShort|DataFlavor|DataFormatException|DatagramChannel|DatagramPacket|DatagramSocket|DatagramSocketImpl|DatagramSocketImplFactory|DataInput|DataInputStream|DataLine|DataOutput|DataOutputStream|DataSource|DataTruncation|Date|DateFormat|DateFormatSymbols|DateFormatter|DateTimeAtCompleted|DateTimeAtCreation|DateTimeAtProcessing|DateTimeSyntax|DebugGraphics|DecimalFormat|DecimalFormatSymbols|DeclHandler|DefaultBoundedRangeModel|DefaultButtonModel|DefaultCaret|DefaultCellEditor|DefaultColorSelectionModel|DefaultComboBoxModel|DefaultDesktopManager|DefaultEditorKit|DefaultFocusManager|DefaultFocusTraversalPolicy|DefaultFormatter|DefaultFormatterFactory|DefaultHandler|DefaultHighlighter|DefaultKeyboardFocusManager|DefaultListCellRenderer|DefaultListModel|DefaultListSelectionModel|DefaultMenuLayout|DefaultMetalTheme|DefaultMutableTreeNode|DefaultPersistenceDelegate|DefaultSingleSelectionModel|DefaultStyledDocument|DefaultTableCellRenderer|DefaultTableColumnModel|DefaultTableModel|DefaultTextUI|DefaultTreeCellEditor|DefaultTreeCellRenderer|DefaultTreeModel|DefaultTreeSelectionModel|DefinitionKind|DefinitionKindHelper|Deflater|DeflaterOutputStream|Delegate|DelegationPermission|DESedeKeySpec|DesignMode|DESKeySpec|DesktopIconUI|DesktopManager|DesktopPaneUI|Destination|Destroyable|DestroyFailedException|DGC|DHGenParameterSpec|DHKey|DHParameterSpec|DHPrivateKey|DHPrivateKeySpec|DHPublicKey|DHPublicKeySpec|Dialog|Dictionary|DigestException|DigestInputStream|DigestOutputStream|Dimension|Dimension2D|DimensionUIResource|DirContext|DirectColorModel|DirectoryManager|DirObjectFactory|DirStateFactory|DisplayMode|DnDConstants|Doc|DocAttribute|DocAttributeSet|DocFlavor|DocPrintJob|Document|DocumentBuilder|DocumentBuilderFactory|DocumentEvent|DocumentFilter|DocumentFragment|DocumentHandler|DocumentListener|DocumentName|DocumentParser|DocumentType|DomainCombiner|DomainManager|DomainManagerOperations|DOMException|DOMImplementation|DOMLocator|DOMResult|DOMSource|Double|DoubleBuffer|DoubleHolder|DoubleSeqHelper|DoubleSeqHolder|DragGestureEvent|DragGestureListener|DragGestureRecognizer|DragSource|DragSourceAdapter|DragSourceContext|DragSourceDragEvent|DragSourceDropEvent|DragSourceEvent|DragSourceListener|DragSourceMotionListener|Driver|DriverManager|DriverPropertyInfo|DropTarget|DropTargetAdapter|DropTargetContext|DropTargetDragEvent|DropTargetDropEvent|DropTargetEvent|DropTargetListener|DSAKey|DSAKeyPairGenerator|DSAParameterSpec|DSAParams|DSAPrivateKey|DSAPrivateKeySpec|DSAPublicKey|DSAPublicKeySpec|DTD|DTDConstants|DTDHandler|DuplicateName|DuplicateNameHelper|DynamicImplementation|DynAny|DynAnyFactory|DynAnyFactoryHelper|DynAnyFactoryOperations|DynAnyHelper|DynAnyOperations|DynAnySeqHelper|DynArray|DynArrayHelper|DynArrayOperations|DynEnum|DynEnumHelper|DynEnumOperations|DynFixed|DynFixedHelper|DynFixedOperations|DynSequence|DynSequenceHelper|DynSequenceOperations|DynStruct|DynStructHelper|DynStructOperations|DynUnion|DynUnionHelper|DynUnionOperations|DynValue|DynValueBox|DynValueBoxOperations|DynValueCommon|DynValueCommonOperations|DynValueHelper|DynValueOperations|EditorKit|Element|ElementIterator|Ellipse2D|EmptyBorder|EmptyStackException|EncodedKeySpec|Encoder|Encoding|ENCODING_CDR_ENCAPS|EncryptedPrivateKeyInfo|Entity|EntityReference|EntityResolver|EnumControl|Enumeration|EnumSyntax|Environment|EOFException|Error|ErrorHandler|ErrorListener|ErrorManager|EtchedBorder|Event|EventContext|EventDirContext|EventHandler|EventListener|EventListenerList|EventListenerProxy|EventObject|EventQueue|EventSetDescriptor|Exception|ExceptionInInitializerError|ExceptionList|ExceptionListener|ExemptionMechanism|ExemptionMechanismException|ExemptionMechanismSpi|ExpandVetoException|ExportException|Expression|ExtendedRequest|ExtendedResponse|Externalizable|FactoryConfigurationError|FailedLoginException|FeatureDescriptor|Fidelity|Field|FieldNameHelper|FieldPosition|FieldView|File|FileCacheImageInputStream|FileCacheImageOutputStream|FileChannel|FileChooserUI|FileDescriptor|FileDialog|FileFilter|FileHandler|FileImageInputStream|FileImageOutputStream|FileInputStream|FileLock|FileLockInterruptionException|FilenameFilter|FileNameMap|FileNotFoundException|FileOutputStream|FilePermission|FileReader|FileSystemView|FileView|FileWriter|Filter|FilteredImageSource|FilterInputStream|FilterOutputStream|FilterReader|FilterWriter|Finishings|FixedHeightLayoutCache|FixedHolder|FlatteningPathIterator|FlavorException|FlavorMap|FlavorTable|Float|FloatBuffer|FloatControl|FloatHolder|FloatSeqHelper|FloatSeqHolder|FlowLayout|FlowView|FocusAdapter|FocusEvent|FocusListener|FocusManager|FocusTraversalPolicy|Font|FontFormatException|FontMetrics|FontRenderContext|FontUIResource|Format|FormatConversionProvider|FormatMismatch|FormatMismatchHelper|Formatter|FormView|ForwardRequest|ForwardRequestHelper|Frame|FREE_MEM|GapContent|GatheringByteChannel|GeneralPath|GeneralSecurityException|GlyphJustificationInfo|GlyphMetrics|GlyphVector|GlyphView|GradientPaint|GraphicAttribute|Graphics|Graphics2D|GraphicsConfigTemplate|GraphicsConfiguration|GraphicsDevice|GraphicsEnvironment|GrayFilter|GregorianCalendar|GridBagConstraints|GridBagLayout|GridLayout|Group|GSSContext|GSSCredential|GSSException|GSSManager|GSSName|Guard|GuardedObject|GZIPInputStream|GZIPOutputStream|Handler|HandlerBase|HandshakeCompletedEvent|HandshakeCompletedListener|HasControls|HashAttributeSet|HashDocAttributeSet|HashMap|HashPrintJobAttributeSet|HashPrintRequestAttributeSet|HashPrintServiceAttributeSet|HashSet|Hashtable|HeadlessException|HierarchyBoundsAdapter|HierarchyBoundsListener|HierarchyEvent|HierarchyListener|Highlighter|HostnameVerifier|HTML|HTMLDocument|HTMLEditorKit|HTMLFrameHyperlinkEvent|HTMLWriter|HttpsURLConnection|HttpURLConnection|HyperlinkEvent|HyperlinkListener|ICC_ColorSpace|ICC_Profile|ICC_ProfileGray|ICC_ProfileRGB|Icon|IconUIResource|IconView|ID_ASSIGNMENT_POLICY_ID|ID_UNIQUENESS_POLICY_ID|IdAssignmentPolicy|IdAssignmentPolicyOperations|IdAssignmentPolicyValue|IdentifierHelper|Identity|IdentityHashMap|IdentityScope|IDLEntity|IDLType|IDLTypeHelper|IDLTypeOperations|IdUniquenessPolicy|IdUniquenessPolicyOperations|IdUniquenessPolicyValue|IIOByteBuffer|IIOException|IIOImage|IIOInvalidTreeException|IIOMetadata|IIOMetadataController|IIOMetadataFormat|IIOMetadataFormatImpl|IIOMetadataNode|IIOParam|IIOParamController|IIOReadProgressListener|IIOReadUpdateListener|IIOReadWarningListener|IIORegistry|IIOServiceProvider|IIOWriteProgressListener|IIOWriteWarningListener|IllegalAccessError|IllegalAccessException|IllegalArgumentException|IllegalBlockingModeException|IllegalBlockSizeException|IllegalCharsetNameException|IllegalComponentStateException|IllegalMonitorStateException|IllegalPathStateException|IllegalSelectorException|IllegalStateException|IllegalThreadStateException|Image|ImageCapabilities|ImageConsumer|ImageFilter|ImageGraphicAttribute|ImageIcon|ImageInputStream|ImageInputStreamImpl|ImageInputStreamSpi|ImageIO|ImageObserver|ImageOutputStream|ImageOutputStreamImpl|ImageOutputStreamSpi|ImageProducer|ImageReader|ImageReaderSpi|ImageReaderWriterSpi|ImageReadParam|ImageTranscoder|ImageTranscoderSpi|ImageTypeSpecifier|ImageView|ImageWriteParam|ImageWriter|ImageWriterSpi|ImagingOpException|IMP_LIMIT|IMPLICIT_ACTIVATION_POLICY_ID|ImplicitActivationPolicy|ImplicitActivationPolicyOperations|ImplicitActivationPolicyValue|IncompatibleClassChangeError|InconsistentTypeCode|InconsistentTypeCodeHelper|IndexColorModel|IndexedPropertyDescriptor|IndexOutOfBoundsException|IndirectionException|Inet4Address|Inet6Address|InetAddress|InetSocketAddress|Inflater|InflaterInputStream|InheritableThreadLocal|InitialContext|InitialContextFactory|InitialContextFactoryBuilder|InitialDirContext|INITIALIZE|InitialLdapContext|InlineView|InputContext|InputEvent|InputMap|InputMapUIResource|InputMethod|InputMethodContext|InputMethodDescriptor|InputMethodEvent|InputMethodHighlight|InputMethodListener|InputMethodRequests|InputSource|InputStream|InputStreamReader|InputSubset|InputVerifier|Insets|InsetsUIResource|InstantiationError|InstantiationException|Instrument|InsufficientResourcesException|IntBuffer|Integer|IntegerSyntax|Interceptor|InterceptorOperations|INTERNAL|InternalError|InternalFrameAdapter|InternalFrameEvent|InternalFrameFocusTraversalPolicy|InternalFrameListener|InternalFrameUI|InternationalFormatter|InterruptedException|InterruptedIOException|InterruptedNamingException|InterruptibleChannel|INTF_REPOS|IntHolder|IntrospectionException|Introspector|INV_FLAG|INV_IDENT|INV_OBJREF|INV_POLICY|Invalid|INVALID_TRANSACTION|InvalidAddress|InvalidAddressHelper|InvalidAddressHolder|InvalidAlgorithmParameterException|InvalidAttributeIdentifierException|InvalidAttributesException|InvalidAttributeValueException|InvalidClassException|InvalidDnDOperationException|InvalidKeyException|InvalidKeySpecException|InvalidMarkException|InvalidMidiDataException|InvalidName|InvalidNameException|InvalidNameHelper|InvalidNameHolder|InvalidObjectException|InvalidParameterException|InvalidParameterSpecException|InvalidPolicy|InvalidPolicyHelper|InvalidPreferencesFormatException|InvalidSearchControlsException|InvalidSearchFilterException|InvalidSeq|InvalidSlot|InvalidSlotHelper|InvalidTransactionException|InvalidTypeForEncoding|InvalidTypeForEncodingHelper|InvalidValue|InvalidValueHelper|InvocationEvent|InvocationHandler|InvocationTargetException|InvokeHandler|IOException|IOR|IORHelper|IORHolder|IORInfo|IORInfoOperations|IORInterceptor|IORInterceptorOperations|IRObject|IRObjectOperations|IstringHelper|ItemEvent|ItemListener|ItemSelectable|Iterator|IvParameterSpec|JApplet|JarEntry|JarException|JarFile|JarInputStream|JarOutputStream|JarURLConnection|JButton|JCheckBox|JCheckBoxMenuItem|JColorChooser|JComboBox|JComponent|JDesktopPane|JDialog|JEditorPane|JFileChooser|JFormattedTextField|JFrame|JInternalFrame|JLabel|JLayeredPane|JList|JMenu|JMenuBar|JMenuItem|JobAttributes|JobHoldUntil|JobImpressions|JobImpressionsCompleted|JobImpressionsSupported|JobKOctets|JobKOctetsProcessed|JobKOctetsSupported|JobMediaSheets|JobMediaSheetsCompleted|JobMediaSheetsSupported|JobMessageFromOperator|JobName|JobOriginatingUserName|JobPriority|JobPrioritySupported|JobSheets|JobState|JobStateReason|JobStateReasons|JOptionPane|JPanel|JPasswordField|JPEGHuffmanTable|JPEGImageReadParam|JPEGImageWriteParam|JPEGQTable|JPopupMenu|JProgressBar|JRadioButton|JRadioButtonMenuItem|JRootPane|JScrollBar|JScrollPane|JSeparator|JSlider|JSpinner|JSplitPane|JTabbedPane|JTable|JTableHeader|JTextArea|JTextComponent|JTextField|JTextPane|JToggleButton|JToolBar|JToolTip|JTree|JViewport|JWindow|KerberosKey|KerberosPrincipal|KerberosTicket|Kernel|Key|KeyAdapter|KeyAgreement|KeyAgreementSpi|KeyboardFocusManager|KeyEvent|KeyEventDispatcher|KeyEventPostProcessor|KeyException|KeyFactory|KeyFactorySpi|KeyGenerator|KeyGeneratorSpi|KeyListener|KeyManagementException|KeyManager|KeyManagerFactory|KeyManagerFactorySpi|Keymap|KeyPair|KeyPairGenerator|KeyPairGeneratorSpi|KeySpec|KeyStore|KeyStoreException|KeyStoreSpi|KeyStroke|Label|LabelUI|LabelView|LanguageCallback|LastOwnerException|LayeredHighlighter|LayoutFocusTraversalPolicy|LayoutManager|LayoutManager2|LayoutQueue|LDAPCertStoreParameters|LdapContext|LdapReferralException|Lease|Level|LexicalHandler|LIFESPAN_POLICY_ID|LifespanPolicy|LifespanPolicyOperations|LifespanPolicyValue|LimitExceededException|Line|Line2D|LineBorder|LineBreakMeasurer|LineEvent|LineListener|LineMetrics|LineNumberInputStream|LineNumberReader|LineUnavailableException|LinkageError|LinkedHashMap|LinkedHashSet|LinkedList|LinkException|LinkLoopException|LinkRef|List|ListCellRenderer|ListDataEvent|ListDataListener|ListIterator|ListModel|ListResourceBundle|ListSelectionEvent|ListSelectionListener|ListSelectionModel|ListUI|ListView|LoaderHandler|Locale|LocalObject|LocateRegistry|LOCATION_FORWARD|Locator|LocatorImpl|Logger|LoggingPermission|LoginContext|LoginException|LoginModule|LogManager|LogRecord|LogStream|Long|LongBuffer|LongHolder|LongLongSeqHelper|LongLongSeqHolder|LongSeqHelper|LongSeqHolder|LookAndFeel|LookupOp|LookupTable|Mac|MacSpi|MalformedInputException|MalformedLinkException|MalformedURLException|ManagerFactoryParameters|Manifest|Map|MappedByteBuffer|MARSHAL|MarshalException|MarshalledObject|MaskFormatter|Matcher|Math|MatteBorder|Media|MediaName|MediaPrintableArea|MediaSize|MediaSizeName|MediaTracker|MediaTray|Member|MemoryCacheImageInputStream|MemoryCacheImageOutputStream|MemoryHandler|MemoryImageSource|Menu|MenuBar|MenuBarUI|MenuComponent|MenuContainer|MenuDragMouseEvent|MenuDragMouseListener|MenuElement|MenuEvent|MenuItem|MenuItemUI|MenuKeyEvent|MenuKeyListener|MenuListener|MenuSelectionManager|MenuShortcut|MessageDigest|MessageDigestSpi|MessageFormat|MessageProp|MetaEventListener|MetalBorders|MetalButtonUI|MetalCheckBoxIcon|MetalCheckBoxUI|MetalComboBoxButton|MetalComboBoxEditor|MetalComboBoxIcon|MetalComboBoxUI|MetalDesktopIconUI|MetalFileChooserUI|MetalIconFactory|MetalInternalFrameTitlePane|MetalInternalFrameUI|MetalLabelUI|MetalLookAndFeel|MetalPopupMenuSeparatorUI|MetalProgressBarUI|MetalRadioButtonUI|MetalRootPaneUI|MetalScrollBarUI|MetalScrollButton|MetalScrollPaneUI|MetalSeparatorUI|MetalSliderUI|MetalSplitPaneUI|MetalTabbedPaneUI|MetalTextFieldUI|MetalTheme|MetalToggleButtonUI|MetalToolBarUI|MetalToolTipUI|MetalTreeUI|MetaMessage|Method|MethodDescriptor|MidiChannel|MidiDevice|MidiDeviceProvider|MidiEvent|MidiFileFormat|MidiFileReader|MidiFileWriter|MidiMessage|MidiSystem|MidiUnavailableException|MimeTypeParseException|MinimalHTMLWriter|MissingResourceException|Mixer|MixerProvider|ModificationItem|Modifier|MouseAdapter|MouseDragGestureRecognizer|MouseEvent|MouseInputAdapter|MouseInputListener|MouseListener|MouseMotionAdapter|MouseMotionListener|MouseWheelEvent|MouseWheelListener|MultiButtonUI|MulticastSocket|MultiColorChooserUI|MultiComboBoxUI|MultiDesktopIconUI|MultiDesktopPaneUI|MultiDoc|MultiDocPrintJob|MultiDocPrintService|MultiFileChooserUI|MultiInternalFrameUI|MultiLabelUI|MultiListUI|MultiLookAndFeel|MultiMenuBarUI|MultiMenuItemUI|MultiOptionPaneUI|MultiPanelUI|MultiPixelPackedSampleModel|MultipleComponentProfileHelper|MultipleComponentProfileHolder|MultipleDocumentHandling|MultipleMaster|MultiPopupMenuUI|MultiProgressBarUI|MultiRootPaneUI|MultiScrollBarUI|MultiScrollPaneUI|MultiSeparatorUI|MultiSliderUI|MultiSpinnerUI|MultiSplitPaneUI|MultiTabbedPaneUI|MultiTableHeaderUI|MultiTableUI|MultiTextUI|MultiToolBarUI|MultiToolTipUI|MultiTreeUI|MultiViewportUI|MutableAttributeSet|MutableComboBoxModel|MutableTreeNode|Name|NameAlreadyBoundException|NameCallback|NameClassPair|NameComponent|NameComponentHelper|NameComponentHolder|NamedNodeMap|NamedValue|NameDynAnyPair|NameDynAnyPairHelper|NameDynAnyPairSeqHelper|NameHelper|NameHolder|NameNotFoundException|NameParser|NamespaceChangeListener|NamespaceSupport|NameValuePair|NameValuePairHelper|NameValuePairSeqHelper|Naming|NamingContext|NamingContextExt|NamingContextExtHelper|NamingContextExtHolder|NamingContextExtOperations|NamingContextExtPOA|NamingContextHelper|NamingContextHolder|NamingContextOperations|NamingContextPOA|NamingEnumeration|NamingEvent|NamingException|NamingExceptionEvent|NamingListener|NamingManager|NamingSecurityException|NavigationFilter|NegativeArraySizeException|NetPermission|NetworkInterface|NO_IMPLEMENT|NO_MEMORY|NO_PERMISSION|NO_RESOURCES|NO_RESPONSE|NoClassDefFoundError|NoConnectionPendingException|NoContext|NoContextHelper|Node|NodeChangeEvent|NodeChangeListener|NodeList|NoInitialContextException|NoninvertibleTransformException|NonReadableChannelException|NonWritableChannelException|NoPermissionException|NoRouteToHostException|NoServant|NoServantHelper|NoSuchAlgorithmException|NoSuchAttributeException|NoSuchElementException|NoSuchFieldError|NoSuchFieldException|NoSuchMethodError|NoSuchMethodException|NoSuchObjectException|NoSuchPaddingException|NoSuchProviderException|NotActiveException|Notation|NotBoundException|NotContextException|NotEmpty|NotEmptyHelper|NotEmptyHolder|NotFound|NotFoundHelper|NotFoundHolder|NotFoundReason|NotFoundReasonHelper|NotFoundReasonHolder|NotOwnerException|NotSerializableException|NotYetBoundException|NotYetConnectedException|NullCipher|NullPointerException|Number|NumberFormat|NumberFormatException|NumberFormatter|NumberOfDocuments|NumberOfInterveningJobs|NumberUp|NumberUpSupported|NumericShaper|NVList|OBJ_ADAPTER|Object|OBJECT_NOT_EXIST|ObjectAlreadyActive|ObjectAlreadyActiveHelper|ObjectChangeListener|ObjectFactory|ObjectFactoryBuilder|ObjectHelper|ObjectHolder|ObjectIdHelper|ObjectImpl|ObjectInput|ObjectInputStream|ObjectInputValidation|ObjectNotActive|ObjectNotActiveHelper|ObjectOutput|ObjectOutputStream|ObjectStreamClass|ObjectStreamConstants|ObjectStreamException|ObjectStreamField|ObjectView|ObjID|Observable|Observer|OctetSeqHelper|OctetSeqHolder|Oid|OMGVMCID|OpenType|Operation|OperationNotSupportedException|Option|OptionalDataException|OptionPaneUI|ORB|ORBInitializer|ORBInitializerOperations|ORBInitInfo|ORBInitInfoOperations|OrientationRequested|OutOfMemoryError|OutputDeviceAssigned|OutputKeys|OutputStream|OutputStreamWriter|OverlappingFileLockException|OverlayLayout|Owner|Package|PackedColorModel|Pageable|PageAttributes|PageFormat|PageRanges|PagesPerMinute|PagesPerMinuteColor|Paint|PaintContext|PaintEvent|Panel|PanelUI|Paper|ParagraphView|Parameter|ParameterBlock|ParameterDescriptor|ParameterMetaData|ParameterMode|ParameterModeHelper|ParameterModeHolder|ParseException|ParsePosition|Parser|ParserAdapter|ParserConfigurationException|ParserDelegator|ParserFactory|PartialResultException|PasswordAuthentication|PasswordCallback|PasswordView|Patch|PathIterator|Pattern|PatternSyntaxException|PBEKey|PBEKeySpec|PBEParameterSpec|PDLOverrideSupported|Permission|PermissionCollection|Permissions|PERSIST_STORE|PersistenceDelegate|PhantomReference|Pipe|PipedInputStream|PipedOutputStream|PipedReader|PipedWriter|PixelGrabber|PixelInterleavedSampleModel|PKCS8EncodedKeySpec|PKIXBuilderParameters|PKIXCertPathBuilderResult|PKIXCertPathChecker|PKIXCertPathValidatorResult|PKIXParameters|PlainDocument|PlainView|POA|POAHelper|POAManager|POAManagerOperations|POAOperations|Point|Point2D|Policy|PolicyError|PolicyErrorCodeHelper|PolicyErrorHelper|PolicyErrorHolder|PolicyFactory|PolicyFactoryOperations|PolicyHelper|PolicyHolder|PolicyListHelper|PolicyListHolder|PolicyNode|PolicyOperations|PolicyQualifierInfo|PolicyTypeHelper|Polygon|PooledConnection|Popup|PopupFactory|PopupMenu|PopupMenuEvent|PopupMenuListener|PopupMenuUI|Port|PortableRemoteObject|PortableRemoteObjectDelegate|PortUnreachableException|Position|PreferenceChangeEvent|PreferenceChangeListener|Preferences|PreferencesFactory|PreparedStatement|PresentationDirection|Principal|PrincipalHolder|Printable|PrinterAbortException|PrinterException|PrinterGraphics|PrinterInfo|PrinterIOException|PrinterIsAcceptingJobs|PrinterJob|PrinterLocation|PrinterMakeAndModel|PrinterMessageFromOperator|PrinterMoreInfo|PrinterMoreInfoManufacturer|PrinterName|PrinterResolution|PrinterState|PrinterStateReason|PrinterStateReasons|PrinterURI|PrintEvent|PrintException|PrintGraphics|PrintJob|PrintJobAdapter|PrintJobAttribute|PrintJobAttributeEvent|PrintJobAttributeListener|PrintJobAttributeSet|PrintJobEvent|PrintJobListener|PrintQuality|PrintRequestAttribute|PrintRequestAttributeSet|PrintService|PrintServiceAttribute|PrintServiceAttributeEvent|PrintServiceAttributeListener|PrintServiceAttributeSet|PrintServiceLookup|PrintStream|PrintWriter|PRIVATE_MEMBER|PrivateCredentialPermission|PrivateKey|PrivilegedAction|PrivilegedActionException|PrivilegedExceptionAction|Process|ProcessingInstruction|ProfileDataException|ProfileIdHelper|ProgressBarUI|ProgressMonitor|ProgressMonitorInputStream|Properties|PropertyChangeEvent|PropertyChangeListener|PropertyChangeListenerProxy|PropertyChangeSupport|PropertyDescriptor|PropertyEditor|PropertyEditorManager|PropertyEditorSupport|PropertyPermission|PropertyResourceBundle|PropertyVetoException|ProtectionDomain|ProtocolException|Provider|ProviderException|Proxy|PSSParameterSpec|PUBLIC_MEMBER|PublicKey|PushbackInputStream|PushbackReader|QuadCurve2D|QueuedJobCount|Random|RandomAccess|RandomAccessFile|Raster|RasterFormatException|RasterOp|RC2ParameterSpec|RC5ParameterSpec|ReadableByteChannel|Reader|ReadOnlyBufferException|Receiver|Rectangle|Rectangle2D|RectangularShape|Ref|RefAddr|Reference|Referenceable|ReferenceQueue|ReferenceUriSchemesSupported|ReferralException|ReflectPermission|Refreshable|RefreshFailedException|RegisterableService|Registry|RegistryHandler|RemarshalException|Remote|RemoteCall|RemoteException|RemoteObject|RemoteRef|RemoteServer|RemoteStub|RenderableImage|RenderableImageOp|RenderableImageProducer|RenderContext|RenderedImage|RenderedImageFactory|Renderer|RenderingHints|RepaintManager|ReplicateScaleFilter|RepositoryIdHelper|Request|REQUEST_PROCESSING_POLICY_ID|RequestInfo|RequestInfoOperations|RequestingUserName|RequestProcessingPolicy|RequestProcessingPolicyOperations|RequestProcessingPolicyValue|RescaleOp|ResolutionSyntax|Resolver|ResolveResult|ResourceBundle|ResponseHandler|Result|ResultSet|ResultSetMetaData|ReverbType|RGBImageFilter|RMIClassLoader|RMIClassLoaderSpi|RMIClientSocketFactory|RMIFailureHandler|RMISecurityException|RMISecurityManager|RMIServerSocketFactory|RMISocketFactory|Robot|RootPaneContainer|RootPaneUI|RoundRectangle2D|RowMapper|RowSet|RowSetEvent|RowSetInternal|RowSetListener|RowSetMetaData|RowSetReader|RowSetWriter|RSAKey|RSAKeyGenParameterSpec|RSAMultiPrimePrivateCrtKey|RSAMultiPrimePrivateCrtKeySpec|RSAOtherPrimeInfo|RSAPrivateCrtKey|RSAPrivateCrtKeySpec|RSAPrivateKey|RSAPrivateKeySpec|RSAPublicKey|RSAPublicKeySpec|RTFEditorKit|RuleBasedCollator|Runnable|Runtime|RunTime|RuntimeException|RunTimeOperations|RuntimePermission|SampleModel|Savepoint|SAXException|SAXNotRecognizedException|SAXNotSupportedException|SAXParseException|SAXParser|SAXParserFactory|SAXResult|SAXSource|SAXTransformerFactory|ScatteringByteChannel|SchemaViolationException|Scrollable|Scrollbar|ScrollBarUI|ScrollPane|ScrollPaneAdjustable|ScrollPaneConstants|ScrollPaneLayout|ScrollPaneUI|SealedObject|SearchControls|SearchResult|SecretKey|SecretKeyFactory|SecretKeyFactorySpi|SecretKeySpec|SecureClassLoader|SecureRandom|SecureRandomSpi|Security|SecurityException|SecurityManager|SecurityPermission|Segment|SelectableChannel|SelectionKey|Selector|SelectorProvider|SeparatorUI|Sequence|SequenceInputStream|Sequencer|Serializable|SerializablePermission|Servant|SERVANT_RETENTION_POLICY_ID|ServantActivator|ServantActivatorHelper|ServantActivatorOperations|ServantActivatorPOA|ServantAlreadyActive|ServantAlreadyActiveHelper|ServantLocator|ServantLocatorHelper|ServantLocatorOperations|ServantLocatorPOA|ServantManager|ServantManagerOperations|ServantNotActive|ServantNotActiveHelper|ServantObject|ServantRetentionPolicy|ServantRetentionPolicyOperations|ServantRetentionPolicyValue|ServerCloneException|ServerError|ServerException|ServerNotActiveException|ServerRef|ServerRequest|ServerRequestInfo|ServerRequestInfoOperations|ServerRequestInterceptor|ServerRequestInterceptorOperations|ServerRuntimeException|ServerSocket|ServerSocketChannel|ServerSocketFactory|ServiceContext|ServiceContextHelper|ServiceContextHolder|ServiceContextListHelper|ServiceContextListHolder|ServiceDetail|ServiceDetailHelper|ServiceIdHelper|ServiceInformation|ServiceInformationHelper|ServiceInformationHolder|ServicePermission|ServiceRegistry|ServiceUI|ServiceUIFactory|ServiceUnavailableException|Set|SetOfIntegerSyntax|SetOverrideType|SetOverrideTypeHelper|Severity|Shape|ShapeGraphicAttribute|SheetCollate|Short|ShortBuffer|ShortBufferException|ShortHolder|ShortLookupTable|ShortMessage|ShortSeqHelper|ShortSeqHolder|Sides|Signature|SignatureException|SignatureSpi|SignedObject|Signer|SimpleAttributeSet|SimpleBeanInfo|SimpleDateFormat|SimpleDoc|SimpleFormatter|SimpleTimeZone|SinglePixelPackedSampleModel|SingleSelectionModel|Size2DSyntax|SizeLimitExceededException|SizeRequirements|SizeSequence|Skeleton|SkeletonMismatchException|SkeletonNotFoundException|SliderUI|Socket|SocketAddress|SocketChannel|SocketException|SocketFactory|SocketHandler|SocketImpl|SocketImplFactory|SocketOptions|SocketPermission|SocketSecurityException|SocketTimeoutException|SoftBevelBorder|SoftReference|SortedMap|SortedSet|SortingFocusTraversalPolicy|Soundbank|SoundbankReader|SoundbankResource|Source|SourceDataLine|SourceLocator|SpinnerDateModel|SpinnerListModel|SpinnerModel|SpinnerNumberModel|SpinnerUI|SplitPaneUI|Spring|SpringLayout|SQLData|SQLException|SQLInput|SQLOutput|SQLPermission|SQLWarning|SSLContext|SSLContextSpi|SSLException|SSLHandshakeException|SSLKeyException|SSLPeerUnverifiedException|SSLPermission|SSLProtocolException|SSLServerSocket|SSLServerSocketFactory|SSLSession|SSLSessionBindingEvent|SSLSessionBindingListener|SSLSessionContext|SSLSocket|SSLSocketFactory|Stack|StackOverflowError|StackTraceElement|StartTlsRequest|StartTlsResponse|State|StateEdit|StateEditable|StateFactory|Statement|Streamable|StreamableValue|StreamCorruptedException|StreamHandler|StreamPrintService|StreamPrintServiceFactory|StreamResult|StreamSource|StreamTokenizer|StrictMath|String|StringBuffer|StringBufferInputStream|StringCharacterIterator|StringContent|StringHolder|StringIndexOutOfBoundsException|StringNameHelper|StringReader|StringRefAddr|StringSelection|StringSeqHelper|StringSeqHolder|StringTokenizer|StringValueHelper|StringWriter|Stroke|Struct|StructMember|StructMemberHelper|Stub|StubDelegate|StubNotFoundException|Style|StyleConstants|StyleContext|StyledDocument|StyledEditorKit|StyleSheet|Subject|SubjectDomainCombiner|SUCCESSFUL|SupportedValuesAttribute|SwingConstants|SwingPropertyChangeSupport|SwingUtilities|SYNC_WITH_TRANSPORT|SyncFailedException|SyncScopeHelper|Synthesizer|SysexMessage|System|SYSTEM_EXCEPTION|SystemColor|SystemException|SystemFlavorMap|TabableView|TabbedPaneUI|TabExpander|TableCellEditor|TableCellRenderer|TableColumn|TableColumnModel|TableColumnModelEvent|TableColumnModelListener|TableHeaderUI|TableModel|TableModelEvent|TableModelListener|TableUI|TableView|TabSet|TabStop|TAG_ALTERNATE_IIOP_ADDRESS|TAG_CODE_SETS|TAG_INTERNET_IOP|TAG_JAVA_CODEBASE|TAG_MULTIPLE_COMPONENTS|TAG_ORB_TYPE|TAG_POLICIES|TagElement|TaggedComponent|TaggedComponentHelper|TaggedComponentHolder|TaggedProfile|TaggedProfileHelper|TaggedProfileHolder|TargetDataLine|TCKind|Templates|TemplatesHandler|Text|TextAction|TextArea|TextAttribute|TextComponent|TextEvent|TextField|TextHitInfo|TextInputCallback|TextLayout|TextListener|TextMeasurer|TextOutputCallback|TextSyntax|TextUI|TexturePaint|Thread|THREAD_POLICY_ID|ThreadDeath|ThreadGroup|ThreadLocal|ThreadPolicy|ThreadPolicyOperations|ThreadPolicyValue|Throwable|Tie|TileObserver|Time|TimeLimitExceededException|Timer|TimerTask|Timestamp|TimeZone|TitledBorder|ToolBarUI|Toolkit|ToolTipManager|ToolTipUI|TooManyListenersException|Track|TRANSACTION_REQUIRED|TRANSACTION_ROLLEDBACK|TransactionRequiredException|TransactionRolledbackException|TransactionService|Transferable|TransferHandler|TransformAttribute|Transformer|TransformerConfigurationException|TransformerException|TransformerFactory|TransformerFactoryConfigurationError|TransformerHandler|TRANSIENT|Transmitter|Transparency|TRANSPORT_RETRY|TreeCellEditor|TreeCellRenderer|TreeExpansionEvent|TreeExpansionListener|TreeMap|TreeModel|TreeModelEvent|TreeModelListener|TreeNode|TreePath|TreeSelectionEvent|TreeSelectionListener|TreeSelectionModel|TreeSet|TreeUI|TreeWillExpandListener|TrustAnchor|TrustManager|TrustManagerFactory|TrustManagerFactorySpi|TypeCode|TypeCodeHolder|TypeMismatch|TypeMismatchHelper|Types|UID|UIDefaults|UIManager|UIResource|ULongLongSeqHelper|ULongLongSeqHolder|ULongSeqHelper|ULongSeqHolder|UndeclaredThrowableException|UndoableEdit|UndoableEditEvent|UndoableEditListener|UndoableEditSupport|UndoManager|UnexpectedException|UnicastRemoteObject|UnionMember|UnionMemberHelper|UNKNOWN|UnknownEncoding|UnknownEncodingHelper|UnknownError|UnknownException|UnknownGroupException|UnknownHostException|UnknownObjectException|UnknownServiceException|UnknownUserException|UnknownUserExceptionHelper|UnknownUserExceptionHolder|UnmappableCharacterException|UnmarshalException|UnmodifiableSetException|UnrecoverableKeyException|Unreferenced|UnresolvedAddressException|UnresolvedPermission|UnsatisfiedLinkError|UnsolicitedNotification|UnsolicitedNotificationEvent|UnsolicitedNotificationListener|UNSUPPORTED_POLICY|UNSUPPORTED_POLICY_VALUE|UnsupportedAddressTypeException|UnsupportedAudioFileException|UnsupportedCallbackException|UnsupportedCharsetException|UnsupportedClassVersionError|UnsupportedEncodingException|UnsupportedFlavorException|UnsupportedLookAndFeelException|UnsupportedOperationException|URI|URIException|URIResolver|URISyntax|URISyntaxException|URL|URLClassLoader|URLConnection|URLDecoder|URLEncoder|URLStreamHandler|URLStreamHandlerFactory|URLStringHelper|USER_EXCEPTION|UserException|UShortSeqHelper|UShortSeqHolder|UTFDataFormatException|Util|UtilDelegate|Utilities|ValueBase|ValueBaseHelper|ValueBaseHolder|ValueFactory|ValueHandler|ValueMember|ValueMemberHelper|VariableHeightLayoutCache|Vector|VerifyError|VersionSpecHelper|VetoableChangeListener|VetoableChangeListenerProxy|VetoableChangeSupport|View|ViewFactory|ViewportLayout|ViewportUI|VirtualMachineError|Visibility|VisibilityHelper|VM_ABSTRACT|VM_CUSTOM|VM_NONE|VM_TRUNCATABLE|VMID|VoiceStatus|Void|VolatileImage|WCharSeqHelper|WCharSeqHolder|WeakHashMap|WeakReference|Window|WindowAdapter|WindowConstants|WindowEvent|WindowFocusListener|WindowListener|WindowStateListener|WrappedPlainView|WritableByteChannel|WritableRaster|WritableRenderedImage|WriteAbortedException|Writer|WrongAdapter|WrongAdapterHelper|WrongPolicy|WrongPolicyHelper|WrongTransaction|WrongTransactionHelper|WrongTransactionHolder|WStringSeqHelper|WStringSeqHolder|WStringValueHelper|X500Principal|X500PrivateCredential|X509Certificate|X509CertSelector|X509CRL|X509CRLEntry|X509CRLSelector|X509EncodedKeySpec|X509Extension|X509KeyManager|X509TrustManager|XAConnection|XADataSource|XAException|XAResource|Xid|XMLDecoder|XMLEncoder|XMLFilter|XMLFilterImpl|XMLFormatter|XMLReader|XMLReaderAdapter|XMLReaderFactory|ZipEntry|ZipException|ZipFile|ZipInputStream|ZipOutputStream|ZoneView|_BindingIteratorImplBase|_BindingIteratorStub|_DynAnyFactoryStub|_DynAnyStub|_DynArrayStub|_DynEnumStub|_DynFixedStub|_DynSequenceStub|_DynStructStub|_DynUnionStub|_DynValueStub|_IDLTypeStub|_NamingContextExtStub|_NamingContextImplBase|_NamingContextStub|_PolicyStub|_Remote_Stub|_ServantActivatorStub|_ServantLocatorStub)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ );
+ $this->_conditions = array (
+ 'java.builtins' =>
+ array (
+ 0 =>
+ array (
+ 0 => 'builtin',
+ 1 => true,
+ ),
+ ),
+ );
+ $this->_kwmap = array (
+ 'types' => 'types',
+ 'reserved' => 'reserved',
+ 'builtin' => 'builtin',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php b/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
new file mode 100644
index 000000000..51eae8f62
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
@@ -0,0 +1,631 @@
+<?php
+/**
+ * Auto-generated class. JAVASCRIPT syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: javascript.xml
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. JAVASCRIPT syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_JAVASCRIPT extends Text_Highlighter
+{
+ var $_language = 'javascript';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_JAVASCRIPT($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
+ 3 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ 4 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
+ 5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'comment',
+ 7 => '',
+ 8 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'comment',
+ 7 => 'identifier',
+ 8 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\}/',
+ 1 => '/(?i)\\)/',
+ 2 => '/(?i)\\]/',
+ 3 => '/(?i)\\*\\//',
+ 4 => '/(?i)"/',
+ 5 => '/(?i)\'/',
+ 6 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => -1,
+ 8 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ 'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
+ 'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/MYSQL.php b/library/Text_Highlighter/Text/Highlighter/MYSQL.php
new file mode 100644
index 000000000..bdd74cc8b
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/MYSQL.php
@@ -0,0 +1,434 @@
+<?php
+/**
+ * Auto-generated class. MYSQL syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : mysql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. MYSQL syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_MYSQL extends Text_Highlighter
+{
+ var $_language = 'mysql';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_MYSQL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 4 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 2,
+ 10 => 0,
+ 11 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'brackets',
+ 7 => 'quotes',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'brackets',
+ 7 => 'quotes',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'identifier',
+ 5 => 'string',
+ 6 => 'code',
+ 7 => 'string',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'identifier',
+ 5 => 'string',
+ 6 => 'code',
+ 7 => 'string',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)`/',
+ 1 => '/(?i)\\*\\//',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\\)/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => 2,
+ 6 => 3,
+ 7 => 4,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => 2,
+ 6 => 3,
+ 7 => 4,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
+ ),
+ 4 =>
+ array (
+ 'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
+ ),
+ 4 =>
+ array (
+ 'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'function' => 'reserved',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PERL.php b/library/Text_Highlighter/Text/Highlighter/PERL.php
new file mode 100644
index 000000000..277a5ba45
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PERL.php
@@ -0,0 +1,1352 @@
+<?php
+/**
+ * Auto-generated class. PERL syntax highlighting
+ *
+ * This highlighter is EXPERIMENTAL, so that it may work incorrectly.
+ * Most rules were created by Mariusz Jakubowski, and extended by me.
+ * My knowledge of Perl is poor, and Perl syntax seems too
+ * complicated to me.
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : perl.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Mariusz 'kg' Jakubowski <kg@alternatywa.info>
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PERL syntax highlighting
+ *
+ * @author Mariusz 'kg' Jakubowski <kg@alternatywa.info>
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PERL extends Text_Highlighter
+{
+ var $_language = 'perl';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PERL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 0 => '//',
+ 1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 2 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|((?i)([a-z1-9_]+)(\\s*=>))|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 3 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 4 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ 5 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 6 => '/(\\\\\\/)/',
+ 7 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 8 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 9 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 2,
+ 14 => 0,
+ 15 => 3,
+ 16 => 1,
+ 17 => 1,
+ 18 => 3,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ 24 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 2,
+ 6 => 1,
+ 7 => 9,
+ 8 => 9,
+ 9 => 0,
+ 10 => 8,
+ 11 => 5,
+ 12 => 0,
+ 13 => 0,
+ 14 => 3,
+ 15 => 1,
+ 16 => 1,
+ 17 => 3,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => '',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => 'quotes',
+ 23 => '',
+ 24 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => 'brackets',
+ 5 => '',
+ 6 => '',
+ 7 => 'quotes',
+ 8 => 'quotes',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => 'quotes',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ 18 => '',
+ 19 => 'quotes',
+ 20 => 'quotes',
+ 21 => 'quotes',
+ 22 => '',
+ 23 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'string',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'var',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'string',
+ 23 => 'identifier',
+ 24 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'code',
+ 5 => 'special',
+ 6 => 'special',
+ 7 => 'string',
+ 8 => 'string',
+ 9 => 'comment',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'string',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'var',
+ 18 => 'var',
+ 19 => 'string',
+ 20 => 'string',
+ 21 => 'string',
+ 22 => 'identifier',
+ 23 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ ),
+ 6 =>
+ array (
+ 0 => 'string',
+ ),
+ 7 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 8 =>
+ array (
+ 0 => 'special',
+ ),
+ 9 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?m)^=cut[^\\n]*/',
+ 1 => '/\\}/',
+ 2 => '/\\)/',
+ 3 => '/\\]/',
+ 4 => '/%b2%/',
+ 5 => '/%b2%/',
+ 6 => '/\\/[cgimosx]*/',
+ 7 => '/`/',
+ 8 => '/\'/',
+ 9 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => -1,
+ 20 => 7,
+ 21 => 8,
+ 22 => 9,
+ 23 => -1,
+ 24 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => 3,
+ 5 => -1,
+ 6 => -1,
+ 7 => 4,
+ 8 => 5,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => 6,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 => 7,
+ 20 => 8,
+ 21 => 9,
+ 22 => -1,
+ 23 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 =>
+ array (
+ ),
+ 20 => -1,
+ 21 => -1,
+ 22 => -1,
+ 23 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 24 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 => -1,
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ 18 =>
+ array (
+ ),
+ 19 => -1,
+ 20 => -1,
+ 21 => -1,
+ 22 =>
+ array (
+ 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
+ 'missingreserved' => '/^(new)$/',
+ 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
+ ),
+ 23 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 =>
+ array (
+ 1 => 'string',
+ 2 => 'code',
+ ),
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ 24 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 11 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ 22 => NULL,
+ 23 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ 24 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => true,
+ 8 => true,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'missingreserved' => 'reserved',
+ 'flowcontrol' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PHP.php b/library/Text_Highlighter/Text/Highlighter/PHP.php
new file mode 100644
index 000000000..1ee2e6b90
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PHP.php
@@ -0,0 +1,1107 @@
+<?php
+/**
+ * Auto-generated class. PHP syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : php.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PHP syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PHP extends Text_Highlighter
+{
+ var $_language = 'php';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PHP($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<\\?(php|=)?)/',
+ 0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)\\?\\>)|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 3 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)`)|((?mi)\\<\\<\\<[\\x20\\x09]*(\\w+)$)|((?i)\')|((?i)(#|\\/\\/))|((?i)[a-z_]\\w*)|((?i)\\((array|int|integer|string|bool|boolean|object|float|double)\\))|((?i)0[xX][\\da-f]+)|((?i)\\$[a-z_]\\w*)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))/',
+ 4 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 5 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 6 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 7 => '/((?i)\\\\[\\\\"\'`tnr\\$\\{])|((?i)\\{\\$[a-z_].*\\})|((?i)\\$[a-z_]\\w*)/',
+ 8 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 9 => '/((?i)\\s@\\w+\\s)|((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\bnote:)|((?i)\\$\\w+\\s*:.*\\$)/',
+ 10 => '//',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 2,
+ 17 => 5,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 1,
+ 7 => 0,
+ 8 => 1,
+ 9 => 0,
+ 10 => 1,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 2,
+ 16 => 5,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ 1 => 3,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'inlinetags',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => 'inlinetags',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => '',
+ ),
+ 2 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'comment',
+ 4 => 'quotes',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => 'quotes',
+ 8 => 'comment',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'default',
+ 12 => 'number',
+ 13 => 'var',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ 17 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'code',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'comment',
+ 4 => 'string',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'string',
+ 8 => 'comment',
+ 9 => 'identifier',
+ 10 => 'reserved',
+ 11 => 'number',
+ 12 => 'var',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'number',
+ 16 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 5 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 6 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 7 =>
+ array (
+ 0 => 'special',
+ 1 => 'var',
+ 2 => 'var',
+ ),
+ 8 =>
+ array (
+ 0 => 'special',
+ ),
+ 9 =>
+ array (
+ 0 => 'inlinedoc',
+ 1 => 'url',
+ 2 => 'url',
+ 3 => 'inlinedoc',
+ 4 => 'inlinedoc',
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\?\\>/',
+ 1 => '/(?i)\\}/',
+ 2 => '/(?i)\\)/',
+ 3 => '/(?i)\\]/',
+ 4 => '/(?i)\\*\\//',
+ 5 => '/(?i)"/',
+ 6 => '/(?i)`/',
+ 7 => '/(?mi)^%1%;?$/',
+ 8 => '/(?i)\'/',
+ 9 => '/(?mi)$|(?=\\?\\>)/',
+ 10 => '/(?i)\\<\\?(php|=)?/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => 10,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 1,
+ 1 => 2,
+ 2 => 3,
+ 3 => 4,
+ 4 => 5,
+ 5 => 6,
+ 6 => 7,
+ 7 => 8,
+ 8 => 9,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 => -1,
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'constants' => '/^(DIRECTORY_SEPARATOR|PATH_SEPARATOR)$/',
+ 'reserved' => '/^((?i)echo|foreach|else|if|elseif|for|as|while|break|continue|class|const|declare|switch|case|endfor|endswitch|endforeach|endif|array|default|do|enddeclare|eval|exit|die|extends|function|global|include|include_once|require|require_once|isset|empty|list|new|static|unset|var|return|try|catch|final|throw|public|private|protected|abstract|interface|implements|define|__file__|__line__|__class__|__method__|__function__|null|true|false|and|or|xor)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 10 =>
+ array (
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'constants' => 'reserved',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/PYTHON.php b/library/Text_Highlighter/Text/Highlighter/PYTHON.php
new file mode 100644
index 000000000..ed4f59dde
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/PYTHON.php
@@ -0,0 +1,647 @@
+<?php
+/**
+ * Auto-generated class. PYTHON syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : python.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. PYTHON syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_PYTHON extends Text_Highlighter
+{
+ var $_language = 'python';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_PYTHON($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ 0 => '/((?i)\\\\.)/',
+ 1 => '/((?i)\\\\.)/',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)\\\\.)/',
+ 4 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ 5 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 5,
+ 9 => 4,
+ 10 => 2,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ 4 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ 5 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'brackets',
+ 5 => 'brackets',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'code',
+ 5 => 'code',
+ 6 => 'identifier',
+ 7 => 'identifier',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'comment',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\'\'\'/',
+ 1 => '/(?i)"""/',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\'/',
+ 4 => '/(?i)\\)/',
+ 5 => '/(?i)\\]/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => 5,
+ 6 => -1,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ 6 =>
+ array (
+ 'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
+ ),
+ 7 =>
+ array (
+ 'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/RUBY.php b/library/Text_Highlighter/Text/Highlighter/RUBY.php
new file mode 100644
index 000000000..ce20e9f2e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/RUBY.php
@@ -0,0 +1,825 @@
+<?php
+/**
+ * Auto-generated class. RUBY syntax highlighting
+ *
+ *
+ * FIXME: While this construction : s.split /z/i
+ * is valid, regular expression is not recognized as such
+ * (/ folowing an identifier or number is not recognized as
+ * start of RE), making highlighting improper
+ *
+ * %q(a (nested) string) does not get highlighted correctly
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : ruby.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. RUBY syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_RUBY extends Text_Highlighter
+{
+ var $_language = 'ruby';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_RUBY($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 0 => '//',
+ 1 => '/((?i)\\\\.)/',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)\\\\.)/',
+ 4 => '/((?i)\\\\.)/',
+ 5 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 6 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
+ 7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
+ 9 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 1,
+ 5 => 1,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 5,
+ 11 => 2,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ ),
+ 9 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 6 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'quotes',
+ 4 => 'quotes',
+ 5 => '',
+ 6 => '',
+ 7 => 'brackets',
+ 8 => 'brackets',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'quotes',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ ),
+ 9 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'comment',
+ 1 => 'string',
+ 2 => 'string',
+ 3 => 'string',
+ 4 => 'string',
+ 5 => 'var',
+ 6 => 'var',
+ 7 => 'code',
+ 8 => 'code',
+ 9 => 'identifier',
+ 10 => 'number',
+ 11 => 'number',
+ 12 => 'number',
+ 13 => 'number',
+ 14 => 'number',
+ 15 => 'comment',
+ 16 => 'comment',
+ 17 => 'string',
+ ),
+ 7 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 8 =>
+ array (
+ 0 => 'inlinedoc',
+ ),
+ 9 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)$/',
+ 1 => '/(?i)"/',
+ 2 => '/(?i)%b1%/',
+ 3 => '/(?i)\'/',
+ 4 => '/(?i)%b1%/',
+ 5 => '/(?i)\\)/',
+ 6 => '/(?i)\\]/',
+ 7 => '/(?mi)^=end$/',
+ 8 => '/(?mi)$/',
+ 9 => '/(?i)\\/[iomx]*/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => 3,
+ 4 => 4,
+ 5 => -1,
+ 6 => -1,
+ 7 => 5,
+ 8 => 6,
+ 9 => -1,
+ 10 => -1,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => 7,
+ 16 => 8,
+ 17 => 9,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ ),
+ 9 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 => -1,
+ 5 =>
+ array (
+ ),
+ 6 =>
+ array (
+ ),
+ 7 => -1,
+ 8 => -1,
+ 9 =>
+ array (
+ 'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
+ ),
+ 10 =>
+ array (
+ ),
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 => -1,
+ 16 => -1,
+ 17 => -1,
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 9 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ ),
+ 9 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ ),
+ 9 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer.php b/library/Text_Highlighter/Text/Highlighter/Renderer.php
new file mode 100644
index 000000000..cb8993ff8
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer.php
@@ -0,0 +1,164 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Abstract base class for Highlighter renderers
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * Abstract base class for Highlighter renderers
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @abstract
+ */
+
+class Text_Highlighter_Renderer
+{
+ /**
+ * Renderer options
+ *
+ * @var array
+ * @access protected
+ */
+ var $_options = array();
+
+ /**
+ * Current language
+ *
+ * @var string
+ * @access protected
+ */
+ var $_language = '';
+
+ /**
+ * Constructor
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function __construct($options = array())
+ {
+ $this->_options = $options;
+ }
+
+ /**
+ * PHP4 compatable constructor
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function Text_Highlighter_Renderer($options = array())
+ {
+ $this->__construct($options);
+ }
+
+ /**
+ * Resets renderer state
+ *
+ * @access public
+ *
+ * @param array $options Rendering options. Renderer-specific.
+ */
+ function reset()
+ {
+ return;
+ }
+
+ /**
+ * Preprocesses code
+ *
+ * @access public
+ *
+ * @param string $str Code to preprocess
+ * @return string Preprocessed code
+ */
+ function preprocess($str)
+ {
+ return $str;
+ }
+
+ /**
+ * Accepts next token
+ *
+ * @abstract
+ * @access public
+ *
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+ return;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ *
+ */
+ function finalize()
+ {
+ return;
+ }
+
+ /**
+ * Get generated output
+ *
+ * @abstract
+ * @return mixed Renderer-specific
+ * @access public
+ *
+ */
+ function getOutput()
+ {
+ return;
+ }
+
+ /**
+ * Set current language
+ *
+ * @abstract
+ * @return void
+ * @access public
+ *
+ */
+ function setCurrentLanguage($lang)
+ {
+ $this->_language = $lang;
+ }
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
new file mode 100644
index 000000000..fd238a4d1
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
@@ -0,0 +1,200 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Array renderer.
+ *
+ * Produces an array that contains class names and content pairs.
+ * The array can be enumerated or associative. Associative means
+ * <code>class =&gt; content</code> pairs.
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+/**
+ * Array renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * In addition to the options supported by the HTML renderer,
+ * the following options were also introduced:
+ * <ul><li>htmlspecialchars - whether or not htmlspecialchars() will
+ * be called on the content, default TRUE</li>
+ * <li>enumerated - type of array produced, default FALSE,
+ * meaning associative array</li>
+ * </ul>
+ *
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Array extends Text_Highlighter_Renderer
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Should htmlentities() will be called
+ *
+ * @var boolean
+ */
+ var $_htmlspecialchars = true;
+
+ /**
+ * Enumerated or associative array
+ *
+ * @var integer
+ */
+ var $_enumerated = false;
+
+ /**
+ * Array containing highlighting rules
+ *
+ * @var array
+ */
+ var $_output = array();
+
+ /**#@-*/
+
+ /**
+ * Preprocesses code
+ *
+ * @access public
+ *
+ * @param string $str Code to preprocess
+ * @return string Preprocessed code
+ */
+ function preprocess($str)
+ {
+ // normalize whitespace and tabs
+ $str = str_replace("\r\n","\n", $str);
+ $str = str_replace("\r","\n", $str);
+ // some browsers refuse to display empty lines
+ $str = preg_replace('~^$~m'," ", $str);
+ $str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
+ return rtrim($str);
+ }
+
+
+ /**
+ * Resets renderer state
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ *
+ * @access protected
+ */
+ function reset()
+ {
+ $this->_output = array();
+ $this->_lastClass = 'default';
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ }
+ if (isset($this->_options['htmlspecialchars'])) {
+ $this->_htmlspecialchars = $this->_options['htmlspecialchars'];
+ }
+ if (isset($this->_options['enumerated'])) {
+ $this->_enumerated = $this->_options['enumerated'];
+ }
+ }
+
+
+
+ /**
+ * Accepts next token
+ *
+ * @abstract
+ * @access public
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+
+
+ $theClass = $this->_getFullClassName($class);
+ if ($this->_htmlspecialchars) {
+ $content = htmlspecialchars($content);
+ }
+ if ($this->_enumerated) {
+ $this->_output[] = array($class, $content);
+ } else {
+ $this->_output[][$class] = $content;
+ }
+ $this->_lastClass = $class;
+
+ }
+
+
+ /**
+ * Given a CSS class name, returns the class name
+ * with language name prepended, if necessary
+ *
+ * @access private
+ *
+ * @param string $class Token class
+ */
+ function _getFullClassName($class)
+ {
+ if (!empty($this->_options['use_language'])) {
+ $theClass = $this->_language . '-' . $class;
+ } else {
+ $theClass = $class;
+ }
+ return $theClass;
+ }
+
+ /**
+ * Get generated output
+ *
+ * @abstract
+ * @return array Highlighted code as an array
+ * @access public
+ */
+ function getOutput()
+ {
+ return $this->_output;
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?> \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php b/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
new file mode 100644
index 000000000..abd77cfd8
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
@@ -0,0 +1,238 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * BB code renderer.
+ *
+ * This BB renderer produces BB code, ready to be pasted in bulletin boards and
+ * other applications that accept BB code. Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+/**
+ * BB code renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering TRUE or FALSE
+ * - 'tabsize' - Tab size, default is 4
+ * - 'bb_tags' - An array containing three BB tags, see below
+ * - 'tag_brackets' - An array that conains opening and closing tags, [ and ]
+ * - 'colors' - An array with all the colors to be used for highlighting
+ *
+ * The default BB tags are:
+ * - 'color' => 'color'
+ * - 'list' => 'list'
+ * - 'list_item' => '*'
+ *
+ * The default colors for the highlighter are:
+ * - 'default' => 'Black',
+ * - 'code' => 'Gray',
+ * - 'brackets' => 'Olive',
+ * - 'comment' => 'Orange',
+ * - 'mlcomment' => 'Orange',
+ * - 'quotes' => 'Darkred',
+ * - 'string' => 'Red',
+ * - 'identifier' => 'Blue',
+ * - 'builtin' => 'Teal',
+ * - 'reserved' => 'Green',
+ * - 'inlinedoc' => 'Blue',
+ * - 'var' => 'Darkblue',
+ * - 'url' => 'Blue',
+ * - 'special' => 'Navy',
+ * - 'number' => 'Maroon',
+ * - 'inlinetags' => 'Blue',
+ *
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 20045 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_BB extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering - will use the specified BB tag for listings
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * BB tags to be used
+ *
+ * @var array
+ */
+ var $_bb_tags = array (
+ 'color' => 'color',
+ 'list' => 'list',
+ 'list_item' => '*',
+ 'code' => 'code',
+ );
+
+ /**
+ * BB brackets - [ and ]
+ *
+ * @var array
+ */
+ var $_tag_brackets = array ('start' => '[', 'end' => ']');
+
+ /**
+ * Colors map
+ *
+ * @var boolean
+ */
+ var $_colors = array(
+ 'default' => 'Black',
+ 'code' => 'Gray',
+ 'brackets' => 'Olive',
+ 'comment' => 'Orange',
+ 'mlcomment' => 'Orange',
+ 'quotes' => 'Darkred',
+ 'string' => 'Red',
+ 'identifier' => 'Blue',
+ 'builtin' => 'Teal',
+ 'reserved' => 'Green',
+ 'inlinedoc' => 'Blue',
+ 'var' => 'Darkblue',
+ 'url' => 'Blue',
+ 'special' => 'Navy',
+ 'number' => 'Maroon',
+ 'inlinetags' => 'Blue',
+ );
+
+ /**#@-*/
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = $this->_options['numbers'];
+ }
+ if (isset($this->_options['bb_tags'])) {
+ $this->_bb_tags = array_merge($this->_bb_tags, $this->_options['bb_tags']);
+ }
+ if (isset($this->_options['tag_brackets'])) {
+ $this->_tag_brackets = array_merge($this->_tag_brackets, $this->_options['tag_brackets']);
+ }
+ if (isset($this->_options['colors'])) {
+ $this->_colors = array_merge($this->_colors, $this->_options['colors']);
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ *
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $bb_output = '';
+
+ $color_start = $this->_tag_brackets['start'] . $this->_bb_tags['color'] . '=%s' . $this->_tag_brackets['end'];
+ $color_end = $this->_tag_brackets['start'] . '/' . $this->_bb_tags['color'] . $this->_tag_brackets['end'];
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $class = $key;
+ $content = $token[$key];
+ }
+
+ $iswhitespace = ctype_space($content);
+ if (!$iswhitespace && !empty($this->_colors[$class])) {
+ $bb_output .= sprintf($color_start, $this->_colors[$class]);
+ $bb_output .= $content;
+ $bb_output .= $color_end;
+ } else {
+ $bb_output .= $content;
+ }
+ }
+
+ if ($this->_numbers) {
+
+ $item_tag = $this->_tag_brackets['start'] .
+ $this->_bb_tags['list_item'] .
+ $this->_tag_brackets['end'];
+ $this->_output = $item_tag . str_replace("\n", "\n". $item_tag .' ', $bb_output);
+ $this->_output = $this->_tag_brackets['start'] .
+ $this->_bb_tags['list'] .
+ $this->_tag_brackets['end'] .
+ $this->_output .
+ $this->_tag_brackets['start'] .
+ '/'.
+ $this->_bb_tags['list'] .
+ $this->_tag_brackets['end']
+ ;
+ } else {
+ $this->_output = $this->_tag_brackets['start'] .
+ $this->_bb_tags['code'] .
+ $this->_tag_brackets['end'] .
+ $bb_output .
+ $this->_tag_brackets['start'] .
+ '/' .
+ $this->_bb_tags['code'] .
+ $this->_tag_brackets['end'];
+ }
+ }
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
new file mode 100644
index 000000000..d7b1fba88
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
@@ -0,0 +1,208 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Console renderer
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+
+define ('HL_CONSOLE_DEFCOLOR', "\033[0m");
+
+/**
+ * Console renderer
+ *
+ * Suitable for displaying text on color-capable terminals, directly
+ * or trough less -r
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - whether to add line numbers
+ * - 'tabsize' - Tab size
+ * - 'colors' - additional colors
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Console extends Text_Highlighter_Renderer
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * class of last outputted text chunk
+ *
+ * @var string
+ */
+ var $_lastClass;
+
+ /**
+ * Line numbering
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Highlighted code
+ *
+ * @var string
+ */
+ var $_output = '';
+
+ /**#@-*/
+
+ var $_colors = array();
+
+ var $_defColors = array(
+ 'default' => "\033[0m",
+ 'inlinetags' => "\033[31m",
+ 'brackets' => "\033[36m",
+ 'quotes' => "\033[34m",
+ 'inlinedoc' => "\033[34m",
+ 'var' => "\033[1m",
+ 'types' => "\033[32m",
+ 'number' => "\033[32m",
+ 'string' => "\033[31m",
+ 'reserved' => "\033[35m",
+ 'comment' => "\033[33m",
+ 'mlcomment' => "\033[33m",
+ );
+
+ function preprocess($str)
+ {
+ // normalize whitespace and tabs
+ $str = str_replace("\r\n","\n", $str);
+ $str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
+ return rtrim($str);
+ }
+
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ $this->_lastClass = '';
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = (bool)$this->_options['numbers'];
+ } else {
+ $this->_numbers = false;
+ }
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ } else {
+ $this->_tabsize = 4;
+ }
+ if (isset($this->_options['colors'])) {
+ $this->_colors = array_merge($this->_defColors, $this->_options['colors']);
+ } else {
+ $this->_colors = $this->_defColors;
+ }
+ $this->_output = '';
+ }
+
+
+
+ /**
+ * Accepts next token
+ *
+ * @access public
+ *
+ * @param string $class Token class
+ * @param string $content Token content
+ */
+ function acceptToken($class, $content)
+ {
+ if (isset($this->_colors[$class])) {
+ $color = $this->_colors[$class];
+ } else {
+ $color = $this->_colors['default'];
+ }
+ if ($this->_lastClass != $class) {
+ $this->_output .= $color;
+ }
+ $content = str_replace("\n", $this->_colors['default'] . "\n" . $color, $content);
+ $content .= $this->_colors['default'];
+ $this->_output .= $content;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ *
+ */
+ function finalize()
+ {
+ if ($this->_numbers) {
+ $nlines = substr_count($this->_output, "\n") + 1;
+ $len = strlen($nlines);
+ $i = 1;
+ $this->_output = preg_replace('~^~em', '" " . str_pad($i++, $len, " ", STR_PAD_LEFT) . ": "', $this->_output);
+ }
+ $this->_output .= HL_CONSOLE_DEFCOLOR . "\n";
+ }
+
+ /**
+ * Get generated output
+ *
+ * @return string Highlighted code
+ * @access public
+ *
+ */
+ function getOutput()
+ {
+ return $this->_output;
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php b/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
new file mode 100644
index 000000000..5d6e56ae1
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
@@ -0,0 +1,465 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * HTML renderer
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+// BC trick : only define constants if Text/Highlighter.php
+// is not yet included
+if (!defined('HL_NUMBERS_LI')) {
+ /**#@+
+ * Constant for use with $options['numbers']
+ */
+ /**
+ * use numbered list, deprecated, use HL_NUMBERS_OL instaed
+ * @deprecated
+ */
+ define ('HL_NUMBERS_LI' , 1);
+ /**
+ * Use 2-column table with line numbers in left column and code in right column.
+ */
+ define ('HL_NUMBERS_TABLE' , 2);
+ /**#@-*/
+}
+
+
+/**#@+
+ * Constant for use with $options['numbers']
+ */
+/**
+ * Use numbered list
+ */
+define ('HL_NUMBERS_OL', 1);
+/**
+ * Use non-numbered list
+ */
+define ('HL_NUMBERS_UL', 3);
+/**#@-*/
+
+
+/**
+ * HTML renderer
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering style 0 or {@link HL_NUMBERS_TABLE}
+ * or {@link HL_NUMBERS_UL} or {@link HL_NUMBERS_OL}
+ * - 'numbers_start' - starting number for numbered lines
+ * - 'tabsize' - Tab size
+ * - 'style_map' - Mapping of keywords to formatting rules using inline styles
+ * - 'class_map' - Mapping of keywords to formatting rules using class names
+ * - 'doclinks' - array that has keys "url", "target" and "elements", used for
+ * generating links to online documentation
+ * - 'use_language' - class names will be prefixed with language, like "php-reserved" or "css-code"
+ *
+ * Example of setting documentation links:
+ * $options['doclinks'] = array(
+ * 'url' => 'http://php.net/%s',
+ * 'target' => '_blank',
+ * 'elements' => array('reserved', 'identifier')
+ * );
+ *
+ * Example of setting class names map:
+ * $options['class_map'] = array(
+ * 'main' => 'my-main',
+ * 'table' => 'my-table',
+ * 'gutter' => 'my-gutter',
+ * 'brackets' => 'my-brackets',
+ * 'builtin' => 'my-builtin',
+ * 'code' => 'my-code',
+ * 'comment' => 'my-comment',
+ * 'default' => 'my-default',
+ * 'identifier' => 'my-identifier',
+ * 'inlinedoc' => 'my-inlinedoc',
+ * 'inlinetags' => 'my-inlinetags',
+ * 'mlcomment' => 'my-mlcomment',
+ * 'number' => 'my-number',
+ * 'quotes' => 'my-quotes',
+ * 'reserved' => 'my-reserved',
+ * 'special' => 'my-special',
+ * 'string' => 'my-string',
+ * 'url' => 'my-url',
+ * 'var' => 'my-var',
+ * );
+ *
+ * Example of setting styles mapping:
+ * $options['style_map'] = array(
+ * 'main' => 'color: black',
+ * 'table' => 'border: 1px solid black',
+ * 'gutter' => 'background-color: yellow',
+ * 'brackets' => 'color: blue',
+ * 'builtin' => 'color: red',
+ * 'code' => 'color: green',
+ * 'comment' => 'color: orange',
+ * // ....
+ * );
+ *
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_Html extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering style
+ *
+ * @var integer
+ */
+ var $_numbers = 0;
+
+ /**
+ * For numberered lines - where to start
+ *
+ * @var integer
+ */
+ var $_numbers_start = 0;
+
+ /**
+ * Tab size
+ *
+ * @var integer
+ */
+ var $_tabsize = 4;
+
+ /**
+ * Highlighted code
+ *
+ * @var string
+ */
+ var $_output = '';
+
+ /**
+ * Mapping of keywords to formatting rules using inline styles
+ *
+ * @var array
+ */
+ var $_style_map = array();
+
+ /**
+ * Mapping of keywords to formatting rules using class names
+ *
+ * @var array
+ */
+ var $_class_map = array(
+ 'main' => 'hl-main',
+ 'table' => 'hl-table',
+ 'gutter' => 'hl-gutter',
+ 'brackets' => 'hl-brackets',
+ 'builtin' => 'hl-builtin',
+ 'code' => 'hl-code',
+ 'comment' => 'hl-comment',
+ 'default' => 'hl-default',
+ 'identifier' => 'hl-identifier',
+ 'inlinedoc' => 'hl-inlinedoc',
+ 'inlinetags' => 'hl-inlinetags',
+ 'mlcomment' => 'hl-mlcomment',
+ 'number' => 'hl-number',
+ 'prepro' => 'hl-prepro',
+ 'quotes' => 'hl-quotes',
+ 'reserved' => 'hl-reserved',
+ 'special' => 'hl-special',
+ 'string' => 'hl-string',
+ 'types' => 'hl-types',
+ 'url' => 'hl-url',
+ 'var' => 'hl-var',
+ );
+
+ /**
+ * Setup for links to online documentation
+ *
+ * This is an array with keys:
+ * - url, ex. http://php.net/%s
+ * - target, ex. _blank, default - no target
+ * - elements, default is <code>array('reserved', 'identifier')</code>
+ *
+ * @var array
+ */
+ var $_doclinks = array();
+
+ /**#@-*/
+
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ $this->_output = '';
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = (int)$this->_options['numbers'];
+ if ($this->_numbers != HL_NUMBERS_LI
+ && $this->_numbers != HL_NUMBERS_UL
+ && $this->_numbers != HL_NUMBERS_OL
+ && $this->_numbers != HL_NUMBERS_TABLE
+ ) {
+ $this->_numbers = 0;
+ }
+ }
+ if (isset($this->_options['tabsize'])) {
+ $this->_tabsize = $this->_options['tabsize'];
+ }
+ if (isset($this->_options['numbers_start'])) {
+ $this->_numbers_start = intval($this->_options['numbers_start']);
+ }
+ if (isset($this->_options['doclinks']) &&
+ is_array($this->_options['doclinks']) &&
+ !empty($this->_options['doclinks']['url'])
+ ) {
+
+ $this->_doclinks = $this->_options['doclinks']; // keys: url, target, elements array
+
+ if (empty($this->_options['doclinks']['elements'])) {
+ $this->_doclinks['elements'] = array('reserved', 'identifier');
+ }
+ }
+ if (isset($this->_options['style_map'])) {
+ $this->_style_map = $this->_options['style_map'];
+ }
+ if (isset($this->_options['class_map'])) {
+ $this->_class_map = array_merge($this->_class_map, $this->_options['class_map']);
+ }
+ $this->_htmlspecialchars = true;
+
+ }
+
+
+ /**
+ * Given a CSS class name, returns the class name
+ * with language name prepended, if necessary
+ *
+ * @access private
+ *
+ * @param string $class Token class
+ */
+ function _getFullClassName($class)
+ {
+ if (!empty($this->_options['use_language'])) {
+ $the_class = $this->_language . '-' . $class;
+ } else {
+ $the_class = $class;
+ }
+ return $the_class;
+ }
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @access public
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $html_output = '';
+
+ $numbers_li = false;
+
+ if (
+ $this->_numbers == HL_NUMBERS_LI ||
+ $this->_numbers == HL_NUMBERS_UL ||
+ $this->_numbers == HL_NUMBERS_OL
+ )
+ {
+ $numbers_li = true;
+ }
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $key = false;
+ $the_class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $the_class = $key;
+ $content = $token[$key];
+ }
+
+ $span = $this->_getStyling($the_class);
+ $decorated_output = $this->_decorate($content, $key);
+
+
+ if ($numbers_li == true) {
+ // end span tags before end of li, and re-open on next line
+ $lastSpanTag = str_replace("%s</span>", "", $span);
+ $span = sprintf($span, $decorated_output);
+ $span = str_replace("\n", "</span></li>\n<li>$lastSpanTag&nbsp;", $span);
+ $html_output .= $span;
+ } else {
+ $html_output .= sprintf($span, $decorated_output);
+ }
+
+
+ }
+
+ // format lists
+ if (!empty($this->_numbers) && $numbers_li == true) {
+
+
+ // additional whitespace for browsers that do not display
+ // empty list items correctly
+ $this->_output = '<li>&nbsp;' . $html_output . '</li>';
+
+ $start = '';
+ if ($this->_numbers == HL_NUMBERS_OL && intval($this->_numbers_start) > 0) {
+ $start = ' start="' . $this->_numbers_start . '"';
+ }
+
+ $list_tag = 'ol';
+ if ($this->_numbers == HL_NUMBERS_UL) {
+ $list_tag = 'ul';
+ }
+
+
+ $this->_output = '<' . $list_tag . $start
+ . ' ' . $this->_getStyling('main', false) . '>'
+ . $this->_output . '</'. $list_tag .'>';
+
+ // render a table
+ } else if ($this->_numbers == HL_NUMBERS_TABLE) {
+
+
+ $start_number = 0;
+ if (intval($this->_numbers_start)) {
+ $start_number = $this->_numbers_start - 1;
+ }
+
+ $numbers = '';
+
+ $nlines = substr_count($html_output,"\n")+1;
+ for ($i=1; $i <= $nlines; $i++) {
+ $numbers .= ($start_number + $i) . "\n";
+ }
+ $this->_output = '<table ' . $this->_getStyling('table', false) . ' width="100%"><tr>' .
+ '<td '. $this->_getStyling('gutter', false) .' align="right" valign="top">' .
+ '<pre>' . $numbers . '</pre></td><td '. $this->_getStyling('main', false) .
+ ' valign="top"><pre>' .
+ $html_output . '</pre></td></tr></table>';
+ }
+ if (!$this->_numbers) {
+ $this->_output = '<pre>' . $html_output . '</pre>';
+ }
+ $this->_output = '<div ' . $this->_getStyling('main', false) . '>' . $this->_output . '</div>';
+ }
+
+
+ /**
+ * Provides additional formatting to a keyword
+ *
+ * @param string $content Keyword
+ * @return string Keyword with additional formatting
+ * @access public
+ *
+ */
+ function _decorate($content, $key = false)
+ {
+ // links to online documentation
+ if (!empty($this->_doclinks) &&
+ !empty($this->_doclinks['url']) &&
+ in_array($key, $this->_doclinks['elements'])
+ ) {
+
+ $link = '<a href="'. sprintf($this->_doclinks['url'], $content) . '"';
+ if (!empty($this->_doclinks['target'])) {
+ $link.= ' target="' . $this->_doclinks['target'] . '"';
+ }
+ $link .= '>';
+ $link.= $content;
+ $link.= '</a>';
+
+ $content = $link;
+
+ }
+
+ return $content;
+ }
+
+ /**
+ * Returns <code>class</code> and/or <code>style</code> attribute,
+ * optionally enclosed in a <code>span</code> tag
+ *
+ * @param string $class Class name
+ * @paran boolean $span_tag Whether or not to return styling attributes in a <code>&gt;span&lt;</code> tag
+ * @return string <code>span</code> tag or just a <code>class</code> and/or <code>style</code> attributes
+ * @access private
+ */
+ function _getStyling($class, $span_tag = true)
+ {
+ $attrib = '';
+ if (!empty($this->_style_map) &&
+ !empty($this->_style_map[$class])
+ ) {
+ $attrib = 'style="'. $this->_style_map[$class] .'"';
+ }
+ if (!empty($this->_class_map) &&
+ !empty($this->_class_map[$class])
+ ) {
+ if ($attrib) {
+ $attrib .= ' ';
+ }
+ $attrib .= 'class="'. $this->_getFullClassName($this->_class_map[$class]) .'"';
+ }
+
+ if ($span_tag) {
+ $span = '<span ' . $attrib . '>%s</span>';
+ return $span;
+ } else {
+ return $attrib;
+ }
+
+ }
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php b/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
new file mode 100644
index 000000000..68e01d3e0
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
@@ -0,0 +1,187 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * HTML renderer that uses only basic html tags
+ *
+ * PHP versions 4 and 5. Based on the "normal" HTML renderer by Andrey Demenev.
+ * It's designed to work with user agents that support only a limited number of
+ * HTML tags. Like the iPod which supports only b, i, u and a.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+/**
+ * HTML basic tags renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * Elements of $options argument of constructor (each being optional):
+ *
+ * - 'numbers' - Line numbering TRUE or FALSE. Default is FALSE.
+ * - 'tabsize' - Tab size, default is 4.
+ * - 'tags' - Array, containing the tags to be used for highlighting
+ *
+ * Here's the listing of the default tags:
+ * - 'default' => '',
+ * - 'code' => '',
+ * - 'brackets' => 'b',
+ * - 'comment' => 'i',
+ * - 'mlcomment' => 'i',
+ * - 'quotes' => '',
+ * - 'string' => 'i',
+ * - 'identifier' => 'b',
+ * - 'builtin' => 'b',
+ * - 'reserved' => 'u',
+ * - 'inlinedoc' => 'i',
+ * - 'var' => 'b',
+ * - 'url' => 'i',
+ * - 'special' => '',
+ * - 'number' => '',
+ * - 'inlinetags' => ''
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2005 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_HtmlTags extends Text_Highlighter_Renderer_Array
+{
+
+ /**#@+
+ * @access private
+ */
+
+ /**
+ * Line numbering - will use 'ol' tag
+ *
+ * @var boolean
+ */
+ var $_numbers = false;
+
+ /**
+ * HTML tags map
+ *
+ * @var array
+ */
+ var $_hilite_tags = array(
+ 'default' => '',
+ 'code' => '',
+ 'brackets' => 'b',
+ 'comment' => 'i',
+ 'mlcomment' => 'i',
+ 'quotes' => '',
+ 'string' => 'i',
+ 'identifier' => 'b',
+ 'builtin' => 'b',
+ 'reserved' => 'u',
+ 'inlinedoc' => 'i',
+ 'var' => 'b',
+ 'url' => 'i',
+ 'special' => '',
+ 'number' => '',
+ 'inlinetags' => '',
+ );
+
+ /**#@-*/
+
+ /**
+ * Resets renderer state
+ *
+ * @access protected
+ *
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['numbers'])) {
+ $this->_numbers = $this->_options['numbers'];
+ }
+ if (isset($this->_options['tags'])) {
+ $this->_hilite_tags = array_merge($this->_tags, $this->_options['tags']);
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ *
+ */
+ function finalize()
+ {
+
+ // get parent's output
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $html_output = '';
+
+ // loop through each class=>content pair
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $class = $token[0];
+ $content = $token[1];
+ } else {
+ $key = key($token);
+ $class = $key;
+ $content = $token[$key];
+ }
+
+ $iswhitespace = ctype_space($content);
+ if (!$iswhitespace && !empty($this->_hilite_tags[$class])) {
+ $html_output .= '<'. $this->_hilite_tags[$class] . '>' . $content . '</'. $this->_hilite_tags[$class] . '>';
+ } else {
+ $html_output .= $content;
+ }
+ }
+
+
+ if ($this->_numbers) {
+ /* additional whitespace for browsers that do not display
+ empty list items correctly */
+ $html_output = '<li>&nbsp;' . str_replace("\n", "</li>\n<li>&nbsp;", $html_output) . '</li>';
+ $this->_output = '<ol>' . str_replace(' ', '&nbsp;', $html_output) . '</ol>';
+ } else {
+ $this->_output = '<pre>' . $html_output . '</pre>';
+ }
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php b/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
new file mode 100644
index 000000000..d4c926161
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
@@ -0,0 +1,86 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * JSON renderer.
+ *
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+
+/**
+ * JSON renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_JSON extends Text_Highlighter_Renderer_Array
+{
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ */
+ function finalize()
+ {
+
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $json_array = array();
+
+ foreach ($output AS $token) {
+
+ if ($this->_enumerated) {
+ $json_array[] = '["' . $token[0] . '","' . $token[1] . '"]';
+ } else {
+ $key = key($token);
+ $json_array[] = '{"class": "' . $key . '","content":"' . $token[$key] . '"}';
+ }
+
+ }
+
+ $this->_output = '['. implode(',', $json_array) .']';
+ $this->_output = str_replace("\n", '\n', $this->_output);
+
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?> \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
new file mode 100644
index 000000000..7b6fb2106
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
@@ -0,0 +1,104 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * XML renderer.
+ *
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+require_once 'XML/Serializer.php';
+
+/**
+ * XML renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.5.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+class Text_Highlighter_Renderer_XML extends Text_Highlighter_Renderer_Array
+{
+
+
+ /**
+ * Options for XML_Serializer
+ *
+ * @access private
+ * @var array
+ */
+ var $_serializer_options = array();
+
+
+ /**
+ * Resets renderer state
+ *
+ * Descendents of Text_Highlighter call this method from the constructor,
+ * passing $options they get as parameter.
+ *
+ * @access protected
+ */
+ function reset()
+ {
+ parent::reset();
+ if (isset($this->_options['xml_serializer'])) {
+ $this->_serializer_options = $this->_options['xml_serializer'];
+ }
+ }
+
+
+ /**
+ * Signals that no more tokens are available
+ *
+ * @abstract
+ * @access public
+ */
+ function finalize()
+ {
+
+ // call parent's finalize(), then serialize array into XML
+ parent::finalize();
+ $output = parent::getOutput();
+
+ $serializer = new XML_Serializer($this->_serializer_options);
+ $result = $serializer->serialize($output);
+ if ($result === true) {
+ $this->_output = $serializer->getSerializedData();
+ }
+ }
+
+
+}
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * c-hanging-comment-ender-p: nil
+ * End:
+ */
+
+?>
diff --git a/library/Text_Highlighter/Text/Highlighter/SH.php b/library/Text_Highlighter/Text/Highlighter/SH.php
new file mode 100644
index 000000000..ff779868f
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/SH.php
@@ -0,0 +1,1225 @@
+<?php
+/**
+ * Auto-generated class. SH syntax highlighting
+ *
+ * This highlighter is EXPERIMENTAL. It may work incorrectly.
+ * It is a crude hack of the perl syntax, which itself wasn't so good.
+ * But this seems to work OK.
+ *
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : sh.xml,v 1.2 2007/06/14 00:15:50 ssttoo Exp
+ * @author Noah Spurrier <noah@noah.org>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. SH syntax highlighting
+ *
+ * @author Noah Spurrier <noah@noah.org>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_SH extends Text_Highlighter
+{
+ var $_language = 'sh';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_SH($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 0 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|((?i)([a-z1-9_]+)(\\s*=>))|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 2 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
+ 3 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ 4 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 5 => '/(\\\\\\/)/',
+ 6 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 7 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
+ 8 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 1 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 2,
+ 12 => 0,
+ 13 => 3,
+ 14 => 1,
+ 15 => 3,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ ),
+ 2 =>
+ array (
+ 0 => 2,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 2,
+ 5 => 9,
+ 6 => 9,
+ 7 => 0,
+ 8 => 8,
+ 9 => 5,
+ 10 => 0,
+ 11 => 0,
+ 12 => 3,
+ 13 => 1,
+ 14 => 3,
+ 15 => 0,
+ 16 => 0,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ 5 =>
+ array (
+ 0 => 0,
+ ),
+ 6 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ 7 =>
+ array (
+ 0 => 0,
+ ),
+ 8 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 0,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 0 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 1 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => 'quotes',
+ 20 => '',
+ 21 => '',
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => 'brackets',
+ 2 => 'brackets',
+ 3 => 'brackets',
+ 4 => '',
+ 5 => 'quotes',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => 'quotes',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => 'quotes',
+ 17 => 'quotes',
+ 18 => 'quotes',
+ 19 => '',
+ 20 => '',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ 5 =>
+ array (
+ 0 => '',
+ ),
+ 6 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 7 =>
+ array (
+ 0 => '',
+ ),
+ 8 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 0 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 1 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'string',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'var',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'string',
+ 20 => 'identifier',
+ 21 => 'number',
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ 1 => 'code',
+ 2 => 'code',
+ 3 => 'code',
+ 4 => 'special',
+ 5 => 'string',
+ 6 => 'string',
+ 7 => 'comment',
+ 8 => 'string',
+ 9 => 'string',
+ 10 => 'string',
+ 11 => 'var',
+ 12 => 'var',
+ 13 => 'var',
+ 14 => 'var',
+ 15 => 'var',
+ 16 => 'string',
+ 17 => 'string',
+ 18 => 'string',
+ 19 => 'identifier',
+ 20 => 'number',
+ ),
+ 3 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ 5 =>
+ array (
+ 0 => 'string',
+ ),
+ 6 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ 7 =>
+ array (
+ 0 => 'special',
+ ),
+ 8 =>
+ array (
+ 0 => 'var',
+ 1 => 'var',
+ 2 => 'var',
+ 3 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/\\}/',
+ 1 => '/\\)/',
+ 2 => '/\\]/',
+ 3 => '/%b2%/',
+ 4 => '/%b2%/',
+ 5 => '/\\/[cgimosx]*/',
+ 6 => '/`/',
+ 7 => '/\'/',
+ 8 => '/"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 1 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 17 => 6,
+ 18 => 7,
+ 19 => 8,
+ 20 => -1,
+ 21 => -1,
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => 0,
+ 2 => 1,
+ 3 => 2,
+ 4 => -1,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => 5,
+ 11 => -1,
+ 12 => -1,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => 6,
+ 17 => 7,
+ 18 => 8,
+ 19 => -1,
+ 20 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ 5 =>
+ array (
+ 0 => -1,
+ ),
+ 6 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ 7 =>
+ array (
+ 0 => -1,
+ ),
+ 8 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 =>
+ array (
+ ),
+ 17 => -1,
+ 18 => -1,
+ 19 => -1,
+ 20 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 21 =>
+ array (
+ ),
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ 4 =>
+ array (
+ ),
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 => -1,
+ 11 =>
+ array (
+ ),
+ 12 =>
+ array (
+ ),
+ 13 =>
+ array (
+ ),
+ 14 =>
+ array (
+ ),
+ 15 =>
+ array (
+ ),
+ 16 => -1,
+ 17 => -1,
+ 18 => -1,
+ 19 =>
+ array (
+ 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
+ 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
+ ),
+ 20 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 5 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 6 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ 7 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 8 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ ),
+ 1 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 =>
+ array (
+ 1 => 'string',
+ 2 => 'code',
+ ),
+ 12 => NULL,
+ 13 => NULL,
+ 14 => NULL,
+ 15 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ 21 => NULL,
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ 1 => 'special',
+ 2 => 'string',
+ ),
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 =>
+ array (
+ 1 => 'reserved',
+ 2 => 'special',
+ ),
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ 6 => 'string',
+ 8 => 'quotes',
+ ),
+ 9 =>
+ array (
+ 1 => 'quotes',
+ 2 => 'quotes',
+ 3 => 'string',
+ 5 => 'quotes',
+ ),
+ 10 => NULL,
+ 11 => NULL,
+ 12 => NULL,
+ 13 => NULL,
+ 14 =>
+ array (
+ 1 => 'brackets',
+ 2 => 'var',
+ 3 => 'brackets',
+ ),
+ 15 => NULL,
+ 16 => NULL,
+ 17 => NULL,
+ 18 => NULL,
+ 19 => NULL,
+ 20 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ 5 =>
+ array (
+ 0 => NULL,
+ ),
+ 6 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ 7 =>
+ array (
+ 0 => NULL,
+ ),
+ 8 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true,
+ 6 => true,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ 5 =>
+ array (
+ 0 => false,
+ ),
+ 6 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 7 =>
+ array (
+ 0 => false,
+ ),
+ 8 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'flowcontrol' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/SQL.php b/library/Text_Highlighter/Text/Highlighter/SQL.php
new file mode 100644
index 000000000..824864033
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/SQL.php
@@ -0,0 +1,419 @@
+<?php
+/**
+ * Auto-generated class. SQL syntax highlighting
+ *
+ * Based on SQL-99
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : sql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. SQL syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_SQL extends Text_Highlighter
+{
+ var $_language = 'sql';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_SQL($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)\\\\.)/',
+ 3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
+ 4 => '/((?i)\\\\.)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 5,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 5,
+ 8 => 2,
+ 9 => 0,
+ 10 => 0,
+ ),
+ 4 =>
+ array (
+ 0 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => 'quotes',
+ 5 => 'brackets',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ ),
+ 3 =>
+ array (
+ 0 => 'quotes',
+ 1 => 'comment',
+ 2 => '',
+ 3 => '',
+ 4 => 'quotes',
+ 5 => 'brackets',
+ 6 => 'quotes',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ ),
+ 4 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'string',
+ 5 => 'code',
+ 6 => 'string',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'special',
+ ),
+ 3 =>
+ array (
+ 0 => 'identifier',
+ 1 => 'comment',
+ 2 => 'comment',
+ 3 => 'identifier',
+ 4 => 'string',
+ 5 => 'code',
+ 6 => 'string',
+ 7 => 'number',
+ 8 => 'number',
+ 9 => 'number',
+ 10 => 'number',
+ ),
+ 4 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)`/',
+ 1 => '/(?i)\\*\\//',
+ 2 => '/(?i)"/',
+ 3 => '/(?i)\\)/',
+ 4 => '/(?i)\'/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ ),
+ 3 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => -1,
+ 3 => -1,
+ 4 => 2,
+ 5 => 3,
+ 6 => 4,
+ 7 => -1,
+ 8 => -1,
+ 9 => -1,
+ 10 => -1,
+ ),
+ 4 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
+ 'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
+ ),
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ 'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
+ 'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
+ ),
+ 4 => -1,
+ 5 => -1,
+ 6 => -1,
+ 7 =>
+ array (
+ ),
+ 8 =>
+ array (
+ ),
+ 9 =>
+ array (
+ ),
+ 10 =>
+ array (
+ ),
+ ),
+ 4 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ 6 => NULL,
+ 7 => NULL,
+ 8 => NULL,
+ 9 => NULL,
+ 10 => NULL,
+ ),
+ 4 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false,
+ 8 => false,
+ 9 => false,
+ 10 => false,
+ ),
+ 4 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'reserved' => 'reserved',
+ 'keyword' => 'var',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php b/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
new file mode 100644
index 000000000..31a7c7c9e
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
@@ -0,0 +1,318 @@
+<?php
+/**
+ * Auto-generated class. VBSCRIPT syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: vbscript.xml
+ * @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. VBSCRIPT syntax highlighting
+ *
+ * @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: 0.7.0
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_VBSCRIPT extends Text_Highlighter
+{
+ var $_language = 'vbscript';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_VBSCRIPT($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
+ 0 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
+ 1 => '//',
+ 2 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 3,
+ 1 => 1,
+ 2 => 1,
+ 3 => 0,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'quotes',
+ 2 => 'comment',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ ),
+ 0 =>
+ array (
+ 0 => 'brackets',
+ 1 => 'quotes',
+ 2 => 'comment',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'code',
+ 1 => 'string',
+ 2 => 'comment',
+ 3 => 'number',
+ 4 => 'number',
+ 5 => 'identifier',
+ ),
+ 0 =>
+ array (
+ 0 => 'code',
+ 1 => 'string',
+ 2 => 'comment',
+ 3 => 'number',
+ 4 => 'number',
+ 5 => 'identifier',
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'url',
+ 1 => 'url',
+ 2 => 'inlinedoc',
+ 3 => 'inlinedoc',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\)/',
+ 1 => '/(?i)"/',
+ 2 => '/(?mi)$/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ ),
+ 0 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ 4 => -1,
+ 5 => -1,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
+ 'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
+ 'builtin' => '/^((?i)debug|err|match|regexp)$/',
+ 'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
+ ),
+ ),
+ 0 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ 4 =>
+ array (
+ ),
+ 5 =>
+ array (
+ 'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
+ 'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
+ 'builtin' => '/^((?i)debug|err|match|regexp)$/',
+ 'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
+ ),
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ ),
+ 3 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ 4 => NULL,
+ 5 => NULL,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ 3 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 0 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ 'constants' => 'builtin',
+ 'functions' => 'builtin',
+ 'builtin' => 'builtin',
+ 'reserved' => 'reserved',
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+}
diff --git a/library/Text_Highlighter/Text/Highlighter/XML.php b/library/Text_Highlighter/Text/Highlighter/XML.php
new file mode 100644
index 000000000..2d85db5fd
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/XML.php
@@ -0,0 +1,263 @@
+<?php
+/**
+ * Auto-generated class. XML syntax highlighting
+ *
+ * PHP version 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @link http://pear.php.net/package/Text_Highlighter
+ * @category Text
+ * @package Text_Highlighter
+ * @version generated from: : xml.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
+ * @author Andrey Demenev <demenev@gmail.com>
+ *
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter.php';
+
+/**
+ * Auto-generated class. XML syntax highlighting
+ *
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @category Text
+ * @package Text_Highlighter
+ * @copyright 2004-2006 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version Release: @package_version@
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+class Text_Highlighter_XML extends Text_Highlighter
+{
+ var $_language = 'xml';
+
+ /**
+ * PHP4 Compatible Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function Text_Highlighter_XML($options=array())
+ {
+ $this->__construct($options);
+ }
+
+
+ /**
+ * Constructor
+ *
+ * @param array $options
+ * @access public
+ */
+ function __construct($options=array())
+ {
+
+ $this->_options = $options;
+ $this->_regs = array (
+ -1 => '/((?i)\\<\\!\\[CDATA\\[)|((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&|%)[\\w\\-\\.]+;)/',
+ 0 => '//',
+ 1 => '//',
+ 2 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
+ 3 => '/((?i)(&|%)[\\w\\-\\.]+;)/',
+ );
+ $this->_counts = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 0,
+ 1 => 0,
+ 2 => 0,
+ ),
+ 3 =>
+ array (
+ 0 => 1,
+ ),
+ );
+ $this->_delim = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'comment',
+ 2 => 'brackets',
+ 3 => '',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => '',
+ 1 => '',
+ 2 => 'quotes',
+ ),
+ 3 =>
+ array (
+ 0 => '',
+ ),
+ );
+ $this->_inner = array (
+ -1 =>
+ array (
+ 0 => 'comment',
+ 1 => 'comment',
+ 2 => 'code',
+ 3 => 'special',
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => 'reserved',
+ 1 => 'var',
+ 2 => 'string',
+ ),
+ 3 =>
+ array (
+ 0 => 'special',
+ ),
+ );
+ $this->_end = array (
+ 0 => '/(?i)\\]\\]\\>/',
+ 1 => '/(?i)--\\>/',
+ 2 => '/(?i)[\\/\\?]?\\>/',
+ 3 => '/(?i)"/',
+ );
+ $this->_states = array (
+ -1 =>
+ array (
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 3 => -1,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => 3,
+ ),
+ 3 =>
+ array (
+ 0 => -1,
+ ),
+ );
+ $this->_keywords = array (
+ -1 =>
+ array (
+ 0 => -1,
+ 1 => -1,
+ 2 => -1,
+ 3 =>
+ array (
+ ),
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 => -1,
+ ),
+ 3 =>
+ array (
+ 0 =>
+ array (
+ ),
+ ),
+ );
+ $this->_parts = array (
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => NULL,
+ 1 => NULL,
+ 2 => NULL,
+ ),
+ 3 =>
+ array (
+ 0 => NULL,
+ ),
+ );
+ $this->_subst = array (
+ -1 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 0 =>
+ array (
+ ),
+ 1 =>
+ array (
+ ),
+ 2 =>
+ array (
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 3 =>
+ array (
+ 0 => false,
+ ),
+ );
+ $this->_conditions = array (
+ );
+ $this->_kwmap = array (
+ );
+ $this->_defClass = 'code';
+ $this->_checkDefines();
+ }
+
+} \ No newline at end of file
diff --git a/library/Text_Highlighter/abap.xml b/library/Text_Highlighter/abap.xml
new file mode 100644
index 000000000..06d26e507
--- /dev/null
+++ b/library/Text_Highlighter/abap.xml
@@ -0,0 +1,802 @@
+<?xml version="1.0"?>
+<!-- $Id: abap.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="abap" case = "no">
+
+ <authors>
+ <author name="Stoyan Stefanov" email ="ssttoo@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <region name="comment" start="^\*|&quot;" end="/$/m" innerClass="comment">
+ <contains all="no"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
+
+ <block name="identifier" match="[a-zA-Z_]\w*" innerClass="identifier" contained="yes"/>
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
+
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
+
+ <block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
+
+
+ <block name="identifier" match="[a-z_\-]\w*" innerClass="identifier" case="no"/>
+
+ <keywords name="sy" inherits="identifier" innerClass="reserved">
+ <keyword match="SCREEN-NAME"/>
+ <keyword match="SCREEN-GROUP1"/>
+ <keyword match="SCREEN-GROUP2"/>
+ <keyword match="SCREEN-GROUP3"/>
+ <keyword match="SCREEN-GROUP4"/>
+ <keyword match="SCREEN-REQUIRED"/>
+ <keyword match="SCREEN-INPUT"/>
+ <keyword match="SCREEN-OUTPUT"/>
+ <keyword match="SCREEN-INTENSIFIED"/>
+ <keyword match="SCREEN-INVISIBLE"/>
+ <keyword match="SCREEN-LENGTH"/>
+ <keyword match="SCREEN-ACTIVE"/>
+ <keyword match="SY-INDEX"/>
+ <keyword match="SY-PAGNO"/>
+ <keyword match="SY-TABIX"/>
+ <keyword match="SY-TFILL"/>
+ <keyword match="SY-TLOPC"/>
+ <keyword match="SY-TMAXL"/>
+ <keyword match="SY-TOCCU"/>
+ <keyword match="SY-TTABC"/>
+ <keyword match="SY-TSTIS"/>
+ <keyword match="SY-TTABI"/>
+ <keyword match="SY-DBCNT"/>
+ <keyword match="SY-FDPOS"/>
+ <keyword match="SY-COLNO"/>
+ <keyword match="SY-LINCT"/>
+ <keyword match="SY-LINNO"/>
+ <keyword match="SY-LINSZ"/>
+ <keyword match="SY-PAGCT"/>
+ <keyword match="SY-MACOL"/>
+ <keyword match="SY-MAROW"/>
+ <keyword match="SY-TLENG"/>
+ <keyword match="SY-SFOFF"/>
+ <keyword match="SY-WILLI"/>
+ <keyword match="SY-LILLI"/>
+ <keyword match="SY-SUBRC"/>
+ <keyword match="SY-FLENG"/>
+ <keyword match="SY-CUCOL"/>
+ <keyword match="SY-CUROW"/>
+ <keyword match="SY-LSIND"/>
+ <keyword match="SY-LISTI"/>
+ <keyword match="SY-STEPL"/>
+ <keyword match="SY-TPAGI"/>
+ <keyword match="SY-WINX1"/>
+ <keyword match="SY-WINY1"/>
+ <keyword match="SY-WINX2"/>
+ <keyword match="SY-WINY2"/>
+ <keyword match="SY-WINCO"/>
+ <keyword match="SY-WINRO"/>
+ <keyword match="SY-WINDI"/>
+ <keyword match="SY-SROWS"/>
+ <keyword match="SY-SCOLS"/>
+ <keyword match="SY-LOOPC"/>
+ <keyword match="SY-FOLEN"/>
+ <keyword match="SY-FODEC"/>
+ <keyword match="SY-TZONE"/>
+ <keyword match="SY-DAYST"/>
+ <keyword match="SY-FTYPE"/>
+ <keyword match="SY-APPLI"/>
+ <keyword match="SY-FDAYW"/>
+ <keyword match="SY-CCURS"/>
+ <keyword match="SY-CCURT"/>
+ <keyword match="SY-DEBUG"/>
+ <keyword match="SY-CTYPE"/>
+ <keyword match="SY-INPUT"/>
+ <keyword match="SY-LANGU"/>
+ <keyword match="SY-MODNO"/>
+ <keyword match="SY-BATCH"/>
+ <keyword match="SY-BINPT"/>
+ <keyword match="SY-CALLD"/>
+ <keyword match="SY-DYNNR"/>
+ <keyword match="SY-DYNGR"/>
+ <keyword match="SY-NEWPA"/>
+ <keyword match="SY-PRI40"/>
+ <keyword match="SY-RSTRT"/>
+ <keyword match="SY-WTITL"/>
+ <keyword match="SY-CPAGE"/>
+ <keyword match="SY-DBNAM"/>
+ <keyword match="SY-MANDT"/>
+ <keyword match="SY-PREFX"/>
+ <keyword match="SY-FMKEY"/>
+ <keyword match="SY-PEXPI"/>
+ <keyword match="SY-PRINI"/>
+ <keyword match="SY-PRIMM"/>
+ <keyword match="SY-PRREL"/>
+ <keyword match="SY-PLAYO"/>
+ <keyword match="SY-PRBIG"/>
+ <keyword match="SY-PLAYP"/>
+ <keyword match="SY-PRNEW"/>
+ <keyword match="SY-PRLOG"/>
+ <keyword match="SY-PDEST"/>
+ <keyword match="SY-PLIST"/>
+ <keyword match="SY-PAUTH"/>
+ <keyword match="SY-PRDSN"/>
+ <keyword match="SY-PNWPA"/>
+ <keyword match="SY-CALLR"/>
+ <keyword match="SY-REPI2"/>
+ <keyword match="SY-RTITL"/>
+ <keyword match="SY-PRREC"/>
+ <keyword match="SY-PRTXT"/>
+ <keyword match="SY-PRABT"/>
+ <keyword match="SY-LPASS"/>
+ <keyword match="SY-NRPAG"/>
+ <keyword match="SY-PAART"/>
+ <keyword match="SY-PRCOP"/>
+ <keyword match="SY-BATZS"/>
+ <keyword match="SY-BSPLD"/>
+ <keyword match="SY-BREP4"/>
+ <keyword match="SY-BATZO"/>
+ <keyword match="SY-BATZD"/>
+ <keyword match="SY-BATZW"/>
+ <keyword match="SY-BATZM"/>
+ <keyword match="SY-CTABL"/>
+ <keyword match="SY-DBSYS"/>
+ <keyword match="SY-DCSYS"/>
+ <keyword match="SY-MACDB"/>
+ <keyword match="SY-SYSID"/>
+ <keyword match="SY-OPSYS"/>
+ <keyword match="SY-PFKEY"/>
+ <keyword match="SY-SAPRL"/>
+ <keyword match="SY-TCODE"/>
+ <keyword match="SY-UCOMM"/>
+ <keyword match="SY-CFWAE"/>
+ <keyword match="SY-CHWAE"/>
+ <keyword match="SY-SPONO"/>
+ <keyword match="SY-SPONR"/>
+ <keyword match="SY-WAERS"/>
+ <keyword match="SY-CDATE"/>
+ <keyword match="SY-DATUM"/>
+ <keyword match="SY-SLSET"/>
+ <keyword match="SY-SUBTY"/>
+ <keyword match="SY-SUBCS"/>
+ <keyword match="SY-GROUP"/>
+ <keyword match="SY-FFILE"/>
+ <keyword match="SY-UZEIT"/>
+ <keyword match="SY-DSNAM"/>
+ <keyword match="SY-REPID"/>
+ <keyword match="SY-TABID"/>
+ <keyword match="SY-TFDSN"/>
+ <keyword match="SY-UNAME"/>
+ <keyword match="SY-LSTAT"/>
+ <keyword match="SY-ABCDE"/>
+ <keyword match="SY-MARKY"/>
+ <keyword match="SY-SFNAM"/>
+ <keyword match="SY-TNAME"/>
+ <keyword match="SY-MSGLI"/>
+ <keyword match="SY-TITLE"/>
+ <keyword match="SY-ENTRY"/>
+ <keyword match="SY-LISEL"/>
+ <keyword match="SY-ULINE"/>
+ <keyword match="SY-XCODE"/>
+ <keyword match="SY-CPROG"/>
+ <keyword match="SY-XPROG"/>
+ <keyword match="SY-XFORM"/>
+ <keyword match="SY-LDBPG"/>
+ <keyword match="SY-TVAR0"/>
+ <keyword match="SY-TVAR1"/>
+ <keyword match="SY-TVAR2"/>
+ <keyword match="SY-TVAR3"/>
+ <keyword match="SY-TVAR4"/>
+ <keyword match="SY-TVAR5"/>
+ <keyword match="SY-TVAR6"/>
+ <keyword match="SY-TVAR7"/>
+ <keyword match="SY-TVAR8"/>
+ <keyword match="SY-TVAR9"/>
+ <keyword match="SY-MSGID"/>
+ <keyword match="SY-MSGTY"/>
+ <keyword match="SY-MSGNO"/>
+ <keyword match="SY-MSGV1"/>
+ <keyword match="SY-MSGV2"/>
+ <keyword match="SY-MSGV3"/>
+ <keyword match="SY-MSGV4"/>
+ <keyword match="SY-ONCOM"/>
+ <keyword match="SY-VLINE"/>
+ <keyword match="SY-WINSL"/>
+ <keyword match="SY-STACO"/>
+ <keyword match="SY-STARO"/>
+ <keyword match="SY-DATAR"/>
+ <keyword match="SY-HOST"/>
+ <keyword match="SY-LOCDB"/>
+ <keyword match="SY-LOCOP"/>
+ <keyword match="SY-DATLO"/>
+ <keyword match="SY-TIMLO"/>
+ <keyword match="SY-ZONLO"/>
+ <keyword match="SYST-INDEX"/>
+ <keyword match="SYST-PAGNO"/>
+ <keyword match="SYST-TABIX"/>
+ <keyword match="SYST-TFILL"/>
+ <keyword match="SYST-TLOPC"/>
+ <keyword match="SYST-TMAXL"/>
+ <keyword match="SYST-TOCCU"/>
+ <keyword match="SYST-TTABC"/>
+ <keyword match="SYST-TSTIS"/>
+ <keyword match="SYST-TTABI"/>
+ <keyword match="SYST-DBCNT"/>
+ <keyword match="SYST-FDPOS"/>
+ <keyword match="SYST-COLNO"/>
+ <keyword match="SYST-LINCT"/>
+ <keyword match="SYST-LINNO"/>
+ <keyword match="SYST-LINSZ"/>
+ <keyword match="SYST-PAGCT"/>
+ <keyword match="SYST-MACOL"/>
+ <keyword match="SYST-MAROW"/>
+ <keyword match="SYST-TLENG"/>
+ <keyword match="SYST-SFOFF"/>
+ <keyword match="SYST-WILLI"/>
+ <keyword match="SYST-LILLI"/>
+ <keyword match="SYST-SUBRC"/>
+ <keyword match="SYST-FLENG"/>
+ <keyword match="SYST-CUCOL"/>
+ <keyword match="SYST-CUROW"/>
+ <keyword match="SYST-LSIND"/>
+ <keyword match="SYST-LISTI"/>
+ <keyword match="SYST-STEPL"/>
+ <keyword match="SYST-TPAGI"/>
+ <keyword match="SYST-WINX1"/>
+ <keyword match="SYST-WINY1"/>
+ <keyword match="SYST-WINX2"/>
+ <keyword match="SYST-WINY2"/>
+ <keyword match="SYST-WINCO"/>
+ <keyword match="SYST-WINRO"/>
+ <keyword match="SYST-WINDI"/>
+ <keyword match="SYST-SROWS"/>
+ <keyword match="SYST-SCOLS"/>
+ <keyword match="SYST-LOOPC"/>
+ <keyword match="SYST-FOLEN"/>
+ <keyword match="SYST-FODEC"/>
+ <keyword match="SYST-TZONE"/>
+ <keyword match="SYST-DAYST"/>
+ <keyword match="SYST-FTYPE"/>
+ <keyword match="SYST-APPLI"/>
+ <keyword match="SYST-FDAYW"/>
+ <keyword match="SYST-CCURS"/>
+ <keyword match="SYST-CCURT"/>
+ <keyword match="SYST-DEBUG"/>
+ <keyword match="SYST-CTYPE"/>
+ <keyword match="SYST-INPUT"/>
+ <keyword match="SYST-LANGU"/>
+ <keyword match="SYST-MODNO"/>
+ <keyword match="SYST-BATCH"/>
+ <keyword match="SYST-BINPT"/>
+ <keyword match="SYST-CALLD"/>
+ <keyword match="SYST-DYNNR"/>
+ <keyword match="SYST-DYNGR"/>
+ <keyword match="SYST-NEWPA"/>
+ <keyword match="SYST-PRI40"/>
+ <keyword match="SYST-RSTRT"/>
+ <keyword match="SYST-WTITL"/>
+ <keyword match="SYST-CPAGE"/>
+ <keyword match="SYST-DBNAM"/>
+ <keyword match="SYST-MANDT"/>
+ <keyword match="SYST-PREFX"/>
+ <keyword match="SYST-FMKEY"/>
+ <keyword match="SYST-PEXPI"/>
+ <keyword match="SYST-PRINI"/>
+ <keyword match="SYST-PRIMM"/>
+ <keyword match="SYST-PRREL"/>
+ <keyword match="SYST-PLAYO"/>
+ <keyword match="SYST-PRBIG"/>
+ <keyword match="SYST-PLAYP"/>
+ <keyword match="SYST-PRNEW"/>
+ <keyword match="SYST-PRLOG"/>
+ <keyword match="SYST-PDEST"/>
+ <keyword match="SYST-PLIST"/>
+ <keyword match="SYST-PAUTH"/>
+ <keyword match="SYST-PRDSN"/>
+ <keyword match="SYST-PNWPA"/>
+ <keyword match="SYST-CALLR"/>
+ <keyword match="SYST-REPI2"/>
+ <keyword match="SYST-RTITL"/>
+ <keyword match="SYST-PRREC"/>
+ <keyword match="SYST-PRTXT"/>
+ <keyword match="SYST-PRABT"/>
+ <keyword match="SYST-LPASS"/>
+ <keyword match="SYST-NRPAG"/>
+ <keyword match="SYST-PAART"/>
+ <keyword match="SYST-PRCOP"/>
+ <keyword match="SYST-BATZS"/>
+ <keyword match="SYST-BSPLD"/>
+ <keyword match="SYST-BREP4"/>
+ <keyword match="SYST-BATZO"/>
+ <keyword match="SYST-BATZD"/>
+ <keyword match="SYST-BATZW"/>
+ <keyword match="SYST-BATZM"/>
+ <keyword match="SYST-CTABL"/>
+ <keyword match="SYST-DBSYS"/>
+ <keyword match="SYST-DCSYS"/>
+ <keyword match="SYST-MACDB"/>
+ <keyword match="SYST-SYSID"/>
+ <keyword match="SYST-OPSYS"/>
+ <keyword match="SYST-PFKEY"/>
+ <keyword match="SYST-SAPRL"/>
+ <keyword match="SYST-TCODE"/>
+ <keyword match="SYST-UCOMM"/>
+ <keyword match="SYST-CFWAE"/>
+ <keyword match="SYST-CHWAE"/>
+ <keyword match="SYST-SPONO"/>
+ <keyword match="SYST-SPONR"/>
+ <keyword match="SYST-WAERS"/>
+ <keyword match="SYST-CDATE"/>
+ <keyword match="SYST-DATUM"/>
+ <keyword match="SYST-SLSET"/>
+ <keyword match="SYST-SUBTY"/>
+ <keyword match="SYST-SUBCS"/>
+ <keyword match="SYST-GROUP"/>
+ <keyword match="SYST-FFILE"/>
+ <keyword match="SYST-UZEIT"/>
+ <keyword match="SYST-DSNAM"/>
+ <keyword match="SYST-REPID"/>
+ <keyword match="SYST-TABID"/>
+ <keyword match="SYST-TFDSN"/>
+ <keyword match="SYST-UNAME"/>
+ <keyword match="SYST-LSTAT"/>
+ <keyword match="SYST-ABCDE"/>
+ <keyword match="SYST-MARKY"/>
+ <keyword match="SYST-SFNAM"/>
+ <keyword match="SYST-TNAME"/>
+ <keyword match="SYST-MSGLI"/>
+ <keyword match="SYST-TITLE"/>
+ <keyword match="SYST-ENTRY"/>
+ <keyword match="SYST-LISEL"/>
+ <keyword match="SYST-ULINE"/>
+ <keyword match="SYST-XCODE"/>
+ <keyword match="SYST-CPROG"/>
+ <keyword match="SYST-XPROG"/>
+ <keyword match="SYST-XFORM"/>
+ <keyword match="SYST-LDBPG"/>
+ <keyword match="SYST-TVAR0"/>
+ <keyword match="SYST-TVAR1"/>
+ <keyword match="SYST-TVAR2"/>
+ <keyword match="SYST-TVAR3"/>
+ <keyword match="SYST-TVAR4"/>
+ <keyword match="SYST-TVAR5"/>
+ <keyword match="SYST-TVAR6"/>
+ <keyword match="SYST-TVAR7"/>
+ <keyword match="SYST-TVAR8"/>
+ <keyword match="SYST-TVAR9"/>
+ <keyword match="SYST-MSGID"/>
+ <keyword match="SYST-MSGTY"/>
+ <keyword match="SYST-MSGNO"/>
+ <keyword match="SYST-MSGV1"/>
+ <keyword match="SYST-MSGV2"/>
+ <keyword match="SYST-MSGV3"/>
+ <keyword match="SYST-MSGV4"/>
+ <keyword match="SYST-ONCOM"/>
+ <keyword match="SYST-VLINE"/>
+ <keyword match="SYST-WINSL"/>
+ <keyword match="SYST-STACO"/>
+ <keyword match="SYST-STARO"/>
+ <keyword match="SYST-DATAR"/>
+ <keyword match="SYST-HOST"/>
+ <keyword match="SYST-LOCDB"/>
+ <keyword match="SYST-LOCOP"/>
+ <keyword match="SYST-DATLO"/>
+ <keyword match="SYST-TIMLO"/>
+ <keyword match="SYST-ZONLO"/>
+ </keywords>
+
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved">
+ <keyword match="ABS"/>
+ <keyword match="ACOS"/>
+ <keyword match="ADD"/>
+ <keyword match="ADD-CORRESPONDING"/>
+ <keyword match="ADJACENT"/>
+ <keyword match="AFTER"/>
+ <keyword match="ALIASES"/>
+ <keyword match="ALL"/>
+ <keyword match="ANALYZER"/>
+ <keyword match="AND"/>
+ <keyword match="ANY"/>
+ <keyword match="APPEND"/>
+ <keyword match="AS"/>
+ <keyword match="ASCENDING"/>
+ <keyword match="ASIN"/>
+ <keyword match="ASSIGN"/>
+ <keyword match="ASSIGNED"/>
+ <keyword match="ASSIGNING"/>
+ <keyword match="AT"/>
+ <keyword match="ATAN"/>
+ <keyword match="AUTHORITY-CHECK"/>
+ <keyword match="AVG"/>
+ <keyword match="BACK"/>
+ <keyword match="BEFORE"/>
+ <keyword match="BEGIN"/>
+ <keyword match="BINARY"/>
+ <keyword match="BIT"/>
+ <keyword match="BIT-AND"/>
+ <keyword match="BIT-NOT"/>
+ <keyword match="BIT-OR"/>
+ <keyword match="BIT-XOR"/>
+ <keyword match="BLANK"/>
+ <keyword match="BLOCK"/>
+ <keyword match="BREAK-POINT"/>
+ <keyword match="BUFFER"/>
+ <keyword match="BY"/>
+ <keyword match="C"/>
+ <keyword match="CALL"/>
+ <keyword match="CASE"/>
+ <keyword match="CATCH"/>
+ <keyword match="CEIL"/>
+ <keyword match="CENTERED"/>
+ <keyword match="CHAIN"/>
+ <keyword match="CHANGE"/>
+ <keyword match="CHANGING"/>
+ <keyword match="CHECK"/>
+ <keyword match="CHECKBOX"/>
+ <keyword match="CLASS"/>
+ <keyword match="CLASS-DATA"/>
+ <keyword match="CLASS-EVENTS"/>
+ <keyword match="CLASS-METHODS"/>
+ <keyword match="CLASS-POOL"/>
+ <keyword match="CLEAR"/>
+ <keyword match="CLIENT"/>
+ <keyword match="CLOSE"/>
+ <keyword match="CNT"/>
+ <keyword match="CODE"/>
+ <keyword match="COLLECT"/>
+ <keyword match="COLOR"/>
+ <keyword match="COMMENT"/>
+ <keyword match="COMMIT"/>
+ <keyword match="COMMUNICATION"/>
+ <keyword match="COMPUTE"/>
+ <keyword match="CONCATENATE"/>
+ <keyword match="CONDENSE"/>
+ <keyword match="CONSTANTS"/>
+ <keyword match="CONTEXT"/>
+ <keyword match="CONTEXTS"/>
+ <keyword match="CONTINUE"/>
+ <keyword match="CONTROL"/>
+ <keyword match="CONTROLS"/>
+ <keyword match="CONVERT"/>
+ <keyword match="COPY"/>
+ <keyword match="CORRESPONDING"/>
+ <keyword match="COS"/>
+ <keyword match="COSH"/>
+ <keyword match="COUNT"/>
+ <keyword match="COUNTRY"/>
+ <keyword match="CREATE"/>
+ <keyword match="CURRENCY"/>
+ <keyword match="CURSOR"/>
+ <keyword match="CUSTOMER-FUNCTION"/>
+ <keyword match="DATA"/>
+ <keyword match="DATABASE"/>
+ <keyword match="DATASET"/>
+ <keyword match="DELETE"/>
+ <keyword match="DECIMALS"/>
+ <keyword match="DEFAULT"/>
+ <keyword match="DEFINE"/>
+ <keyword match="DELETE"/>
+ <keyword match="DEMAND"/>
+ <keyword match="DESCENDING"/>
+ <keyword match="DESCRIBE"/>
+ <keyword match="DIALOG"/>
+ <keyword match="DISTINCT"/>
+ <keyword match="DIV"/>
+ <keyword match="DIVIDE"/>
+ <keyword match="DIVIDE-CORRESPONDING"/>
+ <keyword match="DO"/>
+ <keyword match="DUPLICATES"/>
+ <keyword match="DYNPRO"/>
+ <keyword match="EDIT"/>
+ <keyword match="EDITOR-CALL"/>
+ <keyword match="ELSE"/>
+ <keyword match="ELSEIF"/>
+ <keyword match="END"/>
+ <keyword match="END-OF-DEFINITION"/>
+ <keyword match="END-OF-PAGE"/>
+ <keyword match="END-OF-SELECTION"/>
+ <keyword match="ENDAT"/>
+ <keyword match="ENDCASE"/>
+ <keyword match="ENDCATCH"/>
+ <keyword match="ENDCHAIN"/>
+ <keyword match="ENDCLASS"/>
+ <keyword match="ENDDO"/>
+ <keyword match="ENDEXEC"/>
+ <keyword match="ENDFORM"/>
+ <keyword match="ENDFUNCTION"/>
+ <keyword match="ENDIF"/>
+ <keyword match="ENDINTERFACE"/>
+ <keyword match="ENDLOOP"/>
+ <keyword match="ENDMETHOD"/>
+ <keyword match="ENDMODULE"/>
+ <keyword match="ENDON"/>
+ <keyword match="ENDPROVIDE"/>
+ <keyword match="ENDSELECT"/>
+ <keyword match="ENDWHILE"/>
+ <keyword match="ENTRIES"/>
+ <keyword match="EVENTS"/>
+ <keyword match="EXEC"/>
+ <keyword match="EXIT"/>
+ <keyword match="EXIT-COMMAND"/>
+ <keyword match="EXP"/>
+ <keyword match="EXPONENT"/>
+ <keyword match="EXPORT"/>
+ <keyword match="EXPORTING"/>
+ <keyword match="EXCEPTIONS"/>
+ <keyword match="EXTENDED"/>
+ <keyword match="EXTRACT"/>
+ <keyword match="FETCH"/>
+ <keyword match="FIELD"/>
+ <keyword match="FIELD-GROUPS"/>
+ <keyword match="FIELD-SYMBOLS"/>
+ <keyword match="FIELDS"/>
+ <keyword match="FLOOR"/>
+ <keyword match="FOR"/>
+ <keyword match="FORM"/>
+ <keyword match="FORMAT"/>
+ <keyword match="FRAC"/>
+ <keyword match="FRAME"/>
+ <keyword match="FREE"/>
+ <keyword match="FROM"/>
+ <keyword match="FUNCTION"/>
+ <keyword match="FUNCTION-POOL"/>
+ <keyword match="GENERATE"/>
+ <keyword match="GET"/>
+ <keyword match="GROUP"/>
+ <keyword match="HASHED"/>
+ <keyword match="HEADER"/>
+ <keyword match="HELP-ID"/>
+ <keyword match="HELP-REQUEST"/>
+ <keyword match="HIDE"/>
+ <keyword match="HOTSPOT"/>
+ <keyword match="ICON"/>
+ <keyword match="ID"/>
+ <keyword match="IF"/>
+ <keyword match="IMPORT"/>
+ <keyword match="IMPORTING"/>
+ <keyword match="INCLUDE"/>
+ <keyword match="INDEX"/>
+ <keyword match="INFOTYPES"/>
+ <keyword match="INITIALIZATION"/>
+ <keyword match="INNER"/>
+ <keyword match="INPUT"/>
+ <keyword match="INSERT"/>
+ <keyword match="INTENSIFIED"/>
+ <keyword match="INTERFACE"/>
+ <keyword match="INTERFACE-POOL"/>
+ <keyword match="INTERFACES"/>
+ <keyword match="INTO"/>
+ <keyword match="INVERSE"/>
+ <keyword match="JOIN"/>
+ <keyword match="KEY"/>
+ <keyword match="LANGUAGE"/>
+ <keyword match="LAST"/>
+ <keyword match="LEAVE"/>
+ <keyword match="LEFT"/>
+ <keyword match="LEFT-JUSTIFIED"/>
+ <keyword match="LIKE"/>
+ <keyword match="LINE"/>
+ <keyword match="LINE-COUNT"/>
+ <keyword match="LINE-SELECTION"/>
+ <keyword match="LINE-SIZE"/>
+ <keyword match="LINES"/>
+ <keyword match="LIST-PROCESSING"/>
+ <keyword match="LOAD"/>
+ <keyword match="LOAD-OF-PROGRAM"/>
+ <keyword match="LOCAL"/>
+ <keyword match="LOCALE"/>
+ <keyword match="LOG"/>
+ <keyword match="LOG10"/>
+ <keyword match="LOOP"/>
+ <keyword match="M"/>
+ <keyword match="MARGIN"/>
+ <keyword match="MASK"/>
+ <keyword match="MATCHCODE"/>
+ <keyword match="MAX"/>
+ <keyword match="MEMORY"/>
+ <keyword match="MESSAGE"/>
+ <keyword match="MESSAGE-ID"/>
+ <keyword match="MESSAGES"/>
+ <keyword match="METHOD"/>
+ <keyword match="METHODS"/>
+ <keyword match="MIN"/>
+ <keyword match="MOD"/>
+ <keyword match="MODE"/>
+ <keyword match="MODIF"/>
+ <keyword match="MODIFY"/>
+ <keyword match="MODULE"/>
+ <keyword match="MOVE"/>
+ <keyword match="MOVE-CORRESPONDING"/>
+ <keyword match="MULTIPLY"/>
+ <keyword match="MULTIPLY-CORRESPONDING"/>
+ <keyword match="NEW"/>
+ <keyword match="NEW-LINE"/>
+ <keyword match="NEW-PAGE"/>
+ <keyword match="NEXT"/>
+ <keyword match="NO"/>
+ <keyword match="NO-GAP"/>
+ <keyword match="NO-GAPS"/>
+ <keyword match="NO-HEADING"/>
+ <keyword match="NO-SCROLLING"/>
+ <keyword match="NO-SIGN"/>
+ <keyword match="NO-TITLE"/>
+ <keyword match="NO-ZERO"/>
+ <keyword match="NODES"/>
+ <keyword match="NON-UNIQUE"/>
+ <keyword match="O"/>
+ <keyword match="OBJECT"/>
+ <keyword match="OBLIGATORY"/>
+ <keyword match="OCCURS"/>
+ <keyword match="OF"/>
+ <keyword match="OFF"/>
+ <keyword match="ON"/>
+ <keyword match="OPEN"/>
+ <keyword match="OR"/>
+ <keyword match="ORDER"/>
+ <keyword match="OTHERS"/>
+ <keyword match="OUTER"/>
+ <keyword match="OUTPUT"/>
+ <keyword match="OVERLAY"/>
+ <keyword match="PACK"/>
+ <keyword match="PAGE"/>
+ <keyword match="PARAMETER"/>
+ <keyword match="PARAMETERS"/>
+ <keyword match="PERFORM"/>
+ <keyword match="PF-STATUS"/>
+ <keyword match="POSITION"/>
+ <keyword match="PRINT"/>
+ <keyword match="PRINT-CONTROL"/>
+ <keyword match="PRIVATE"/>
+ <keyword match="PROCESS"/>
+ <keyword match="PROGRAM"/>
+ <keyword match="PROPERTY"/>
+ <keyword match="PROTECTED"/>
+ <keyword match="PROVIDE"/>
+ <keyword match="PUBLIC"/>
+ <keyword match="PUT"/>
+ <keyword match="RADIOBUTTON"/>
+ <keyword match="RAISE"/>
+ <keyword match="RAISING"/>
+ <keyword match="RANGE"/>
+ <keyword match="RANGES"/>
+ <keyword match="READ"/>
+ <keyword match="RECEIVE"/>
+ <keyword match="REFRESH"/>
+ <keyword match="REJECT"/>
+ <keyword match="REPLACE"/>
+ <keyword match="REPORT"/>
+ <keyword match="REQUESTED"/>
+ <keyword match="RESERVE"/>
+ <keyword match="RESET"/>
+ <keyword match="RIGHT-JUSTIFIED"/>
+ <keyword match="ROLLBACK"/>
+ <keyword match="ROUND"/>
+ <keyword match="ROWS"/>
+ <keyword match="RTTI"/>
+ <keyword match="RUN"/>
+ <keyword match="SCAN"/>
+ <keyword match="SCREEN"/>
+ <keyword match="SEARCH"/>
+ <keyword match="SEPARATED"/>
+ <keyword match="SCROLL"/>
+ <keyword match="SCROLL-BOUNDARY"/>
+ <keyword match="SEARCH"/>
+ <keyword match="SELECT"/>
+ <keyword match="SELECT-OPTIONS"/>
+ <keyword match="SELECTION-SCREEN"/>
+ <keyword match="SELECTION-TABLE"/>
+ <keyword match="SET"/>
+ <keyword match="SHARED"/>
+ <keyword match="SHIFT"/>
+ <keyword match="SIGN"/>
+ <keyword match="SIN"/>
+ <keyword match="SINGLE"/>
+ <keyword match="SINH"/>
+ <keyword match="SIZE"/>
+ <keyword match="SKIP"/>
+ <keyword match="SORT"/>
+ <keyword match="SORTED"/>
+ <keyword match="SPLIT"/>
+ <keyword match="SQL"/>
+ <keyword match="SQRT"/>
+ <keyword match="STAMP"/>
+ <keyword match="STANDARD"/>
+ <keyword match="START-OF-SELECTION"/>
+ <keyword match="STATICS"/>
+ <keyword match="STOP"/>
+ <keyword match="STRING"/>
+ <keyword match="STRLEN"/>
+ <keyword match="STRUCTURE"/>
+ <keyword match="SUBMIT"/>
+ <keyword match="SUBTRACT"/>
+ <keyword match="SUBTRACT-CORRESPONDING"/>
+ <keyword match="SUM"/>
+ <keyword match="SUPPLY"/>
+ <keyword match="SUPPRESS"/>
+ <keyword match="SYMBOL"/>
+ <keyword match="SYNTAX-CHECK"/>
+ <keyword match="SYNTAX-TRACE"/>
+ <keyword match="SYSTEM-CALL"/>
+ <keyword match="SYSTEM-EXCEPTIONS"/>
+ <keyword match="TABLE"/>
+ <keyword match="TABLE_LINE"/>
+ <keyword match="TABLES"/>
+ <keyword match="TAN"/>
+ <keyword match="TANH"/>
+ <keyword match="TEXT"/>
+ <keyword match="TEXTPOOL"/>
+ <keyword match="TIME"/>
+ <keyword match="TIMES"/>
+ <keyword match="TITLE"/>
+ <keyword match="TITLEBAR"/>
+ <keyword match="TO"/>
+ <keyword match="TOP-OF-PAGE"/>
+ <keyword match="TRANSACTION"/>
+ <keyword match="TRANSFER"/>
+ <keyword match="TRANSLATE"/>
+ <keyword match="TRANSPORTING"/>
+ <keyword match="TRUNC"/>
+ <keyword match="TYPE"/>
+ <keyword match="TYPE-POOL"/>
+ <keyword match="TYPE-POOLS"/>
+ <keyword match="TYPES"/>
+ <keyword match="ULINE"/>
+ <keyword match="UNDER"/>
+ <keyword match="UNIQUE"/>
+ <keyword match="UNIT"/>
+ <keyword match="UNPACK"/>
+ <keyword match="UP"/>
+ <keyword match="UPDATE"/>
+ <keyword match="USER-COMMAND"/>
+ <keyword match="USING"/>
+ <keyword match="VALUE"/>
+ <keyword match="VALUE-REQUEST"/>
+ <keyword match="VALUES"/>
+ <keyword match="VARY"/>
+ <keyword match="WHEN"/>
+ <keyword match="WHERE"/>
+ <keyword match="WHILE"/>
+ <keyword match="WINDOW"/>
+ <keyword match="WITH"/>
+ <keyword match="WITH-TITLE"/>
+ <keyword match="WORK"/>
+ <keyword match="WRITE"/>
+ <keyword match="X"/>
+ <keyword match="XSTRING"/>
+ <keyword match="Z"/>
+ <keyword match="ZONE"/>
+ </keywords>
+
+
+ <keywords name="constants" inherits="identifier" innerClass="reserved">
+ <keyword match="INITIAL"/>
+ <keyword match="NULL"/>
+ <keyword match="SPACE"/>
+ <keyword match="COL_BACKGROUND"/>
+ <keyword match="COL_HEADING"/>
+ <keyword match="COL_NORMAL"/>
+ <keyword match="COL_TOTAL"/>
+ <keyword match="COL_KEY"/>
+ <keyword match="COL_POSITIVE"/>
+ <keyword match="COL_NEGATIVE"/>
+ <keyword match="COL_GROUP"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/avrc.xml b/library/Text_Highlighter/avrc.xml
new file mode 100644
index 000000000..dec571e13
--- /dev/null
+++ b/library/Text_Highlighter/avrc.xml
@@ -0,0 +1,316 @@
+<?xml version="1.0"?>
+<!-- $Id: avrc.xml,v 1.1 2008-07-31 23:05:38 ssttoo Exp $ -->
+
+<highlight lang="AVRC" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+ C/C++ highlighter specific to Atmel AVR microcontrollers
+ </comment>
+
+ <default innerClass="code" />
+
+ <block name="escaped" match="\\" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
+ <block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
+ <block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
+ <block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+
+ <region name="strincl" delimClass="quotes" innerClass="string" start="&lt;" end="&gt;">
+ <onlyin region="include" />
+ </region>
+
+ <!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
+ <region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?&lt;!\\)$/m">
+ <contains region="strdouble"/>
+ <contains region="strincl"/>
+ </region>
+
+ <region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?&lt;!\\)$/m">
+ <contains region="comment"/>
+ <contains region="mlcomment"/>
+ <contains region="strdouble"/>
+ <contains region="brackets"/>
+ <contains region="block"/>
+ <contains block="identifier"/>
+ <contains block="integer"/>
+ <contains block="hexinteger"/>
+ <contains block="octinteger"/>
+ <contains block="float"/>
+
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+
+ <region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
+
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="and" />
+ <keyword match="and_eq" />
+ <keyword match="asm" />
+
+ <keyword match="bitand" />
+ <keyword match="bitor" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="compl" />
+
+ <keyword match="const_cast" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="delete" />
+ <keyword match="do" />
+ <keyword match="dynamic_cast" />
+
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="fortran" />
+ <keyword match="friend" />
+ <keyword match="goto" />
+ <keyword match="if" />
+
+ <keyword match="new" />
+ <keyword match="not" />
+ <keyword match="not_eq" />
+ <keyword match="operator" />
+ <keyword match="or" />
+ <keyword match="or_eq" />
+
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="reinterpret_cast" />
+ <keyword match="return" />
+ <keyword match="sizeof" />
+
+ <keyword match="static_cast" />
+ <keyword match="switch" />
+ <keyword match="this" />
+ <keyword match="throw" />
+ <keyword match="try" />
+ <keyword match="typeid" />
+
+ <keyword match="using" />
+ <keyword match="while" />
+ <keyword match="xor" />
+ <keyword match="xor_eq" />
+
+ <keyword match="false" />
+ <keyword match="true" />
+ </keywords>
+
+ <keywords name="registers" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="ACSR" />
+ <keyword match="ADCH" />
+ <keyword match="ADCL" />
+ <keyword match="ADCSRA" />
+ <keyword match="ADMUX" />
+ <keyword match="ASSR" />
+ <keyword match="DDRA" />
+ <keyword match="DDRB" />
+ <keyword match="DDRC" />
+ <keyword match="DDRD" />
+ <keyword match="DDRE" />
+ <keyword match="DDRF" />
+ <keyword match="DDRG" />
+ <keyword match="EEARH" />
+ <keyword match="EEARL" />
+ <keyword match="EECR" />
+ <keyword match="EEDR" />
+ <keyword match="EICRA" />
+ <keyword match="EICRB" />
+ <keyword match="EIFR" />
+ <keyword match="EIMSK" />
+ <keyword match="ETIFR" />
+ <keyword match="ETIMSK" />
+ <keyword match="GICR" />
+ <keyword match="GIFR" />
+ <keyword match="ICR1H" />
+ <keyword match="ICR1L" />
+ <keyword match="ICR3H" />
+ <keyword match="ICR3L" />
+ <keyword match="MCUCR" />
+ <keyword match="MCUCSR" />
+ <keyword match="OCDR" />
+ <keyword match="OCR0" />
+ <keyword match="OCR1AH" />
+ <keyword match="OCR1AL" />
+ <keyword match="OCR1BH" />
+ <keyword match="OCR1BL" />
+ <keyword match="OCR1CH" />
+ <keyword match="OCR1CL" />
+ <keyword match="OCR2" />
+ <keyword match="OCR3AH" />
+ <keyword match="OCR3AL" />
+ <keyword match="OCR3BH" />
+ <keyword match="OCR3BL" />
+ <keyword match="OCR3CH" />
+ <keyword match="OCR3CL" />
+ <keyword match="OSCCAL" />
+ <keyword match="PINA" />
+ <keyword match="PINB" />
+ <keyword match="PINC" />
+ <keyword match="PIND" />
+ <keyword match="PINE" />
+ <keyword match="PINF" />
+ <keyword match="PING" />
+ <keyword match="PORTA" />
+ <keyword match="PORTB" />
+ <keyword match="PORTC" />
+ <keyword match="PORTD" />
+ <keyword match="PORTE" />
+ <keyword match="PORTF" />
+ <keyword match="PORTG" />
+ <keyword match="RAMPZ" />
+ <keyword match="SFIOR" />
+ <keyword match="SPCR" />
+ <keyword match="SPDR" />
+ <keyword match="SPH" />
+ <keyword match="SPL" />
+ <keyword match="SPMCR" />
+ <keyword match="SPMCSR" />
+ <keyword match="SPSR" />
+ <keyword match="SREG" />
+ <keyword match="TCCR0" />
+ <keyword match="TCCR1A" />
+ <keyword match="TCCR1B" />
+ <keyword match="TCCR1C" />
+ <keyword match="TCCR2" />
+ <keyword match="TCCR3A" />
+ <keyword match="TCCR3B" />
+ <keyword match="TCCR3C" />
+ <keyword match="TCNT0" />
+ <keyword match="TCNT1H" />
+ <keyword match="TCNT1L" />
+ <keyword match="TCNT2" />
+ <keyword match="TCNT3H" />
+ <keyword match="TCNT3L" />
+ <keyword match="TIFR" />
+ <keyword match="TIMSK" />
+ <keyword match="TWAR" />
+ <keyword match="TWBR" />
+ <keyword match="TWCR" />
+ <keyword match="TWDR" />
+ <keyword match="TWSR" />
+ <keyword match="UBRR0H" />
+ <keyword match="UBRR0L" />
+ <keyword match="UBRR1H" />
+ <keyword match="UBRR1L" />
+ <keyword match="UBRRH" />
+ <keyword match="UBRRL" />
+ <keyword match="UCSR0A" />
+ <keyword match="UCSR0B" />
+ <keyword match="UCSR0C" />
+ <keyword match="UCSR1A" />
+ <keyword match="UCSR1B" />
+ <keyword match="UCSR1C" />
+ <keyword match="UCSRA" />
+ <keyword match="UCSRB" />
+ <keyword match="UCSRC" />
+ <keyword match="UDR" />
+ <keyword match="UDR0" />
+ <keyword match="UDR1" />
+ <keyword match="WDTCR" />
+ <keyword match="XDIV" />
+ <keyword match="XMCRA" />
+ <keyword match="XMCRB" />
+ </keywords>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case="yes">
+
+ <keyword match="auto" />
+ <keyword match="bool" />
+ <keyword match="char" />
+ <keyword match="class" />
+ <keyword match="const" />
+ <keyword match="double" />
+
+ <keyword match="enum" />
+ <keyword match="explicit" />
+ <keyword match="export" />
+ <keyword match="extern" />
+ <keyword match="float" />
+ <keyword match="inline" />
+
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="mutable" />
+ <keyword match="namespace" />
+ <keyword match="register" />
+ <keyword match="short" />
+
+ <keyword match="signed" />
+ <keyword match="static" />
+ <keyword match="struct" />
+ <keyword match="template" />
+ <keyword match="typedef" />
+ <keyword match="typename" />
+
+ <keyword match="union" />
+ <keyword match="unsigned" />
+ <keyword match="virtual" />
+ <keyword match="void" />
+ <keyword match="volatile" />
+ <keyword match="wchar_t" />
+
+ </keywords>
+
+ <keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
+ <keyword match="NULL" />
+ <keyword match="TRUE" />
+ <keyword match="FALSE" />
+ <keyword match="MAX" />
+
+ <keyword match="MIN" />
+ <keyword match="__LINE__" />
+ <keyword match="__DATA__" />
+ <keyword match="__FILE__" />
+ <keyword match="__TIME__" />
+ <keyword match="__STDC__" />
+
+ </keywords>
+
+
+ <!--
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ -->
+
+</highlight>
+
diff --git a/library/Text_Highlighter/cpp.xml b/library/Text_Highlighter/cpp.xml
new file mode 100644
index 000000000..2cbaa930f
--- /dev/null
+++ b/library/Text_Highlighter/cpp.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<!-- $Id: cpp.xml,v 1.2 2008-07-31 23:06:30 ssttoo Exp $ -->
+
+<highlight lang="CPP" case="no">
+
+ <authors>
+ <author name="Aaron Kalin"/>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+Thanks to Aaron Kalin for initial
+implementation of this highlighter
+ </comment>
+
+ <default innerClass="code" />
+
+ <block name="escaped" match="\\" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
+ <block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
+ <block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
+ <block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+
+ <region name="strincl" delimClass="quotes" innerClass="string" start="&lt;" end="&gt;">
+ <onlyin region="include" />
+ </region>
+
+ <!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
+ <region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?&lt;!\\)$/m">
+ <contains region="strdouble"/>
+ <contains region="strincl"/>
+ </region>
+
+ <region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?&lt;!\\)$/m">
+ <contains region="comment"/>
+ <contains region="mlcomment"/>
+ <contains region="strdouble"/>
+ <contains region="brackets"/>
+ <contains region="block"/>
+ <contains block="identifier"/>
+ <contains block="integer"/>
+ <contains block="hexinteger"/>
+ <contains block="octinteger"/>
+ <contains block="float"/>
+
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+
+ <region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
+
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="and" />
+ <keyword match="and_eq" />
+ <keyword match="asm" />
+
+ <keyword match="bitand" />
+ <keyword match="bitor" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="compl" />
+
+ <keyword match="const_cast" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="delete" />
+ <keyword match="do" />
+ <keyword match="dynamic_cast" />
+
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="fortran" />
+ <keyword match="friend" />
+ <keyword match="goto" />
+ <keyword match="if" />
+
+ <keyword match="new" />
+ <keyword match="not" />
+ <keyword match="not_eq" />
+ <keyword match="operator" />
+ <keyword match="or" />
+ <keyword match="or_eq" />
+
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="reinterpret_cast" />
+ <keyword match="return" />
+ <keyword match="sizeof" />
+
+ <keyword match="static_cast" />
+ <keyword match="switch" />
+ <keyword match="this" />
+ <keyword match="throw" />
+ <keyword match="try" />
+ <keyword match="typeid" />
+
+ <keyword match="using" />
+ <keyword match="while" />
+ <keyword match="xor" />
+ <keyword match="xor_eq" />
+
+ <keyword match="false" />
+ <keyword match="true" />
+ </keywords>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case="yes">
+
+ <keyword match="auto" />
+ <keyword match="bool" />
+ <keyword match="char" />
+ <keyword match="class" />
+ <keyword match="const" />
+ <keyword match="double" />
+
+ <keyword match="enum" />
+ <keyword match="explicit" />
+ <keyword match="export" />
+ <keyword match="extern" />
+ <keyword match="float" />
+ <keyword match="inline" />
+
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="mutable" />
+ <keyword match="namespace" />
+ <keyword match="register" />
+ <keyword match="short" />
+
+ <keyword match="signed" />
+ <keyword match="static" />
+ <keyword match="struct" />
+ <keyword match="template" />
+ <keyword match="typedef" />
+ <keyword match="typename" />
+
+ <keyword match="union" />
+ <keyword match="unsigned" />
+ <keyword match="virtual" />
+ <keyword match="void" />
+ <keyword match="volatile" />
+ <keyword match="wchar_t" />
+
+ </keywords>
+
+ <keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
+ <keyword match="NULL" />
+ <keyword match="TRUE" />
+ <keyword match="FALSE" />
+ <keyword match="MAX" />
+
+ <keyword match="MIN" />
+ <keyword match="__LINE__" />
+ <keyword match="__DATA__" />
+ <keyword match="__FILE__" />
+ <keyword match="__TIME__" />
+ <keyword match="__STDC__" />
+
+ </keywords>
+
+
+ <!--
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ -->
+
+</highlight>
+
diff --git a/library/Text_Highlighter/css.xml b/library/Text_Highlighter/css.xml
new file mode 100644
index 000000000..2473bcfb7
--- /dev/null
+++ b/library/Text_Highlighter/css.xml
@@ -0,0 +1,368 @@
+<?xml version="1.0"?>
+<!-- $Id: css.xml,v 1.2 2008-01-01 23:45:07 ssttoo Exp $ -->
+
+<highlight lang="css" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
+
+ </region>
+
+
+ <block name="atrule" match="(@[a-z\d]+)"
+ innerClass="var" never-contained="yes"/>
+
+ <region name="property" start="[a-z][a-z\d\-]*\s*:" end="(?=;|\})"
+ innerClass="code" delimClass="reserved" contained="yes"/>
+
+ <block name="selector" match="(((\.|#)?[a-z]+[a-z\d\-]*(?![a-z\d\-]))|(\*))(?!\s*:\s*[\s\{])"
+ innerClass="identifier" >
+ </block>
+
+ <block name="pseudo" match=":[a-z][a-z\d\-]*"
+ innerClass="special" />
+
+ <block name="bescaped" match="\\[\\(\\)\\]"
+ innerClass="string" contained="yes"/>
+
+
+ <region name="paramselector" start="\[" end="\]" innerClass="code"
+ delimClass="brackets" >
+ <contains block="paramname" />
+ <not-contains block="identifier" />
+ <contains region="strdouble" />
+ <contains region="strsingle" />
+ </region>
+
+ <region name="block" start="\{" end="\}" innerClass="code"
+ delimClass="brackets" >
+ <contains region="block" />
+ <contains region="property" />
+ <contains block="selector" />
+ <contains region="mlcomment" />
+ </region>
+
+ <region name="brackets" start="\(" end="\)" innerClass="string"
+ delimClass="brackets" contained="yes">
+ <contains block="bescaped"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\\\|\\&quot;|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" contained="yes" />
+
+ <block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
+ innerClass="number" contained="yes">
+ <onlyin region="property"/>
+ <partClass index="1" innerClass="string" />
+ </block>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number" contained="yes" >
+ <onlyin region="property"/>
+ </block>
+
+ <block name="identifier" match="[a-z][a-z\d\-]*"
+ innerClass="code" contained="yes">
+ <onlyin region="property"/>
+ </block>
+
+ <block name="hexcolor" match="#([\da-f]{6}|[\da-f]{3})\b" innerClass="var" contained="yes">
+ <onlyin region="property"/>
+ </block>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes">
+ <onlyin region="paramselector"/>
+ </block>
+
+ <keywords name="propertyValue" inherits="identifier" innerClass="string" case = "no">
+ <word name="left-side"/>
+ <keyword match="far-left"/>
+ <keyword match="left"/>
+ <keyword match="center-left"/>
+ <keyword match="center-right"/>
+ <keyword match="center"/>
+ <keyword match="far-right"/>
+ <keyword match="right-side"/>
+ <keyword match="right"/>
+ <keyword match="behind"/>
+ <keyword match="leftwards"/>
+ <keyword match="rightwards"/>
+ <keyword match="inherit"/>
+ <keyword match="scroll"/>
+ <keyword match="fixed"/>
+ <keyword match="transparent"/>
+ <keyword match="none"/>
+ <keyword match="repeat-x"/>
+ <keyword match="repeat-y"/>
+ <keyword match="repeat"/>
+ <keyword match="no-repeat"/>
+ <keyword match="collapse"/>
+ <keyword match="separate"/>
+ <keyword match="auto"/>
+ <keyword match="top"/>
+ <keyword match="bottom"/>
+ <keyword match="both"/>
+ <keyword match="open-quote"/>
+ <keyword match="close-quote"/>
+ <keyword match="no-open-quote"/>
+ <keyword match="no-close-quote"/>
+ <keyword match="crosshair"/>
+ <keyword match="default"/>
+ <keyword match="pointer"/>
+ <keyword match="move"/>
+ <keyword match="e-resize"/>
+ <keyword match="ne-resize"/>
+ <keyword match="nw-resize"/>
+ <keyword match="n-resize"/>
+ <keyword match="se-resize"/>
+ <keyword match="sw-resize"/>
+ <keyword match="s-resize"/>
+ <keyword match="text"/>
+ <keyword match="wait"/>
+ <keyword match="help"/>
+ <keyword match="ltr"/>
+ <keyword match="rtl"/>
+ <keyword match="inline"/>
+ <keyword match="block"/>
+ <keyword match="list-item"/>
+ <keyword match="run-in"/>
+ <keyword match="compact"/>
+ <keyword match="marker"/>
+ <keyword match="table"/>
+ <keyword match="inline-table"/>
+ <keyword match="table-row-group"/>
+ <keyword match="table-header-group"/>
+ <keyword match="table-footer-group"/>
+ <keyword match="table-row"/>
+ <keyword match="table-column-group"/>
+ <keyword match="table-column"/>
+ <keyword match="table-cell"/>
+ <keyword match="table-caption"/>
+ <keyword match="below"/>
+ <keyword match="level"/>
+ <keyword match="above"/>
+ <keyword match="higher"/>
+ <keyword match="lower"/>
+ <keyword match="show"/>
+ <keyword match="hide"/>
+ <keyword match="caption"/>
+ <keyword match="icon"/>
+ <keyword match="menu"/>
+ <keyword match="message-box"/>
+ <keyword match="small-caption"/>
+ <keyword match="status-bar"/>
+ <keyword match="normal"/>
+ <keyword match="wider"/>
+ <keyword match="narrower"/>
+ <keyword match="ultra-condensed"/>
+ <keyword match="extra-condensed"/>
+ <keyword match="condensed"/>
+ <keyword match="semi-condensed"/>
+ <keyword match="semi-expanded"/>
+ <keyword match="expanded"/>
+ <keyword match="extra-expanded"/>
+ <keyword match="ultra-expanded"/>
+ <keyword match="italic"/>
+ <keyword match="oblique"/>
+ <keyword match="small-caps"/>
+ <keyword match="bold"/>
+ <keyword match="bolder"/>
+ <keyword match="lighter"/>
+ <keyword match="inside"/>
+ <keyword match="outside"/>
+ <keyword match="disc"/>
+ <keyword match="circle"/>
+ <keyword match="square"/>
+ <keyword match="decimal"/>
+ <keyword match="decimal-leading-zero"/>
+ <keyword match="lower-roman"/>
+ <keyword match="upper-roman"/>
+ <keyword match="lower-greek"/>
+ <keyword match="lower-alpha"/>
+ <keyword match="lower-latin"/>
+ <keyword match="upper-alpha"/>
+ <keyword match="upper-latin"/>
+ <keyword match="hebrew"/>
+ <keyword match="armenian"/>
+ <keyword match="georgian"/>
+ <keyword match="cjk-ideographic"/>
+ <keyword match="hiragana"/>
+ <keyword match="katakana"/>
+ <keyword match="hiragana-iroha"/>
+ <keyword match="katakana-iroha"/>
+ <keyword match="crop"/>
+ <keyword match="cross"/>
+ <keyword match="invert"/>
+ <keyword match="visible"/>
+ <keyword match="hidden"/>
+ <keyword match="always"/>
+ <keyword match="avoid"/>
+ <keyword match="x-low"/>
+ <keyword match="low"/>
+ <keyword match="medium"/>
+ <keyword match="high"/>
+ <keyword match="x-high"/>
+ <keyword match="mix?"/>
+ <keyword match="repeat?"/>
+ <keyword match="static"/>
+ <keyword match="relative"/>
+ <keyword match="absolute"/>
+ <keyword match="portrait"/>
+ <keyword match="landscape"/>
+ <keyword match="spell-out"/>
+ <keyword match="once"/>
+ <keyword match="digits"/>
+ <keyword match="continuous"/>
+ <keyword match="code"/>
+ <keyword match="x-slow"/>
+ <keyword match="slow"/>
+ <keyword match="fast"/>
+ <keyword match="x-fast"/>
+ <keyword match="faster"/>
+ <keyword match="slower"/>
+ <keyword match="justify"/>
+ <keyword match="underline"/>
+ <keyword match="overline"/>
+ <keyword match="line-through"/>
+ <keyword match="blink"/>
+ <keyword match="capitalize"/>
+ <keyword match="uppercase"/>
+ <keyword match="lowercase"/>
+ <keyword match="embed"/>
+ <keyword match="bidi-override"/>
+ <keyword match="baseline"/>
+ <keyword match="sub"/>
+ <keyword match="super"/>
+ <keyword match="text-top"/>
+ <keyword match="middle"/>
+ <keyword match="text-bottom"/>
+ <keyword match="silent"/>
+ <keyword match="x-soft"/>
+ <keyword match="soft"/>
+ <keyword match="loud"/>
+ <keyword match="x-loud"/>
+ <keyword match="pre"/>
+ <keyword match="nowrap"/>
+ <keyword match="serif"/>
+ <keyword match="sans-serif"/>
+ <keyword match="cursive"/>
+ <keyword match="fantasy"/>
+ <keyword match="monospace"/>
+ <keyword match="empty"/>
+ <keyword match="string"/>
+ <keyword match="strict"/>
+ <keyword match="loose"/>
+ <keyword match="char"/>
+ <keyword match="true"/>
+ <keyword match="false"/>
+ <keyword match="dotted"/>
+ <keyword match="dashed"/>
+ <keyword match="solid"/>
+ <keyword match="double"/>
+ <keyword match="groove"/>
+ <keyword match="ridge"/>
+ <keyword match="inset"/>
+ <keyword match="outset"/>
+ <keyword match="larger"/>
+ <keyword match="smaller"/>
+ <keyword match="xx-small"/>
+ <keyword match="x-small"/>
+ <keyword match="small"/>
+ <keyword match="large"/>
+ <keyword match="x-large"/>
+ <keyword match="xx-large"/>
+ <keyword match="all"/>
+ <keyword match="newspaper"/>
+ <keyword match="distribute"/>
+ <keyword match="distribute-all-lines"/>
+ <keyword match="distribute-center-last"/>
+ <keyword match="inter-word"/>
+ <keyword match="inter-ideograph"/>
+ <keyword match="inter-cluster"/>
+ <keyword match="kashida"/>
+ <keyword match="ideograph-alpha"/>
+ <keyword match="ideograph-numeric"/>
+ <keyword match="ideograph-parenthesis"/>
+ <keyword match="ideograph-space"/>
+ <keyword match="keep-all"/>
+ <keyword match="break-all"/>
+ <keyword match="break-word"/>
+ <keyword match="lr-tb"/>
+ <keyword match="tb-rl"/>
+ <keyword match="thin"/>
+ <keyword match="thick"/>
+ <keyword match="inline-block"/>
+ <keyword match="w-resize"/>
+ <keyword match="hand"/>
+ <keyword match="distribute-letter"/>
+ <keyword match="distribute-space"/>
+ <keyword match="whitespace"/>
+ <keyword match="male"/>
+ <keyword match="female"/>
+ <keyword match="child"/>
+ </keywords>
+
+
+ <keywords name="namedcolor" inherits="identifier" innerClass="var" case = "no">
+ <keyword match="aqua"/>
+ <keyword match="black"/>
+ <keyword match="blue"/>
+ <keyword match="fuchsia"/>
+ <keyword match="gray"/>
+ <keyword match="green"/>
+ <keyword match="lime"/>
+ <keyword match="maroon"/>
+ <keyword match="navy"/>
+ <keyword match="olive"/>
+ <keyword match="purple"/>
+ <keyword match="red"/>
+ <keyword match="silver"/>
+ <keyword match="teal"/>
+ <keyword match="white"/>
+ <keyword match="yellow"/>
+ <keyword match="ActiveBorder"/>
+ <keyword match="ActiveCaption"/>
+ <keyword match="AppWorkspace"/>
+ <keyword match="Background"/>
+ <keyword match="ButtonFace"/>
+ <keyword match="ButtonHighlight"/>
+ <keyword match="ButtonShadow"/>
+ <keyword match="ButtonText"/>
+ <keyword match="CaptionText"/>
+ <keyword match="GrayText"/>
+ <keyword match="Highlight"/>
+ <keyword match="HighlightText"/>
+ <keyword match="InactiveBorder"/>
+ <keyword match="InactiveCaption"/>
+ <keyword match="InactiveCaptionText"/>
+ <keyword match="InfoBackground"/>
+ <keyword match="InfoText"/>
+ <keyword match="Menu"/>
+ <keyword match="MenuText"/>
+ <keyword match="Scrollbar"/>
+ <keyword match="ThreeDDarkShadow"/>
+ <keyword match="ThreeDFace"/>
+ <keyword match="ThreeDHighlight"/>
+ <keyword match="ThreeDLightShadow"/>
+ <keyword match="ThreeDShadow"/>
+ <keyword match="Window"/>
+ <keyword match="WindowFrame"/>
+ <keyword match="WindowText"/>
+ </keywords>
+</highlight>
diff --git a/library/Text_Highlighter/diff.xml b/library/Text_Highlighter/diff.xml
new file mode 100644
index 000000000..d088f9257
--- /dev/null
+++ b/library/Text_Highlighter/diff.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- $Id: diff.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="diff" case="yes">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="default" />
+
+ <block name="noNewLine" match="/^\\\sNo\snewline.+$/m" innerClass="special"/>
+
+ <block name="diffSeparator" match="/^\-\-\-$/m" innerClass="code"/>
+
+ <block name="diffCmdLine" match="/^(diff\s+\-|Only\s+|Index).*$/m" innerClass="var"/>
+ <block name="diffFiles" match="/^(\-\-\-|\+\+\+)\s.+$/m" innerClass="reserved"/>
+
+ <block name="contextOrg" match="/^\*.*$/m" innerClass="quotes"/>
+ <block name="contextNew" match="/^\+.*$/m" innerClass="string"/>
+ <block name="contextChg" match="/^!.*$/m" innerClass="inlinedoc"/>
+
+ <block name="defOrg" match="/^\&lt;\s.*$/m" innerClass="quotes"/>
+ <block name="defNew" match="/^\&gt;\s.*$/m" innerClass="string"/>
+ <block name="defChg" match="/^\d+(\,\d+)?[acd]\d+(,\d+)?$/m" innerClass="code"/>
+
+ <block name="uniOrg" match="/^\-.*$/m" innerClass="quotes"/>
+ <block name="uniNew" match="/^\+.*$/m" innerClass="string"/>
+ <block name="uniChg" match="/^@@.+@@$/m" innerClass="code"/>
+
+ <block name="normOrg" match="/^d\d+\s\d+$/m" innerClass="code"/>
+ <region name="normNew" start="/^a\d+\s\d+$/m" end="/(?=^[ad]\d+\s\d+)/m" innerClass="var" delimClass="code"/>
+
+ <region name="edNew" start="/^(\d+)(,\d+)?(a)$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
+ <region name="edChg" start="/^(\d+)(,\d+)?(c)$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
+ <block name="edDel" match="/^(\d+)(,\d+)?(d)$/m" innerClass="code"/>
+
+ <region name="fedNew" start="/^a(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
+ <region name="fedChg" start="/^c(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
+ <block name="fedDel" match="/^d(\d+)(\s\d+)?$/m"
+ innerClass="code"/>
+
+
+</highlight>
diff --git a/library/Text_Highlighter/dtd.xml b/library/Text_Highlighter/dtd.xml
new file mode 100644
index 000000000..18fa07db7
--- /dev/null
+++ b/library/Text_Highlighter/dtd.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!-- $Id: dtd.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="dtd" case="yes">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="redecl" start="\&lt;\!\[" end="\]\]\&gt;" delimClass="brackets"
+ innerClass="code" never-contained="yes">
+ <contains all="yes" />
+ </region>
+
+ <region name="tag" start="\&lt;" end="\&gt;" delimClass="brackets"
+ innerClass="code" >
+ <contains all="yes" />
+ <onlyin region="redecl"/>
+ </region>
+
+ <region name="brackets" start="\(" end="\)" delimClass="brackets"
+ innerClass="code" contained="yes">
+ <onlyin region="tag"/>
+ <onlyin region="brackets"/>
+ <contains block="entity" />
+ <contains block="identifier" />
+ </region>
+
+ <region name="strsingle" start="'" end="'" delimClass="quotes"
+ innerClass="string" contained="yes">
+ <onlyin region="tag"/>
+ <contains block="entity" />
+ </region>
+
+ <region name="strdouble" start="&quot;" end="&quot;" delimClass="quotes"
+ innerClass="string" contained="yes">
+ <onlyin region="tag"/>
+ <contains block="entity" />
+ </region>
+
+ <block name="tagname" match="(?&lt;=\&lt;)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\b"
+ innerClass="var" contained="yes">
+ <onlyin region="tag"/>
+ </block>
+
+ <block name="reserved" match="\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\b"
+ innerClass="reserved" contained="yes">
+ <onlyin region="tag"/>
+ </block>
+
+ <block name="pcdata" match="#PCDATA\b"
+ innerClass="reserved" contained="yes" />
+
+ <block name="entity" match="(\&amp;|\%)[\w\-\.]+;" innerClass="special" />
+
+ <block name="identifier" match="[a-z][a-z\d\-\,:]+"
+ innerClass="identifier" contained="yes" case="no"/>
+
+</highlight>
diff --git a/library/Text_Highlighter/generate b/library/Text_Highlighter/generate
new file mode 100644
index 000000000..4e22e82fd
--- /dev/null
+++ b/library/Text_Highlighter/generate
@@ -0,0 +1,171 @@
+#!@php_bin@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * Console highlighter class generator
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Andrey Demenev <demenev@gmail.com>
+ * @copyright 2004 Andrey Demenev
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+require_once 'Text/Highlighter/Generator.php';
+require_once 'Console/Getopt.php';
+
+$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
+
+if (PEAR::isError($options)) {
+ $message = str_replace('Console_Getopt: ','',$options->message);
+ usage($message);
+}
+
+$source = array();
+$dest = array();
+$dir = '';
+
+$expectp = false;
+$expectx = false;
+$unexpectedx = false;
+$unexpectedp = false;
+$si = $di = 0;
+
+foreach ($options[0] as $option) {
+ switch ($option[0]) {
+ case 'x':
+ case '--xml':
+ $source[$si] = $option[1];
+ if ($si) {
+ $di++;
+ }
+ $si++;
+ if ($expectp) {
+ $unexpectedx = true;
+ }
+ $expectp = true;
+ $expectx = false;
+ break;
+
+ case 'p':
+ case '--php':
+ if ($expectx) {
+ $unexpectedp = true;
+ }
+ $dest[$di] = $option[1];
+ $expectp = false;
+ $expectx = true;
+ break;
+
+ case 'd':
+ case '--dir':
+ $dir = $option[1];
+ break;
+
+ case 'h':
+ case '--help':
+ usage();
+ break;
+ }
+}
+
+
+if ($unexpectedx && !$dir) {
+ usage('Unexpected -x or --xml', STDERR);
+}
+
+if ($unexpectedp) {
+ usage('Unexpected -p or --php', STDERR);
+}
+
+$nsource = count($source);
+$ndest = count($dest);
+
+if (!$nsource && !$ndest) {
+ $source[]='php://stdin';
+ if (!$dir) {
+ $dest[]='php://stdout';
+ } else {
+ $dest[] = null;
+ }
+} elseif ($expectp && !$dir && $nsource > 1) {
+ usage('-x or --xml without following -p or --php', STDERR);
+} elseif ($nsource == 1 && !$ndest && !$dir) {
+ $dest[]='php://stdout';
+}
+
+if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
+ $dir .= DIRECTORY_SEPARATOR;
+}
+
+
+foreach ($source as $i => $xmlfile)
+{
+ $gen = new Text_Highlighter_Generator;
+ $gen->setInputFile($xmlfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+ $gen->generate();
+ if ($gen->hasErrors()) {
+ break;
+ }
+ if (isset($dest[$i])) {
+ $phpfile = $dest[$i];
+ } else {
+ $phpfile = $dir . $gen->language . '.php';
+ }
+ $gen->saveCode($phpfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+}
+if ($gen->hasErrors()) {
+ $errors = $gen->getErrors();
+ foreach ($errors as $error) {
+ fwrite (STDERR, $error . "\n");
+ }
+ exit(1);
+}
+
+function usage($message='', $file=STDOUT)
+{
+ $code = 0;
+ if ($message) {
+ $message .= "\n\n";
+ $code = 1;
+ }
+ $message .= <<<MSG
+Generates a highlighter class from XML source
+Usage:
+generate options
+
+Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+MSG;
+ fwrite ($file, $message);
+ exit($code);
+}
+?>
+
diff --git a/library/Text_Highlighter/generate.bat b/library/Text_Highlighter/generate.bat
new file mode 100644
index 000000000..3960486c1
--- /dev/null
+++ b/library/Text_Highlighter/generate.bat
@@ -0,0 +1,188 @@
+@echo off
+rem vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+
+rem Console highlighter class generator
+
+rem PHP versions 4 and 5
+
+rem LICENSE: This source file is subject to version 3.0 of the PHP license
+rem that is available through the world-wide-web at the following URI:
+rem http://www.php.net/license/3_0.txt. If you did not receive a copy of
+rem the PHP License and are unable to obtain it through the web, please
+rem send a note to license@php.net so we can mail you a copy immediately.
+
+rem @category Text
+rem @package Text_Highlighter
+rem @author Andrey Demenev <demenev@gmail.com>
+rem @copyright 2004 Andrey Demenev
+rem @license http://www.php.net/license/3_0.txt PHP License
+rem @version CVS: $Id: generate.bat,v 1.1 2007-06-03 02:35:28 ssttoo Exp $
+rem @link http://pear.php.net/package/Text_Highlighter
+
+set "MHL_PARAMS="
+:doshift
+set "MHL_PARAMS=%MHL_PARAMS% %1"
+shift
+if -%1- == -- GOTO noshift
+GOTO doshift
+:noshift
+@php_bin@ -q -d output_buffering=1 -d include_path="@php_dir@" @bin_dir@/Text/Highlighter/generate.bat %MHL_PARAMS%
+
+GOTO finish
+<?php
+ob_end_clean();
+
+if (!defined('STDOUT')) {
+ define('STDOUT', fopen('php://stdout', 'wb'));
+ define('STDERR', fopen('php://stderr', 'wb'));
+}
+require_once 'Text/Highlighter/Generator.php';
+require_once 'Console/Getopt.php';
+
+$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
+
+if (PEAR::isError($options)) {
+ $message = str_replace('Console_Getopt: ','',$options->message);
+ usage($message);
+}
+
+$source = array();
+$dest = array();
+$dir = '';
+
+$expectp = false;
+$expectx = false;
+$unexpectedx = false;
+$unexpectedp = false;
+$si = $di = 0;
+
+foreach ($options[0] as $option) {
+ switch ($option[0]) {
+ case 'x':
+ case '--xml':
+ $source[$si] = $option[1];
+ if ($si) {
+ $di++;
+ }
+ $si++;
+ if ($expectp) {
+ $unexpectedx = true;
+ }
+ $expectp = true;
+ $expectx = false;
+ break;
+
+ case 'p':
+ case '--php':
+ if ($expectx) {
+ $unexpectedp = true;
+ }
+ $dest[$di] = $option[1];
+ $expectp = false;
+ $expectx = true;
+ break;
+
+ case 'd':
+ case '--dir':
+ $dir = $option[1];
+ break;
+
+ case 'h':
+ case '--help':
+ usage();
+ break;
+ }
+}
+
+
+if ($unexpectedx && !$dir) {
+ usage('Unexpected -x or --xml', STDERR);
+}
+
+if ($unexpectedp) {
+ usage('Unexpected -p or --php', STDERR);
+}
+
+$nsource = count($source);
+$ndest = count($dest);
+
+if (!$nsource && !$ndest) {
+ $source[]='php://stdin';
+ if (!$dir) {
+ $dest[]='php://stdout';
+ } else {
+ $dest[] = null;
+ }
+} elseif ($expectp && !$dir && $nsource > 1) {
+ usage('-x or --xml without following -p or --php', STDERR);
+} elseif ($nsource == 1 && !$ndest && !$dir) {
+ $dest[]='php://stdout';
+}
+
+if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
+ $dir .= DIRECTORY_SEPARATOR;
+}
+
+
+foreach ($source as $i => $xmlfile)
+{
+ $gen = new Text_Highlighter_Generator;
+ $gen->setInputFile($xmlfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+ $gen->generate();
+ if ($gen->hasErrors()) {
+ break;
+ }
+ if (isset($dest[$i])) {
+ $phpfile = $dest[$i];
+ } else {
+ $phpfile = $dir . $gen->language . '.php';
+ }
+ $gen->saveCode($phpfile);
+ if ($gen->hasErrors()) {
+ break;
+ }
+}
+if ($gen->hasErrors()) {
+ $errors = $gen->getErrors();
+ foreach ($errors as $error) {
+ fwrite (STDERR, $error . "\n");
+ }
+ exit(1);
+}
+
+exit(0);
+
+function usage($message='', $file=STDOUT)
+{
+ $code = 0;
+ if ($message) {
+ $message .= "\n\n";
+ $code = 1;
+ }
+ $message .= <<<MSG
+Generates a highlighter class from XML source
+Usage:
+generate options
+
+Options:
+ -x filename, --xml=filename
+ source XML file. Multiple input files can be specified, in which
+ case each -x option must be followed by -p unless -d is specified
+ Defaults to stdin
+ -p filename, --php=filename
+ destination PHP file. Defaults to stdout. If specied multiple times,
+ each -p must follow -x
+ -d dirname, --dir=dirname
+ Default destination directory. File names will be taken from XML input
+ ("lang" attribute of <highlight> tag)
+ -h, --help
+ This help
+MSG;
+ fwrite ($file, $message);
+ exit($code);
+}
+?>
+:finish
diff --git a/library/Text_Highlighter/html.xml b/library/Text_Highlighter/html.xml
new file mode 100644
index 000000000..58d51fc5b
--- /dev/null
+++ b/library/Text_Highlighter/html.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!-- $Id: html.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="html" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="tag" delimClass="brackets" innerClass="code" start="\&lt;[\?\/]?" end="[\/\?]?\&gt;">
+ <contains block="tagname"/>
+ <contains region="param"/>
+ <contains block="paramname"/>
+ </region>
+
+ <block name="tagname" match="(?&lt;=[\&lt;\/?])[\w\-\:]+" innerClass="reserved" contained="yes"/>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes"/>
+
+ <block name="entity" match="(&amp;)[\w\-\.]+;" innerClass="special" />
+
+ <region name="param" start="&quot;" end="&quot;" delimClass="quotes" innerClass="string" contained="yes">
+ <contains block="entity"/>
+ </region>
+
+</highlight>
diff --git a/library/Text_Highlighter/java.xml b/library/Text_Highlighter/java.xml
new file mode 100644
index 000000000..12052b5db
--- /dev/null
+++ b/library/Text_Highlighter/java.xml
@@ -0,0 +1,2824 @@
+<?xml version="1.0"?>
+<!-- $Id: java.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="java">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/">
+ <contains block="javadoc"/>
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;" />
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+
+ <region name="comment" start="\/\/" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" />
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" />
+ <block name="octinteger" match="0[0-7]+" innerClass="number" />
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" />
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="javadoc" match="\s@\w+\s" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\bnote:" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+\s*:.*\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="types" inherits="identifier" innerClass="types" case = "yes">
+ <keyword match="boolean" />
+ <keyword match="byte" />
+ <keyword match="char" />
+ <keyword match="const" />
+ <keyword match="double" />
+ <keyword match="final" />
+ <keyword match="float" />
+ <keyword match="int" />
+ <keyword match="long" />
+ <keyword match="short" />
+ <keyword match="static" />
+ <keyword match="void" />
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
+ <keyword match="import"/>
+ <keyword match="package"/>
+ <keyword match="abstract" />
+ <keyword match="break" />
+ <keyword match="case" />
+ <keyword match="catch" />
+ <keyword match="class" />
+ <keyword match="continue" />
+ <keyword match="default" />
+ <keyword match="do" />
+ <keyword match="else" />
+ <keyword match="extends" />
+ <keyword match="false" />
+ <keyword match="finally" />
+ <keyword match="for" />
+ <keyword match="goto" />
+ <keyword match="if" />
+ <keyword match="implements" />
+ <keyword match="instanceof" />
+ <keyword match="interface" />
+ <keyword match="native" />
+ <keyword match="new" />
+ <keyword match="null" />
+ <keyword match="private" />
+ <keyword match="protected" />
+ <keyword match="public" />
+ <keyword match="return" />
+ <keyword match="super" />
+ <keyword match="strictfp" />
+ <keyword match="switch" />
+ <keyword match="synchronized" />
+ <keyword match="this" />
+ <keyword match="throws" />
+ <keyword match="throw" />
+ <keyword match="transient" />
+ <keyword match="true" />
+ <keyword match="try" />
+ <keyword match="volatile" />
+ <keyword match="while" />
+ </keywords>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case = "yes" ifdef="java.builtins">
+ <keyword match="AbstractAction" />
+ <keyword match="AbstractBorder" />
+ <keyword match="AbstractButton" />
+ <keyword match="AbstractCellEditor" />
+ <keyword match="AbstractCollection" />
+ <keyword match="AbstractColorChooserPanel" />
+ <keyword match="AbstractDocument" />
+ <keyword match="AbstractInterruptibleChannel" />
+ <keyword match="AbstractLayoutCache" />
+ <keyword match="AbstractList" />
+ <keyword match="AbstractListModel" />
+ <keyword match="AbstractMap" />
+ <keyword match="AbstractMethodError" />
+ <keyword match="AbstractPreferences" />
+ <keyword match="AbstractSelectableChannel" />
+ <keyword match="AbstractSelectionKey" />
+ <keyword match="AbstractSelector" />
+ <keyword match="AbstractSequentialList" />
+ <keyword match="AbstractSet" />
+ <keyword match="AbstractSpinnerModel" />
+ <keyword match="AbstractTableModel" />
+ <keyword match="AbstractUndoableEdit" />
+ <keyword match="AbstractWriter" />
+ <keyword match="AccessControlContext" />
+ <keyword match="AccessControlException" />
+ <keyword match="AccessController" />
+ <keyword match="AccessException" />
+ <keyword match="Accessible" />
+ <keyword match="AccessibleAction" />
+ <keyword match="AccessibleBundle" />
+ <keyword match="AccessibleComponent" />
+ <keyword match="AccessibleContext" />
+ <keyword match="AccessibleEditableText" />
+ <keyword match="AccessibleExtendedComponent" />
+ <keyword match="AccessibleExtendedTable" />
+ <keyword match="AccessibleHyperlink" />
+ <keyword match="AccessibleHypertext" />
+ <keyword match="AccessibleIcon" />
+ <keyword match="AccessibleKeyBinding" />
+ <keyword match="AccessibleObject" />
+ <keyword match="AccessibleRelation" />
+ <keyword match="AccessibleRelationSet" />
+ <keyword match="AccessibleResourceBundle" />
+ <keyword match="AccessibleRole" />
+ <keyword match="AccessibleSelection" />
+ <keyword match="AccessibleState" />
+ <keyword match="AccessibleStateSet" />
+ <keyword match="AccessibleTable" />
+ <keyword match="AccessibleTableModelChange" />
+ <keyword match="AccessibleText" />
+ <keyword match="AccessibleValue" />
+ <keyword match="AccountExpiredException" />
+ <keyword match="Acl" />
+ <keyword match="AclEntry" />
+ <keyword match="AclNotFoundException" />
+ <keyword match="Action" />
+ <keyword match="ActionEvent" />
+ <keyword match="ActionListener" />
+ <keyword match="ActionMap" />
+ <keyword match="ActionMapUIResource" />
+ <keyword match="Activatable" />
+ <keyword match="ActivateFailedException" />
+ <keyword match="ActivationDesc" />
+ <keyword match="ActivationException" />
+ <keyword match="ActivationGroup" />
+ <keyword match="ActivationGroup_Stub" />
+ <keyword match="ActivationGroupDesc" />
+ <keyword match="ActivationGroupID" />
+ <keyword match="ActivationID" />
+ <keyword match="ActivationInstantiator" />
+ <keyword match="ActivationMonitor" />
+ <keyword match="ActivationSystem" />
+ <keyword match="Activator" />
+ <keyword match="ActiveEvent" />
+ <keyword match="AdapterActivator" />
+ <keyword match="AdapterActivatorOperations" />
+ <keyword match="AdapterAlreadyExists" />
+ <keyword match="AdapterAlreadyExistsHelper" />
+ <keyword match="AdapterInactive" />
+ <keyword match="AdapterInactiveHelper" />
+ <keyword match="AdapterNonExistent" />
+ <keyword match="AdapterNonExistentHelper" />
+ <keyword match="AddressHelper" />
+ <keyword match="Adjustable" />
+ <keyword match="AdjustmentEvent" />
+ <keyword match="AdjustmentListener" />
+ <keyword match="Adler32" />
+ <keyword match="AffineTransform" />
+ <keyword match="AffineTransformOp" />
+ <keyword match="AlgorithmParameterGenerator" />
+ <keyword match="AlgorithmParameterGeneratorSpi" />
+ <keyword match="AlgorithmParameters" />
+ <keyword match="AlgorithmParameterSpec" />
+ <keyword match="AlgorithmParametersSpi" />
+ <keyword match="AllPermission" />
+ <keyword match="AlphaComposite" />
+ <keyword match="AlreadyBound" />
+ <keyword match="AlreadyBoundException" />
+ <keyword match="AlreadyBoundHelper" />
+ <keyword match="AlreadyBoundHolder" />
+ <keyword match="AlreadyConnectedException" />
+ <keyword match="AncestorEvent" />
+ <keyword match="AncestorListener" />
+ <keyword match="Annotation" />
+ <keyword match="Any" />
+ <keyword match="AnyHolder" />
+ <keyword match="AnySeqHelper" />
+ <keyword match="AnySeqHelper" />
+ <keyword match="AnySeqHolder" />
+ <keyword match="AppConfigurationEntry" />
+ <keyword match="Applet" />
+ <keyword match="AppletContext" />
+ <keyword match="AppletInitializer" />
+ <keyword match="AppletStub" />
+ <keyword match="ApplicationException" />
+ <keyword match="Arc2D" />
+ <keyword match="Area" />
+ <keyword match="AreaAveragingScaleFilter" />
+ <keyword match="ARG_IN" />
+ <keyword match="ARG_INOUT" />
+ <keyword match="ARG_OUT" />
+ <keyword match="ArithmeticException" />
+ <keyword match="Array" />
+ <keyword match="Array" />
+ <keyword match="ArrayIndexOutOfBoundsException" />
+ <keyword match="ArrayList" />
+ <keyword match="Arrays" />
+ <keyword match="ArrayStoreException" />
+ <keyword match="AssertionError" />
+ <keyword match="AsyncBoxView" />
+ <keyword match="AsynchronousCloseException" />
+ <keyword match="Attr" />
+ <keyword match="Attribute" />
+ <keyword match="Attribute" />
+ <keyword match="AttributedCharacterIterator" />
+ <keyword match="AttributedString" />
+ <keyword match="AttributeException" />
+ <keyword match="AttributeInUseException" />
+ <keyword match="AttributeList" />
+ <keyword match="AttributeList" />
+ <keyword match="AttributeListImpl" />
+ <keyword match="AttributeModificationException" />
+ <keyword match="Attributes" />
+ <keyword match="Attributes" />
+ <keyword match="Attributes" />
+ <keyword match="AttributeSet" />
+ <keyword match="AttributeSet" />
+ <keyword match="AttributeSetUtilities" />
+ <keyword match="AttributesImpl" />
+ <keyword match="AudioClip" />
+ <keyword match="AudioFileFormat" />
+ <keyword match="AudioFileReader" />
+ <keyword match="AudioFileWriter" />
+ <keyword match="AudioFormat" />
+ <keyword match="AudioInputStream" />
+ <keyword match="AudioPermission" />
+ <keyword match="AudioSystem" />
+ <keyword match="AuthenticationException" />
+ <keyword match="AuthenticationNotSupportedException" />
+ <keyword match="Authenticator" />
+ <keyword match="AuthPermission" />
+ <keyword match="Autoscroll" />
+ <keyword match="AWTError" />
+ <keyword match="AWTEvent" />
+ <keyword match="AWTEventListener" />
+ <keyword match="AWTEventListenerProxy" />
+ <keyword match="AWTEventMulticaster" />
+ <keyword match="AWTException" />
+ <keyword match="AWTKeyStroke" />
+ <keyword match="AWTPermission" />
+ <keyword match="BackingStoreException" />
+ <keyword match="BAD_CONTEXT" />
+ <keyword match="BAD_INV_ORDER" />
+ <keyword match="BAD_OPERATION" />
+ <keyword match="BAD_PARAM" />
+ <keyword match="BAD_POLICY" />
+ <keyword match="BAD_POLICY_TYPE" />
+ <keyword match="BAD_POLICY_VALUE" />
+ <keyword match="BAD_TYPECODE" />
+ <keyword match="BadKind" />
+ <keyword match="BadLocationException" />
+ <keyword match="BadPaddingException" />
+ <keyword match="BandCombineOp" />
+ <keyword match="BandedSampleModel" />
+ <keyword match="BasicArrowButton" />
+ <keyword match="BasicAttribute" />
+ <keyword match="BasicAttributes" />
+ <keyword match="BasicBorders" />
+ <keyword match="BasicButtonListener" />
+ <keyword match="BasicButtonUI" />
+ <keyword match="BasicCheckBoxMenuItemUI" />
+ <keyword match="BasicCheckBoxUI" />
+ <keyword match="BasicColorChooserUI" />
+ <keyword match="BasicComboBoxEditor" />
+ <keyword match="BasicComboBoxRenderer" />
+ <keyword match="BasicComboBoxUI" />
+ <keyword match="BasicComboPopup" />
+ <keyword match="BasicDesktopIconUI" />
+ <keyword match="BasicDesktopPaneUI" />
+ <keyword match="BasicDirectoryModel" />
+ <keyword match="BasicEditorPaneUI" />
+ <keyword match="BasicFileChooserUI" />
+ <keyword match="BasicFormattedTextFieldUI" />
+ <keyword match="BasicGraphicsUtils" />
+ <keyword match="BasicHTML" />
+ <keyword match="BasicIconFactory" />
+ <keyword match="BasicInternalFrameTitlePane" />
+ <keyword match="BasicInternalFrameUI" />
+ <keyword match="BasicLabelUI" />
+ <keyword match="BasicListUI" />
+ <keyword match="BasicLookAndFeel" />
+ <keyword match="BasicMenuBarUI" />
+ <keyword match="BasicMenuItemUI" />
+ <keyword match="BasicMenuUI" />
+ <keyword match="BasicOptionPaneUI" />
+ <keyword match="BasicPanelUI" />
+ <keyword match="BasicPasswordFieldUI" />
+ <keyword match="BasicPermission" />
+ <keyword match="BasicPopupMenuSeparatorUI" />
+ <keyword match="BasicPopupMenuUI" />
+ <keyword match="BasicProgressBarUI" />
+ <keyword match="BasicRadioButtonMenuItemUI" />
+ <keyword match="BasicRadioButtonUI" />
+ <keyword match="BasicRootPaneUI" />
+ <keyword match="BasicScrollBarUI" />
+ <keyword match="BasicScrollPaneUI" />
+ <keyword match="BasicSeparatorUI" />
+ <keyword match="BasicSliderUI" />
+ <keyword match="BasicSpinnerUI" />
+ <keyword match="BasicSplitPaneDivider" />
+ <keyword match="BasicSplitPaneUI" />
+ <keyword match="BasicStroke" />
+ <keyword match="BasicTabbedPaneUI" />
+ <keyword match="BasicTableHeaderUI" />
+ <keyword match="BasicTableUI" />
+ <keyword match="BasicTextAreaUI" />
+ <keyword match="BasicTextFieldUI" />
+ <keyword match="BasicTextPaneUI" />
+ <keyword match="BasicTextUI" />
+ <keyword match="BasicToggleButtonUI" />
+ <keyword match="BasicToolBarSeparatorUI" />
+ <keyword match="BasicToolBarUI" />
+ <keyword match="BasicToolTipUI" />
+ <keyword match="BasicTreeUI" />
+ <keyword match="BasicViewportUI" />
+ <keyword match="BatchUpdateException" />
+ <keyword match="BeanContext" />
+ <keyword match="BeanContextChild" />
+ <keyword match="BeanContextChildComponentProxy" />
+ <keyword match="BeanContextChildSupport" />
+ <keyword match="BeanContextContainerProxy" />
+ <keyword match="BeanContextEvent" />
+ <keyword match="BeanContextMembershipEvent" />
+ <keyword match="BeanContextMembershipListener" />
+ <keyword match="BeanContextProxy" />
+ <keyword match="BeanContextServiceAvailableEvent" />
+ <keyword match="BeanContextServiceProvider" />
+ <keyword match="BeanContextServiceProviderBeanInfo" />
+ <keyword match="BeanContextServiceRevokedEvent" />
+ <keyword match="BeanContextServiceRevokedListener" />
+ <keyword match="BeanContextServices" />
+ <keyword match="BeanContextServicesListener" />
+ <keyword match="BeanContextServicesSupport" />
+ <keyword match="BeanContextSupport" />
+ <keyword match="BeanDescriptor" />
+ <keyword match="BeanInfo" />
+ <keyword match="Beans" />
+ <keyword match="BevelBorder" />
+ <keyword match="Bidi" />
+ <keyword match="BigDecimal" />
+ <keyword match="BigInteger" />
+ <keyword match="BinaryRefAddr" />
+ <keyword match="BindException" />
+ <keyword match="Binding" />
+ <keyword match="Binding" />
+ <keyword match="BindingHelper" />
+ <keyword match="BindingHolder" />
+ <keyword match="BindingIterator" />
+ <keyword match="BindingIteratorHelper" />
+ <keyword match="BindingIteratorHolder" />
+ <keyword match="BindingIteratorOperations" />
+ <keyword match="BindingIteratorPOA" />
+ <keyword match="BindingListHelper" />
+ <keyword match="BindingListHolder" />
+ <keyword match="BindingType" />
+ <keyword match="BindingTypeHelper" />
+ <keyword match="BindingTypeHolder" />
+ <keyword match="BitSet" />
+ <keyword match="Blob" />
+ <keyword match="BlockView" />
+ <keyword match="Book" />
+ <keyword match="Boolean" />
+ <keyword match="BooleanControl" />
+ <keyword match="BooleanHolder" />
+ <keyword match="BooleanSeqHelper" />
+ <keyword match="BooleanSeqHolder" />
+ <keyword match="Border" />
+ <keyword match="BorderFactory" />
+ <keyword match="BorderLayout" />
+ <keyword match="BorderUIResource" />
+ <keyword match="BoundedRangeModel" />
+ <keyword match="Bounds" />
+ <keyword match="Bounds" />
+ <keyword match="Box" />
+ <keyword match="BoxedValueHelper" />
+ <keyword match="BoxLayout" />
+ <keyword match="BoxView" />
+ <keyword match="BreakIterator" />
+ <keyword match="Buffer" />
+ <keyword match="BufferCapabilities" />
+ <keyword match="BufferedImage" />
+ <keyword match="BufferedImageFilter" />
+ <keyword match="BufferedImageOp" />
+ <keyword match="BufferedInputStream" />
+ <keyword match="BufferedOutputStream" />
+ <keyword match="BufferedReader" />
+ <keyword match="BufferedWriter" />
+ <keyword match="BufferOverflowException" />
+ <keyword match="BufferStrategy" />
+ <keyword match="BufferUnderflowException" />
+ <keyword match="Button" />
+ <keyword match="ButtonGroup" />
+ <keyword match="ButtonModel" />
+ <keyword match="ButtonUI" />
+ <keyword match="Byte" />
+ <keyword match="ByteArrayInputStream" />
+ <keyword match="ByteArrayOutputStream" />
+ <keyword match="ByteBuffer" />
+ <keyword match="ByteChannel" />
+ <keyword match="ByteHolder" />
+ <keyword match="ByteLookupTable" />
+ <keyword match="ByteOrder" />
+ <keyword match="Calendar" />
+ <keyword match="CallableStatement" />
+ <keyword match="Callback" />
+ <keyword match="CallbackHandler" />
+ <keyword match="CancelablePrintJob" />
+ <keyword match="CancelledKeyException" />
+ <keyword match="CannotProceed" />
+ <keyword match="CannotProceedException" />
+ <keyword match="CannotProceedHelper" />
+ <keyword match="CannotProceedHolder" />
+ <keyword match="CannotRedoException" />
+ <keyword match="CannotUndoException" />
+ <keyword match="Canvas" />
+ <keyword match="CardLayout" />
+ <keyword match="Caret" />
+ <keyword match="CaretEvent" />
+ <keyword match="CaretListener" />
+ <keyword match="CDATASection" />
+ <keyword match="CellEditor" />
+ <keyword match="CellEditorListener" />
+ <keyword match="CellRendererPane" />
+ <keyword match="Certificate" />
+ <keyword match="Certificate" />
+ <keyword match="Certificate" />
+
+ <keyword match="CertificateEncodingException" />
+ <keyword match="CertificateEncodingException" />
+ <keyword match="CertificateException" />
+ <keyword match="CertificateException" />
+ <keyword match="CertificateExpiredException" />
+ <keyword match="CertificateExpiredException" />
+ <keyword match="CertificateFactory" />
+ <keyword match="CertificateFactorySpi" />
+ <keyword match="CertificateNotYetValidException" />
+ <keyword match="CertificateNotYetValidException" />
+ <keyword match="CertificateParsingException" />
+ <keyword match="CertificateParsingException" />
+ <keyword match="CertPath" />
+
+ <keyword match="CertPathBuilder" />
+ <keyword match="CertPathBuilderException" />
+ <keyword match="CertPathBuilderResult" />
+ <keyword match="CertPathBuilderSpi" />
+ <keyword match="CertPathParameters" />
+ <keyword match="CertPathValidator" />
+ <keyword match="CertPathValidatorException" />
+ <keyword match="CertPathValidatorResult" />
+ <keyword match="CertPathValidatorSpi" />
+ <keyword match="CertSelector" />
+ <keyword match="CertStore" />
+ <keyword match="CertStoreException" />
+ <keyword match="CertStoreParameters" />
+ <keyword match="CertStoreSpi" />
+ <keyword match="ChangedCharSetException" />
+ <keyword match="ChangeEvent" />
+ <keyword match="ChangeListener" />
+ <keyword match="Channel" />
+ <keyword match="ChannelBinding" />
+ <keyword match="Channels" />
+ <keyword match="Character" />
+
+
+ <keyword match="CharacterCodingException" />
+ <keyword match="CharacterData" />
+ <keyword match="CharacterIterator" />
+ <keyword match="CharArrayReader" />
+ <keyword match="CharArrayWriter" />
+ <keyword match="CharBuffer" />
+ <keyword match="CharConversionException" />
+ <keyword match="CharHolder" />
+ <keyword match="CharSeqHelper" />
+ <keyword match="CharSeqHolder" />
+ <keyword match="CharSequence" />
+ <keyword match="Charset" />
+ <keyword match="CharsetDecoder" />
+ <keyword match="CharsetEncoder" />
+ <keyword match="CharsetProvider" />
+ <keyword match="Checkbox" />
+ <keyword match="CheckboxGroup" />
+ <keyword match="CheckboxMenuItem" />
+ <keyword match="CheckedInputStream" />
+ <keyword match="CheckedOutputStream" />
+ <keyword match="Checksum" />
+ <keyword match="Choice" />
+ <keyword match="ChoiceCallback" />
+ <keyword match="ChoiceFormat" />
+ <keyword match="Chromaticity" />
+ <keyword match="Cipher" />
+ <keyword match="CipherInputStream" />
+ <keyword match="CipherOutputStream" />
+ <keyword match="CipherSpi" />
+ <keyword match="Class" />
+ <keyword match="ClassCastException" />
+ <keyword match="ClassCircularityError" />
+ <keyword match="ClassDesc" />
+ <keyword match="ClassFormatError" />
+ <keyword match="ClassLoader" />
+ <keyword match="ClassNotFoundException" />
+ <keyword match="ClientRequestInfo" />
+ <keyword match="ClientRequestInfoOperations" />
+ <keyword match="ClientRequestInterceptor" />
+ <keyword match="ClientRequestInterceptorOperations" />
+ <keyword match="Clip" />
+ <keyword match="Clipboard" />
+ <keyword match="ClipboardOwner" />
+ <keyword match="Clob" />
+ <keyword match="Cloneable" />
+ <keyword match="CloneNotSupportedException" />
+ <keyword match="ClosedByInterruptException" />
+ <keyword match="ClosedChannelException" />
+ <keyword match="ClosedSelectorException" />
+ <keyword match="CMMException" />
+ <keyword match="Codec" />
+ <keyword match="CodecFactory" />
+ <keyword match="CodecFactoryHelper" />
+ <keyword match="CodecFactoryOperations" />
+ <keyword match="CodecOperations" />
+ <keyword match="CoderMalfunctionError" />
+ <keyword match="CoderResult" />
+ <keyword match="CodeSets" />
+ <keyword match="CodeSource" />
+ <keyword match="CodingErrorAction" />
+ <keyword match="CollationElementIterator" />
+ <keyword match="CollationKey" />
+ <keyword match="Collator" />
+ <keyword match="Collection" />
+ <keyword match="CollectionCertStoreParameters" />
+ <keyword match="Collections" />
+ <keyword match="Color" />
+ <keyword match="ColorChooserComponentFactory" />
+ <keyword match="ColorChooserUI" />
+ <keyword match="ColorConvertOp" />
+ <keyword match="ColorModel" />
+ <keyword match="ColorSelectionModel" />
+ <keyword match="ColorSpace" />
+ <keyword match="ColorSupported" />
+ <keyword match="ColorUIResource" />
+ <keyword match="ComboBoxEditor" />
+ <keyword match="ComboBoxModel" />
+ <keyword match="ComboBoxUI" />
+ <keyword match="ComboPopup" />
+ <keyword match="COMM_FAILURE" />
+ <keyword match="Comment" />
+ <keyword match="CommunicationException" />
+ <keyword match="Comparable" />
+ <keyword match="Comparator" />
+ <keyword match="Compiler" />
+ <keyword match="CompletionStatus" />
+ <keyword match="CompletionStatusHelper" />
+ <keyword match="Component" />
+ <keyword match="ComponentAdapter" />
+ <keyword match="ComponentColorModel" />
+ <keyword match="ComponentEvent" />
+ <keyword match="ComponentIdHelper" />
+ <keyword match="ComponentInputMap" />
+ <keyword match="ComponentInputMapUIResource" />
+ <keyword match="ComponentListener" />
+ <keyword match="ComponentOrientation" />
+ <keyword match="ComponentSampleModel" />
+ <keyword match="ComponentUI" />
+ <keyword match="ComponentView" />
+ <keyword match="Composite" />
+ <keyword match="CompositeContext" />
+ <keyword match="CompositeName" />
+ <keyword match="CompositeView" />
+ <keyword match="CompoundBorder" />
+ <keyword match="CompoundControl" />
+
+ <keyword match="CompoundEdit" />
+ <keyword match="CompoundName" />
+ <keyword match="Compression" />
+ <keyword match="ConcurrentModificationException" />
+ <keyword match="Configuration" />
+ <keyword match="ConfigurationException" />
+ <keyword match="ConfirmationCallback" />
+ <keyword match="ConnectException" />
+ <keyword match="ConnectException" />
+ <keyword match="ConnectIOException" />
+ <keyword match="Connection" />
+ <keyword match="ConnectionEvent" />
+ <keyword match="ConnectionEventListener" />
+ <keyword match="ConnectionPendingException" />
+ <keyword match="ConnectionPoolDataSource" />
+ <keyword match="ConsoleHandler" />
+ <keyword match="Constructor" />
+ <keyword match="Container" />
+ <keyword match="ContainerAdapter" />
+ <keyword match="ContainerEvent" />
+ <keyword match="ContainerListener" />
+ <keyword match="ContainerOrderFocusTraversalPolicy" />
+ <keyword match="ContentHandler" />
+ <keyword match="ContentHandler" />
+ <keyword match="ContentHandlerFactory" />
+ <keyword match="ContentModel" />
+ <keyword match="Context" />
+ <keyword match="Context" />
+ <keyword match="ContextList" />
+ <keyword match="ContextNotEmptyException" />
+ <keyword match="ContextualRenderedImageFactory" />
+ <keyword match="Control" />
+ <keyword match="Control" />
+
+ <keyword match="ControlFactory" />
+ <keyword match="ControllerEventListener" />
+ <keyword match="ConvolveOp" />
+ <keyword match="CookieHolder" />
+ <keyword match="Copies" />
+ <keyword match="CopiesSupported" />
+ <keyword match="CRC32" />
+ <keyword match="CredentialExpiredException" />
+ <keyword match="CRL" />
+ <keyword match="CRLException" />
+ <keyword match="CRLSelector" />
+ <keyword match="CropImageFilter" />
+ <keyword match="CSS" />
+
+ <keyword match="CTX_RESTRICT_SCOPE" />
+ <keyword match="CubicCurve2D" />
+
+
+ <keyword match="Currency" />
+ <keyword match="Current" />
+ <keyword match="Current" />
+ <keyword match="Current" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHelper" />
+ <keyword match="CurrentHolder" />
+ <keyword match="CurrentOperations" />
+ <keyword match="CurrentOperations" />
+ <keyword match="CurrentOperations" />
+ <keyword match="Cursor" />
+ <keyword match="Customizer" />
+ <keyword match="CustomMarshal" />
+ <keyword match="CustomValue" />
+ <keyword match="DATA_CONVERSION" />
+ <keyword match="DatabaseMetaData" />
+ <keyword match="DataBuffer" />
+ <keyword match="DataBufferByte" />
+ <keyword match="DataBufferDouble" />
+ <keyword match="DataBufferFloat" />
+ <keyword match="DataBufferInt" />
+ <keyword match="DataBufferShort" />
+ <keyword match="DataBufferUShort" />
+ <keyword match="DataFlavor" />
+ <keyword match="DataFormatException" />
+ <keyword match="DatagramChannel" />
+ <keyword match="DatagramPacket" />
+ <keyword match="DatagramSocket" />
+ <keyword match="DatagramSocketImpl" />
+ <keyword match="DatagramSocketImplFactory" />
+ <keyword match="DataInput" />
+ <keyword match="DataInputStream" />
+ <keyword match="DataInputStream" />
+ <keyword match="DataLine" />
+
+ <keyword match="DataOutput" />
+ <keyword match="DataOutputStream" />
+ <keyword match="DataOutputStream" />
+ <keyword match="DataSource" />
+ <keyword match="DataTruncation" />
+ <keyword match="Date" />
+ <keyword match="Date" />
+ <keyword match="DateFormat" />
+
+ <keyword match="DateFormatSymbols" />
+ <keyword match="DateFormatter" />
+ <keyword match="DateTimeAtCompleted" />
+ <keyword match="DateTimeAtCreation" />
+ <keyword match="DateTimeAtProcessing" />
+ <keyword match="DateTimeSyntax" />
+ <keyword match="DebugGraphics" />
+ <keyword match="DecimalFormat" />
+ <keyword match="DecimalFormatSymbols" />
+ <keyword match="DeclHandler" />
+ <keyword match="DefaultBoundedRangeModel" />
+ <keyword match="DefaultButtonModel" />
+ <keyword match="DefaultCaret" />
+ <keyword match="DefaultCellEditor" />
+ <keyword match="DefaultColorSelectionModel" />
+ <keyword match="DefaultComboBoxModel" />
+ <keyword match="DefaultDesktopManager" />
+ <keyword match="DefaultEditorKit" />
+
+
+
+
+
+
+
+
+ <keyword match="DefaultFocusManager" />
+ <keyword match="DefaultFocusTraversalPolicy" />
+ <keyword match="DefaultFormatter" />
+ <keyword match="DefaultFormatterFactory" />
+ <keyword match="DefaultHandler" />
+ <keyword match="DefaultHighlighter" />
+
+ <keyword match="DefaultKeyboardFocusManager" />
+ <keyword match="DefaultListCellRenderer" />
+
+ <keyword match="DefaultListModel" />
+ <keyword match="DefaultListSelectionModel" />
+ <keyword match="DefaultMenuLayout" />
+ <keyword match="DefaultMetalTheme" />
+ <keyword match="DefaultMutableTreeNode" />
+ <keyword match="DefaultPersistenceDelegate" />
+ <keyword match="DefaultSingleSelectionModel" />
+ <keyword match="DefaultStyledDocument" />
+
+
+ <keyword match="DefaultTableCellRenderer" />
+
+ <keyword match="DefaultTableColumnModel" />
+ <keyword match="DefaultTableModel" />
+ <keyword match="DefaultTextUI" />
+ <keyword match="DefaultTreeCellEditor" />
+ <keyword match="DefaultTreeCellRenderer" />
+ <keyword match="DefaultTreeModel" />
+ <keyword match="DefaultTreeSelectionModel" />
+ <keyword match="DefinitionKind" />
+ <keyword match="DefinitionKindHelper" />
+ <keyword match="Deflater" />
+ <keyword match="DeflaterOutputStream" />
+ <keyword match="Delegate" />
+ <keyword match="Delegate" />
+ <keyword match="Delegate" />
+ <keyword match="DelegationPermission" />
+ <keyword match="DESedeKeySpec" />
+ <keyword match="DesignMode" />
+ <keyword match="DESKeySpec" />
+ <keyword match="DesktopIconUI" />
+ <keyword match="DesktopManager" />
+ <keyword match="DesktopPaneUI" />
+ <keyword match="Destination" />
+ <keyword match="Destroyable" />
+ <keyword match="DestroyFailedException" />
+ <keyword match="DGC" />
+ <keyword match="DHGenParameterSpec" />
+ <keyword match="DHKey" />
+ <keyword match="DHParameterSpec" />
+ <keyword match="DHPrivateKey" />
+ <keyword match="DHPrivateKeySpec" />
+ <keyword match="DHPublicKey" />
+ <keyword match="DHPublicKeySpec" />
+ <keyword match="Dialog" />
+ <keyword match="Dictionary" />
+ <keyword match="DigestException" />
+ <keyword match="DigestInputStream" />
+ <keyword match="DigestOutputStream" />
+ <keyword match="Dimension" />
+ <keyword match="Dimension2D" />
+ <keyword match="DimensionUIResource" />
+ <keyword match="DirContext" />
+ <keyword match="DirectColorModel" />
+ <keyword match="DirectoryManager" />
+ <keyword match="DirObjectFactory" />
+ <keyword match="DirStateFactory" />
+
+ <keyword match="DisplayMode" />
+ <keyword match="DnDConstants" />
+ <keyword match="Doc" />
+ <keyword match="DocAttribute" />
+ <keyword match="DocAttributeSet" />
+ <keyword match="DocFlavor" />
+
+
+
+
+
+
+
+ <keyword match="DocPrintJob" />
+ <keyword match="Document" />
+ <keyword match="Document" />
+ <keyword match="DocumentBuilder" />
+ <keyword match="DocumentBuilderFactory" />
+ <keyword match="DocumentEvent" />
+
+
+ <keyword match="DocumentFilter" />
+
+ <keyword match="DocumentFragment" />
+ <keyword match="DocumentHandler" />
+ <keyword match="DocumentListener" />
+ <keyword match="DocumentName" />
+ <keyword match="DocumentParser" />
+ <keyword match="DocumentType" />
+ <keyword match="DomainCombiner" />
+ <keyword match="DomainManager" />
+ <keyword match="DomainManagerOperations" />
+ <keyword match="DOMException" />
+ <keyword match="DOMImplementation" />
+ <keyword match="DOMLocator" />
+ <keyword match="DOMResult" />
+ <keyword match="DOMSource" />
+ <keyword match="Double" />
+ <keyword match="DoubleBuffer" />
+ <keyword match="DoubleHolder" />
+ <keyword match="DoubleSeqHelper" />
+ <keyword match="DoubleSeqHolder" />
+ <keyword match="DragGestureEvent" />
+ <keyword match="DragGestureListener" />
+ <keyword match="DragGestureRecognizer" />
+ <keyword match="DragSource" />
+ <keyword match="DragSourceAdapter" />
+ <keyword match="DragSourceContext" />
+ <keyword match="DragSourceDragEvent" />
+ <keyword match="DragSourceDropEvent" />
+ <keyword match="DragSourceEvent" />
+ <keyword match="DragSourceListener" />
+ <keyword match="DragSourceMotionListener" />
+ <keyword match="Driver" />
+ <keyword match="DriverManager" />
+ <keyword match="DriverPropertyInfo" />
+ <keyword match="DropTarget" />
+
+ <keyword match="DropTargetAdapter" />
+ <keyword match="DropTargetContext" />
+ <keyword match="DropTargetDragEvent" />
+ <keyword match="DropTargetDropEvent" />
+ <keyword match="DropTargetEvent" />
+ <keyword match="DropTargetListener" />
+ <keyword match="DSAKey" />
+ <keyword match="DSAKeyPairGenerator" />
+ <keyword match="DSAParameterSpec" />
+ <keyword match="DSAParams" />
+ <keyword match="DSAPrivateKey" />
+ <keyword match="DSAPrivateKeySpec" />
+ <keyword match="DSAPublicKey" />
+ <keyword match="DSAPublicKeySpec" />
+ <keyword match="DTD" />
+ <keyword match="DTDConstants" />
+ <keyword match="DTDHandler" />
+ <keyword match="DuplicateName" />
+ <keyword match="DuplicateNameHelper" />
+ <keyword match="DynamicImplementation" />
+ <keyword match="DynamicImplementation" />
+ <keyword match="DynAny" />
+ <keyword match="DynAny" />
+ <keyword match="DynAnyFactory" />
+ <keyword match="DynAnyFactoryHelper" />
+ <keyword match="DynAnyFactoryOperations" />
+ <keyword match="DynAnyHelper" />
+ <keyword match="DynAnyOperations" />
+ <keyword match="DynAnySeqHelper" />
+ <keyword match="DynArray" />
+ <keyword match="DynArray" />
+ <keyword match="DynArrayHelper" />
+ <keyword match="DynArrayOperations" />
+ <keyword match="DynEnum" />
+ <keyword match="DynEnum" />
+ <keyword match="DynEnumHelper" />
+ <keyword match="DynEnumOperations" />
+ <keyword match="DynFixed" />
+ <keyword match="DynFixed" />
+ <keyword match="DynFixedHelper" />
+ <keyword match="DynFixedOperations" />
+ <keyword match="DynSequence" />
+ <keyword match="DynSequence" />
+ <keyword match="DynSequenceHelper" />
+ <keyword match="DynSequenceOperations" />
+ <keyword match="DynStruct" />
+ <keyword match="DynStruct" />
+ <keyword match="DynStructHelper" />
+ <keyword match="DynStructOperations" />
+ <keyword match="DynUnion" />
+ <keyword match="DynUnion" />
+ <keyword match="DynUnionHelper" />
+ <keyword match="DynUnionOperations" />
+ <keyword match="DynValue" />
+ <keyword match="DynValue" />
+ <keyword match="DynValueBox" />
+ <keyword match="DynValueBoxOperations" />
+ <keyword match="DynValueCommon" />
+ <keyword match="DynValueCommonOperations" />
+ <keyword match="DynValueHelper" />
+ <keyword match="DynValueOperations" />
+ <keyword match="EditorKit" />
+ <keyword match="Element" />
+ <keyword match="Element" />
+ <keyword match="Element" />
+ <keyword match="ElementIterator" />
+ <keyword match="Ellipse2D" />
+
+
+ <keyword match="EmptyBorder" />
+ <keyword match="EmptyStackException" />
+ <keyword match="EncodedKeySpec" />
+ <keyword match="Encoder" />
+ <keyword match="Encoding" />
+ <keyword match="ENCODING_CDR_ENCAPS" />
+ <keyword match="EncryptedPrivateKeyInfo" />
+ <keyword match="Entity" />
+ <keyword match="Entity" />
+ <keyword match="EntityReference" />
+ <keyword match="EntityResolver" />
+ <keyword match="EnumControl" />
+
+ <keyword match="Enumeration" />
+ <keyword match="EnumSyntax" />
+ <keyword match="Environment" />
+ <keyword match="EOFException" />
+ <keyword match="Error" />
+ <keyword match="ErrorHandler" />
+ <keyword match="ErrorListener" />
+ <keyword match="ErrorManager" />
+ <keyword match="EtchedBorder" />
+ <keyword match="Event" />
+ <keyword match="EventContext" />
+ <keyword match="EventDirContext" />
+ <keyword match="EventHandler" />
+ <keyword match="EventListener" />
+ <keyword match="EventListenerList" />
+ <keyword match="EventListenerProxy" />
+ <keyword match="EventObject" />
+ <keyword match="EventQueue" />
+ <keyword match="EventSetDescriptor" />
+ <keyword match="Exception" />
+ <keyword match="ExceptionInInitializerError" />
+ <keyword match="ExceptionList" />
+ <keyword match="ExceptionListener" />
+ <keyword match="ExemptionMechanism" />
+ <keyword match="ExemptionMechanismException" />
+ <keyword match="ExemptionMechanismSpi" />
+ <keyword match="ExpandVetoException" />
+ <keyword match="ExportException" />
+ <keyword match="Expression" />
+ <keyword match="ExtendedRequest" />
+ <keyword match="ExtendedResponse" />
+ <keyword match="Externalizable" />
+ <keyword match="FactoryConfigurationError" />
+ <keyword match="FailedLoginException" />
+ <keyword match="FeatureDescriptor" />
+ <keyword match="Fidelity" />
+ <keyword match="Field" />
+ <keyword match="FieldNameHelper" />
+ <keyword match="FieldNameHelper" />
+ <keyword match="FieldPosition" />
+ <keyword match="FieldView" />
+ <keyword match="File" />
+ <keyword match="FileCacheImageInputStream" />
+ <keyword match="FileCacheImageOutputStream" />
+ <keyword match="FileChannel" />
+
+ <keyword match="FileChooserUI" />
+ <keyword match="FileDescriptor" />
+ <keyword match="FileDialog" />
+ <keyword match="FileFilter" />
+ <keyword match="FileFilter" />
+ <keyword match="FileHandler" />
+ <keyword match="FileImageInputStream" />
+ <keyword match="FileImageOutputStream" />
+ <keyword match="FileInputStream" />
+ <keyword match="FileLock" />
+ <keyword match="FileLockInterruptionException" />
+ <keyword match="FilenameFilter" />
+ <keyword match="FileNameMap" />
+ <keyword match="FileNotFoundException" />
+ <keyword match="FileOutputStream" />
+ <keyword match="FilePermission" />
+ <keyword match="FileReader" />
+ <keyword match="FileSystemView" />
+ <keyword match="FileView" />
+ <keyword match="FileWriter" />
+ <keyword match="Filter" />
+ <keyword match="FilteredImageSource" />
+ <keyword match="FilterInputStream" />
+ <keyword match="FilterOutputStream" />
+ <keyword match="FilterReader" />
+ <keyword match="FilterWriter" />
+ <keyword match="Finishings" />
+ <keyword match="FixedHeightLayoutCache" />
+ <keyword match="FixedHolder" />
+ <keyword match="FlatteningPathIterator" />
+ <keyword match="FlavorException" />
+ <keyword match="FlavorMap" />
+ <keyword match="FlavorTable" />
+ <keyword match="Float" />
+ <keyword match="FloatBuffer" />
+ <keyword match="FloatControl" />
+
+ <keyword match="FloatHolder" />
+ <keyword match="FloatSeqHelper" />
+ <keyword match="FloatSeqHolder" />
+ <keyword match="FlowLayout" />
+ <keyword match="FlowView" />
+
+ <keyword match="FocusAdapter" />
+ <keyword match="FocusEvent" />
+ <keyword match="FocusListener" />
+ <keyword match="FocusManager" />
+ <keyword match="FocusTraversalPolicy" />
+ <keyword match="Font" />
+ <keyword match="FontFormatException" />
+ <keyword match="FontMetrics" />
+ <keyword match="FontRenderContext" />
+ <keyword match="FontUIResource" />
+ <keyword match="Format" />
+
+ <keyword match="FormatConversionProvider" />
+ <keyword match="FormatMismatch" />
+ <keyword match="FormatMismatchHelper" />
+ <keyword match="Formatter" />
+ <keyword match="FormView" />
+ <keyword match="ForwardRequest" />
+ <keyword match="ForwardRequest" />
+ <keyword match="ForwardRequestHelper" />
+ <keyword match="ForwardRequestHelper" />
+ <keyword match="Frame" />
+ <keyword match="FREE_MEM" />
+ <keyword match="GapContent" />
+ <keyword match="GatheringByteChannel" />
+ <keyword match="GeneralPath" />
+ <keyword match="GeneralSecurityException" />
+ <keyword match="GlyphJustificationInfo" />
+ <keyword match="GlyphMetrics" />
+ <keyword match="GlyphVector" />
+ <keyword match="GlyphView" />
+
+ <keyword match="GradientPaint" />
+ <keyword match="GraphicAttribute" />
+ <keyword match="Graphics" />
+ <keyword match="Graphics2D" />
+ <keyword match="GraphicsConfigTemplate" />
+ <keyword match="GraphicsConfiguration" />
+ <keyword match="GraphicsDevice" />
+ <keyword match="GraphicsEnvironment" />
+ <keyword match="GrayFilter" />
+ <keyword match="GregorianCalendar" />
+ <keyword match="GridBagConstraints" />
+ <keyword match="GridBagLayout" />
+ <keyword match="GridLayout" />
+ <keyword match="Group" />
+ <keyword match="GSSContext" />
+ <keyword match="GSSCredential" />
+ <keyword match="GSSException" />
+ <keyword match="GSSManager" />
+ <keyword match="GSSName" />
+ <keyword match="Guard" />
+ <keyword match="GuardedObject" />
+ <keyword match="GZIPInputStream" />
+ <keyword match="GZIPOutputStream" />
+ <keyword match="Handler" />
+ <keyword match="HandlerBase" />
+ <keyword match="HandshakeCompletedEvent" />
+ <keyword match="HandshakeCompletedListener" />
+ <keyword match="HasControls" />
+ <keyword match="HashAttributeSet" />
+ <keyword match="HashDocAttributeSet" />
+ <keyword match="HashMap" />
+ <keyword match="HashPrintJobAttributeSet" />
+ <keyword match="HashPrintRequestAttributeSet" />
+ <keyword match="HashPrintServiceAttributeSet" />
+ <keyword match="HashSet" />
+ <keyword match="Hashtable" />
+ <keyword match="HeadlessException" />
+ <keyword match="HierarchyBoundsAdapter" />
+ <keyword match="HierarchyBoundsListener" />
+ <keyword match="HierarchyEvent" />
+ <keyword match="HierarchyListener" />
+ <keyword match="Highlighter" />
+
+
+ <keyword match="HostnameVerifier" />
+ <keyword match="HTML" />
+
+
+
+ <keyword match="HTMLDocument" />
+
+ <keyword match="HTMLEditorKit" />
+
+
+
+
+
+
+ <keyword match="HTMLFrameHyperlinkEvent" />
+ <keyword match="HTMLWriter" />
+ <keyword match="HttpsURLConnection" />
+ <keyword match="HttpURLConnection" />
+ <keyword match="HyperlinkEvent" />
+
+ <keyword match="HyperlinkListener" />
+ <keyword match="ICC_ColorSpace" />
+ <keyword match="ICC_Profile" />
+ <keyword match="ICC_ProfileGray" />
+ <keyword match="ICC_ProfileRGB" />
+ <keyword match="Icon" />
+ <keyword match="IconUIResource" />
+ <keyword match="IconView" />
+ <keyword match="ID_ASSIGNMENT_POLICY_ID" />
+ <keyword match="ID_UNIQUENESS_POLICY_ID" />
+ <keyword match="IdAssignmentPolicy" />
+ <keyword match="IdAssignmentPolicyOperations" />
+ <keyword match="IdAssignmentPolicyValue" />
+ <keyword match="IdentifierHelper" />
+ <keyword match="Identity" />
+ <keyword match="IdentityHashMap" />
+ <keyword match="IdentityScope" />
+ <keyword match="IDLEntity" />
+ <keyword match="IDLType" />
+ <keyword match="IDLTypeHelper" />
+ <keyword match="IDLTypeOperations" />
+ <keyword match="IdUniquenessPolicy" />
+ <keyword match="IdUniquenessPolicyOperations" />
+ <keyword match="IdUniquenessPolicyValue" />
+ <keyword match="IIOByteBuffer" />
+ <keyword match="IIOException" />
+ <keyword match="IIOImage" />
+ <keyword match="IIOInvalidTreeException" />
+ <keyword match="IIOMetadata" />
+ <keyword match="IIOMetadataController" />
+ <keyword match="IIOMetadataFormat" />
+ <keyword match="IIOMetadataFormatImpl" />
+ <keyword match="IIOMetadataNode" />
+ <keyword match="IIOParam" />
+ <keyword match="IIOParamController" />
+ <keyword match="IIOReadProgressListener" />
+ <keyword match="IIOReadUpdateListener" />
+ <keyword match="IIOReadWarningListener" />
+ <keyword match="IIORegistry" />
+ <keyword match="IIOServiceProvider" />
+ <keyword match="IIOWriteProgressListener" />
+ <keyword match="IIOWriteWarningListener" />
+ <keyword match="IllegalAccessError" />
+ <keyword match="IllegalAccessException" />
+ <keyword match="IllegalArgumentException" />
+ <keyword match="IllegalBlockingModeException" />
+ <keyword match="IllegalBlockSizeException" />
+ <keyword match="IllegalCharsetNameException" />
+ <keyword match="IllegalComponentStateException" />
+ <keyword match="IllegalMonitorStateException" />
+ <keyword match="IllegalPathStateException" />
+ <keyword match="IllegalSelectorException" />
+ <keyword match="IllegalStateException" />
+ <keyword match="IllegalThreadStateException" />
+ <keyword match="Image" />
+ <keyword match="ImageCapabilities" />
+ <keyword match="ImageConsumer" />
+ <keyword match="ImageFilter" />
+ <keyword match="ImageGraphicAttribute" />
+ <keyword match="ImageIcon" />
+ <keyword match="ImageInputStream" />
+ <keyword match="ImageInputStreamImpl" />
+ <keyword match="ImageInputStreamSpi" />
+ <keyword match="ImageIO" />
+ <keyword match="ImageObserver" />
+ <keyword match="ImageOutputStream" />
+ <keyword match="ImageOutputStreamImpl" />
+ <keyword match="ImageOutputStreamSpi" />
+ <keyword match="ImageProducer" />
+ <keyword match="ImageReader" />
+ <keyword match="ImageReaderSpi" />
+ <keyword match="ImageReaderWriterSpi" />
+ <keyword match="ImageReadParam" />
+ <keyword match="ImageTranscoder" />
+ <keyword match="ImageTranscoderSpi" />
+ <keyword match="ImageTypeSpecifier" />
+ <keyword match="ImageView" />
+ <keyword match="ImageWriteParam" />
+ <keyword match="ImageWriter" />
+ <keyword match="ImageWriterSpi" />
+ <keyword match="ImagingOpException" />
+ <keyword match="IMP_LIMIT" />
+ <keyword match="IMPLICIT_ACTIVATION_POLICY_ID" />
+ <keyword match="ImplicitActivationPolicy" />
+ <keyword match="ImplicitActivationPolicyOperations" />
+ <keyword match="ImplicitActivationPolicyValue" />
+ <keyword match="IncompatibleClassChangeError" />
+ <keyword match="InconsistentTypeCode" />
+ <keyword match="InconsistentTypeCode" />
+ <keyword match="InconsistentTypeCodeHelper" />
+ <keyword match="IndexColorModel" />
+ <keyword match="IndexedPropertyDescriptor" />
+ <keyword match="IndexOutOfBoundsException" />
+ <keyword match="IndirectionException" />
+ <keyword match="Inet4Address" />
+ <keyword match="Inet6Address" />
+ <keyword match="InetAddress" />
+ <keyword match="InetSocketAddress" />
+ <keyword match="Inflater" />
+ <keyword match="InflaterInputStream" />
+ <keyword match="InheritableThreadLocal" />
+ <keyword match="InitialContext" />
+ <keyword match="InitialContextFactory" />
+ <keyword match="InitialContextFactoryBuilder" />
+ <keyword match="InitialDirContext" />
+ <keyword match="INITIALIZE" />
+ <keyword match="InitialLdapContext" />
+ <keyword match="InlineView" />
+ <keyword match="InputContext" />
+ <keyword match="InputEvent" />
+ <keyword match="InputMap" />
+ <keyword match="InputMapUIResource" />
+ <keyword match="InputMethod" />
+ <keyword match="InputMethodContext" />
+ <keyword match="InputMethodDescriptor" />
+ <keyword match="InputMethodEvent" />
+ <keyword match="InputMethodHighlight" />
+ <keyword match="InputMethodListener" />
+ <keyword match="InputMethodRequests" />
+ <keyword match="InputSource" />
+ <keyword match="InputStream" />
+ <keyword match="InputStream" />
+ <keyword match="InputStream" />
+ <keyword match="InputStreamReader" />
+ <keyword match="InputSubset" />
+ <keyword match="InputVerifier" />
+ <keyword match="Insets" />
+ <keyword match="InsetsUIResource" />
+ <keyword match="InstantiationError" />
+ <keyword match="InstantiationException" />
+ <keyword match="Instrument" />
+ <keyword match="InsufficientResourcesException" />
+ <keyword match="IntBuffer" />
+ <keyword match="Integer" />
+ <keyword match="IntegerSyntax" />
+ <keyword match="Interceptor" />
+ <keyword match="InterceptorOperations" />
+ <keyword match="INTERNAL" />
+ <keyword match="InternalError" />
+ <keyword match="InternalFrameAdapter" />
+ <keyword match="InternalFrameEvent" />
+ <keyword match="InternalFrameFocusTraversalPolicy" />
+ <keyword match="InternalFrameListener" />
+ <keyword match="InternalFrameUI" />
+ <keyword match="InternationalFormatter" />
+ <keyword match="InterruptedException" />
+ <keyword match="InterruptedIOException" />
+ <keyword match="InterruptedNamingException" />
+ <keyword match="InterruptibleChannel" />
+ <keyword match="INTF_REPOS" />
+ <keyword match="IntHolder" />
+ <keyword match="IntrospectionException" />
+ <keyword match="Introspector" />
+ <keyword match="INV_FLAG" />
+ <keyword match="INV_IDENT" />
+ <keyword match="INV_OBJREF" />
+ <keyword match="INV_POLICY" />
+ <keyword match="Invalid" />
+ <keyword match="INVALID_TRANSACTION" />
+ <keyword match="InvalidAddress" />
+ <keyword match="InvalidAddressHelper" />
+ <keyword match="InvalidAddressHolder" />
+ <keyword match="InvalidAlgorithmParameterException" />
+ <keyword match="InvalidAttributeIdentifierException" />
+ <keyword match="InvalidAttributesException" />
+ <keyword match="InvalidAttributeValueException" />
+ <keyword match="InvalidClassException" />
+ <keyword match="InvalidDnDOperationException" />
+ <keyword match="InvalidKeyException" />
+ <keyword match="InvalidKeySpecException" />
+ <keyword match="InvalidMarkException" />
+ <keyword match="InvalidMidiDataException" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidName" />
+ <keyword match="InvalidNameException" />
+ <keyword match="InvalidNameHelper" />
+ <keyword match="InvalidNameHelper" />
+ <keyword match="InvalidNameHolder" />
+ <keyword match="InvalidObjectException" />
+ <keyword match="InvalidParameterException" />
+ <keyword match="InvalidParameterSpecException" />
+ <keyword match="InvalidPolicy" />
+ <keyword match="InvalidPolicyHelper" />
+ <keyword match="InvalidPreferencesFormatException" />
+ <keyword match="InvalidSearchControlsException" />
+ <keyword match="InvalidSearchFilterException" />
+ <keyword match="InvalidSeq" />
+ <keyword match="InvalidSlot" />
+ <keyword match="InvalidSlotHelper" />
+ <keyword match="InvalidTransactionException" />
+ <keyword match="InvalidTypeForEncoding" />
+ <keyword match="InvalidTypeForEncodingHelper" />
+ <keyword match="InvalidValue" />
+ <keyword match="InvalidValue" />
+ <keyword match="InvalidValueHelper" />
+ <keyword match="InvocationEvent" />
+ <keyword match="InvocationHandler" />
+ <keyword match="InvocationTargetException" />
+ <keyword match="InvokeHandler" />
+ <keyword match="IOException" />
+ <keyword match="IOR" />
+ <keyword match="IORHelper" />
+ <keyword match="IORHolder" />
+ <keyword match="IORInfo" />
+ <keyword match="IORInfoOperations" />
+ <keyword match="IORInterceptor" />
+ <keyword match="IORInterceptorOperations" />
+ <keyword match="IRObject" />
+ <keyword match="IRObjectOperations" />
+ <keyword match="IstringHelper" />
+ <keyword match="ItemEvent" />
+ <keyword match="ItemListener" />
+ <keyword match="ItemSelectable" />
+ <keyword match="Iterator" />
+ <keyword match="IvParameterSpec" />
+ <keyword match="JApplet" />
+ <keyword match="JarEntry" />
+ <keyword match="JarException" />
+ <keyword match="JarFile" />
+ <keyword match="JarInputStream" />
+ <keyword match="JarOutputStream" />
+ <keyword match="JarURLConnection" />
+ <keyword match="JButton" />
+ <keyword match="JCheckBox" />
+ <keyword match="JCheckBoxMenuItem" />
+ <keyword match="JColorChooser" />
+ <keyword match="JComboBox" />
+
+ <keyword match="JComponent" />
+ <keyword match="JDesktopPane" />
+ <keyword match="JDialog" />
+ <keyword match="JEditorPane" />
+ <keyword match="JFileChooser" />
+ <keyword match="JFormattedTextField" />
+
+
+ <keyword match="JFrame" />
+ <keyword match="JInternalFrame" />
+
+ <keyword match="JLabel" />
+ <keyword match="JLayeredPane" />
+ <keyword match="JList" />
+ <keyword match="JMenu" />
+ <keyword match="JMenuBar" />
+ <keyword match="JMenuItem" />
+ <keyword match="JobAttributes" />
+
+
+
+
+
+ <keyword match="JobHoldUntil" />
+ <keyword match="JobImpressions" />
+ <keyword match="JobImpressionsCompleted" />
+ <keyword match="JobImpressionsSupported" />
+ <keyword match="JobKOctets" />
+ <keyword match="JobKOctetsProcessed" />
+ <keyword match="JobKOctetsSupported" />
+ <keyword match="JobMediaSheets" />
+ <keyword match="JobMediaSheetsCompleted" />
+ <keyword match="JobMediaSheetsSupported" />
+ <keyword match="JobMessageFromOperator" />
+ <keyword match="JobName" />
+ <keyword match="JobOriginatingUserName" />
+ <keyword match="JobPriority" />
+ <keyword match="JobPrioritySupported" />
+ <keyword match="JobSheets" />
+ <keyword match="JobState" />
+ <keyword match="JobStateReason" />
+ <keyword match="JobStateReasons" />
+ <keyword match="JOptionPane" />
+ <keyword match="JPanel" />
+ <keyword match="JPasswordField" />
+ <keyword match="JPEGHuffmanTable" />
+ <keyword match="JPEGImageReadParam" />
+ <keyword match="JPEGImageWriteParam" />
+ <keyword match="JPEGQTable" />
+ <keyword match="JPopupMenu" />
+
+ <keyword match="JProgressBar" />
+ <keyword match="JRadioButton" />
+ <keyword match="JRadioButtonMenuItem" />
+ <keyword match="JRootPane" />
+ <keyword match="JScrollBar" />
+ <keyword match="JScrollPane" />
+ <keyword match="JSeparator" />
+ <keyword match="JSlider" />
+ <keyword match="JSpinner" />
+
+
+
+
+ <keyword match="JSplitPane" />
+ <keyword match="JTabbedPane" />
+ <keyword match="JTable" />
+ <keyword match="JTableHeader" />
+ <keyword match="JTextArea" />
+ <keyword match="JTextComponent" />
+
+ <keyword match="JTextField" />
+ <keyword match="JTextPane" />
+ <keyword match="JToggleButton" />
+
+ <keyword match="JToolBar" />
+
+ <keyword match="JToolTip" />
+ <keyword match="JTree" />
+
+
+ <keyword match="JViewport" />
+ <keyword match="JWindow" />
+ <keyword match="KerberosKey" />
+ <keyword match="KerberosPrincipal" />
+ <keyword match="KerberosTicket" />
+ <keyword match="Kernel" />
+ <keyword match="Key" />
+ <keyword match="KeyAdapter" />
+ <keyword match="KeyAgreement" />
+ <keyword match="KeyAgreementSpi" />
+ <keyword match="KeyboardFocusManager" />
+ <keyword match="KeyEvent" />
+ <keyword match="KeyEventDispatcher" />
+ <keyword match="KeyEventPostProcessor" />
+ <keyword match="KeyException" />
+ <keyword match="KeyFactory" />
+ <keyword match="KeyFactorySpi" />
+ <keyword match="KeyGenerator" />
+ <keyword match="KeyGeneratorSpi" />
+ <keyword match="KeyListener" />
+ <keyword match="KeyManagementException" />
+ <keyword match="KeyManager" />
+ <keyword match="KeyManagerFactory" />
+ <keyword match="KeyManagerFactorySpi" />
+ <keyword match="Keymap" />
+ <keyword match="KeyPair" />
+ <keyword match="KeyPairGenerator" />
+ <keyword match="KeyPairGeneratorSpi" />
+ <keyword match="KeySpec" />
+ <keyword match="KeyStore" />
+ <keyword match="KeyStoreException" />
+ <keyword match="KeyStoreSpi" />
+ <keyword match="KeyStroke" />
+ <keyword match="Label" />
+ <keyword match="LabelUI" />
+ <keyword match="LabelView" />
+ <keyword match="LanguageCallback" />
+ <keyword match="LastOwnerException" />
+ <keyword match="LayeredHighlighter" />
+
+ <keyword match="LayoutFocusTraversalPolicy" />
+ <keyword match="LayoutManager" />
+ <keyword match="LayoutManager2" />
+ <keyword match="LayoutQueue" />
+ <keyword match="LDAPCertStoreParameters" />
+ <keyword match="LdapContext" />
+ <keyword match="LdapReferralException" />
+ <keyword match="Lease" />
+ <keyword match="Level" />
+ <keyword match="LexicalHandler" />
+ <keyword match="LIFESPAN_POLICY_ID" />
+ <keyword match="LifespanPolicy" />
+ <keyword match="LifespanPolicyOperations" />
+ <keyword match="LifespanPolicyValue" />
+ <keyword match="LimitExceededException" />
+ <keyword match="Line" />
+
+ <keyword match="Line2D" />
+
+
+ <keyword match="LineBorder" />
+ <keyword match="LineBreakMeasurer" />
+ <keyword match="LineEvent" />
+
+ <keyword match="LineListener" />
+ <keyword match="LineMetrics" />
+ <keyword match="LineNumberInputStream" />
+ <keyword match="LineNumberReader" />
+ <keyword match="LineUnavailableException" />
+ <keyword match="LinkageError" />
+ <keyword match="LinkedHashMap" />
+ <keyword match="LinkedHashSet" />
+ <keyword match="LinkedList" />
+ <keyword match="LinkException" />
+ <keyword match="LinkLoopException" />
+ <keyword match="LinkRef" />
+ <keyword match="List" />
+ <keyword match="List" />
+ <keyword match="ListCellRenderer" />
+ <keyword match="ListDataEvent" />
+ <keyword match="ListDataListener" />
+ <keyword match="ListIterator" />
+ <keyword match="ListModel" />
+ <keyword match="ListResourceBundle" />
+ <keyword match="ListSelectionEvent" />
+ <keyword match="ListSelectionListener" />
+ <keyword match="ListSelectionModel" />
+ <keyword match="ListUI" />
+ <keyword match="ListView" />
+ <keyword match="LoaderHandler" />
+ <keyword match="Locale" />
+ <keyword match="LocalObject" />
+ <keyword match="LocateRegistry" />
+ <keyword match="LOCATION_FORWARD" />
+ <keyword match="Locator" />
+ <keyword match="LocatorImpl" />
+ <keyword match="Logger" />
+ <keyword match="LoggingPermission" />
+ <keyword match="LoginContext" />
+ <keyword match="LoginException" />
+ <keyword match="LoginModule" />
+ <keyword match="LogManager" />
+ <keyword match="LogRecord" />
+ <keyword match="LogStream" />
+ <keyword match="Long" />
+ <keyword match="LongBuffer" />
+ <keyword match="LongHolder" />
+ <keyword match="LongLongSeqHelper" />
+ <keyword match="LongLongSeqHolder" />
+ <keyword match="LongSeqHelper" />
+ <keyword match="LongSeqHolder" />
+ <keyword match="LookAndFeel" />
+ <keyword match="LookupOp" />
+ <keyword match="LookupTable" />
+ <keyword match="Mac" />
+ <keyword match="MacSpi" />
+ <keyword match="MalformedInputException" />
+ <keyword match="MalformedLinkException" />
+ <keyword match="MalformedURLException" />
+ <keyword match="ManagerFactoryParameters" />
+ <keyword match="Manifest" />
+ <keyword match="Map" />
+
+ <keyword match="MappedByteBuffer" />
+ <keyword match="MARSHAL" />
+ <keyword match="MarshalException" />
+ <keyword match="MarshalledObject" />
+ <keyword match="MaskFormatter" />
+ <keyword match="Matcher" />
+ <keyword match="Math" />
+ <keyword match="MatteBorder" />
+ <keyword match="Media" />
+ <keyword match="MediaName" />
+ <keyword match="MediaPrintableArea" />
+ <keyword match="MediaSize" />
+
+
+
+
+
+ <keyword match="MediaSizeName" />
+ <keyword match="MediaTracker" />
+ <keyword match="MediaTray" />
+ <keyword match="Member" />
+ <keyword match="MemoryCacheImageInputStream" />
+ <keyword match="MemoryCacheImageOutputStream" />
+ <keyword match="MemoryHandler" />
+ <keyword match="MemoryImageSource" />
+ <keyword match="Menu" />
+ <keyword match="MenuBar" />
+ <keyword match="MenuBarUI" />
+ <keyword match="MenuComponent" />
+ <keyword match="MenuContainer" />
+ <keyword match="MenuDragMouseEvent" />
+ <keyword match="MenuDragMouseListener" />
+ <keyword match="MenuElement" />
+ <keyword match="MenuEvent" />
+ <keyword match="MenuItem" />
+ <keyword match="MenuItemUI" />
+ <keyword match="MenuKeyEvent" />
+ <keyword match="MenuKeyListener" />
+ <keyword match="MenuListener" />
+ <keyword match="MenuSelectionManager" />
+ <keyword match="MenuShortcut" />
+ <keyword match="MessageDigest" />
+ <keyword match="MessageDigestSpi" />
+ <keyword match="MessageFormat" />
+
+ <keyword match="MessageProp" />
+ <keyword match="MetaEventListener" />
+ <keyword match="MetalBorders" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <keyword match="MetalButtonUI" />
+ <keyword match="MetalCheckBoxIcon" />
+ <keyword match="MetalCheckBoxUI" />
+ <keyword match="MetalComboBoxButton" />
+ <keyword match="MetalComboBoxEditor" />
+
+ <keyword match="MetalComboBoxIcon" />
+ <keyword match="MetalComboBoxUI" />
+ <keyword match="MetalDesktopIconUI" />
+ <keyword match="MetalFileChooserUI" />
+ <keyword match="MetalIconFactory" />
+
+
+
+
+
+
+ <keyword match="MetalInternalFrameTitlePane" />
+ <keyword match="MetalInternalFrameUI" />
+ <keyword match="MetalLabelUI" />
+ <keyword match="MetalLookAndFeel" />
+ <keyword match="MetalPopupMenuSeparatorUI" />
+ <keyword match="MetalProgressBarUI" />
+ <keyword match="MetalRadioButtonUI" />
+ <keyword match="MetalRootPaneUI" />
+ <keyword match="MetalScrollBarUI" />
+ <keyword match="MetalScrollButton" />
+ <keyword match="MetalScrollPaneUI" />
+ <keyword match="MetalSeparatorUI" />
+ <keyword match="MetalSliderUI" />
+ <keyword match="MetalSplitPaneUI" />
+ <keyword match="MetalTabbedPaneUI" />
+ <keyword match="MetalTextFieldUI" />
+ <keyword match="MetalTheme" />
+ <keyword match="MetalToggleButtonUI" />
+ <keyword match="MetalToolBarUI" />
+ <keyword match="MetalToolTipUI" />
+ <keyword match="MetalTreeUI" />
+ <keyword match="MetaMessage" />
+ <keyword match="Method" />
+ <keyword match="MethodDescriptor" />
+ <keyword match="MidiChannel" />
+ <keyword match="MidiDevice" />
+
+ <keyword match="MidiDeviceProvider" />
+ <keyword match="MidiEvent" />
+ <keyword match="MidiFileFormat" />
+ <keyword match="MidiFileReader" />
+ <keyword match="MidiFileWriter" />
+ <keyword match="MidiMessage" />
+ <keyword match="MidiSystem" />
+ <keyword match="MidiUnavailableException" />
+ <keyword match="MimeTypeParseException" />
+ <keyword match="MinimalHTMLWriter" />
+ <keyword match="MissingResourceException" />
+ <keyword match="Mixer" />
+
+ <keyword match="MixerProvider" />
+ <keyword match="ModificationItem" />
+ <keyword match="Modifier" />
+ <keyword match="MouseAdapter" />
+ <keyword match="MouseDragGestureRecognizer" />
+ <keyword match="MouseEvent" />
+ <keyword match="MouseInputAdapter" />
+ <keyword match="MouseInputListener" />
+ <keyword match="MouseListener" />
+ <keyword match="MouseMotionAdapter" />
+ <keyword match="MouseMotionListener" />
+ <keyword match="MouseWheelEvent" />
+ <keyword match="MouseWheelListener" />
+ <keyword match="MultiButtonUI" />
+ <keyword match="MulticastSocket" />
+ <keyword match="MultiColorChooserUI" />
+ <keyword match="MultiComboBoxUI" />
+ <keyword match="MultiDesktopIconUI" />
+ <keyword match="MultiDesktopPaneUI" />
+ <keyword match="MultiDoc" />
+ <keyword match="MultiDocPrintJob" />
+ <keyword match="MultiDocPrintService" />
+ <keyword match="MultiFileChooserUI" />
+ <keyword match="MultiInternalFrameUI" />
+ <keyword match="MultiLabelUI" />
+ <keyword match="MultiListUI" />
+ <keyword match="MultiLookAndFeel" />
+ <keyword match="MultiMenuBarUI" />
+ <keyword match="MultiMenuItemUI" />
+ <keyword match="MultiOptionPaneUI" />
+ <keyword match="MultiPanelUI" />
+ <keyword match="MultiPixelPackedSampleModel" />
+ <keyword match="MultipleComponentProfileHelper" />
+ <keyword match="MultipleComponentProfileHolder" />
+ <keyword match="MultipleDocumentHandling" />
+ <keyword match="MultipleMaster" />
+ <keyword match="MultiPopupMenuUI" />
+ <keyword match="MultiProgressBarUI" />
+ <keyword match="MultiRootPaneUI" />
+ <keyword match="MultiScrollBarUI" />
+ <keyword match="MultiScrollPaneUI" />
+ <keyword match="MultiSeparatorUI" />
+ <keyword match="MultiSliderUI" />
+ <keyword match="MultiSpinnerUI" />
+ <keyword match="MultiSplitPaneUI" />
+ <keyword match="MultiTabbedPaneUI" />
+ <keyword match="MultiTableHeaderUI" />
+ <keyword match="MultiTableUI" />
+ <keyword match="MultiTextUI" />
+ <keyword match="MultiToolBarUI" />
+ <keyword match="MultiToolTipUI" />
+ <keyword match="MultiTreeUI" />
+ <keyword match="MultiViewportUI" />
+ <keyword match="MutableAttributeSet" />
+ <keyword match="MutableComboBoxModel" />
+ <keyword match="MutableTreeNode" />
+ <keyword match="Name" />
+ <keyword match="NameAlreadyBoundException" />
+ <keyword match="NameCallback" />
+ <keyword match="NameClassPair" />
+ <keyword match="NameComponent" />
+ <keyword match="NameComponentHelper" />
+ <keyword match="NameComponentHolder" />
+ <keyword match="NamedNodeMap" />
+ <keyword match="NamedValue" />
+ <keyword match="NameDynAnyPair" />
+ <keyword match="NameDynAnyPairHelper" />
+ <keyword match="NameDynAnyPairSeqHelper" />
+ <keyword match="NameHelper" />
+ <keyword match="NameHolder" />
+ <keyword match="NameNotFoundException" />
+ <keyword match="NameParser" />
+ <keyword match="NamespaceChangeListener" />
+ <keyword match="NamespaceSupport" />
+ <keyword match="NameValuePair" />
+ <keyword match="NameValuePair" />
+ <keyword match="NameValuePairHelper" />
+ <keyword match="NameValuePairHelper" />
+ <keyword match="NameValuePairSeqHelper" />
+ <keyword match="Naming" />
+ <keyword match="NamingContext" />
+ <keyword match="NamingContextExt" />
+ <keyword match="NamingContextExtHelper" />
+ <keyword match="NamingContextExtHolder" />
+ <keyword match="NamingContextExtOperations" />
+ <keyword match="NamingContextExtPOA" />
+ <keyword match="NamingContextHelper" />
+ <keyword match="NamingContextHolder" />
+ <keyword match="NamingContextOperations" />
+ <keyword match="NamingContextPOA" />
+ <keyword match="NamingEnumeration" />
+ <keyword match="NamingEvent" />
+ <keyword match="NamingException" />
+ <keyword match="NamingExceptionEvent" />
+ <keyword match="NamingListener" />
+ <keyword match="NamingManager" />
+ <keyword match="NamingSecurityException" />
+ <keyword match="NavigationFilter" />
+
+ <keyword match="NegativeArraySizeException" />
+ <keyword match="NetPermission" />
+ <keyword match="NetworkInterface" />
+ <keyword match="NO_IMPLEMENT" />
+ <keyword match="NO_MEMORY" />
+ <keyword match="NO_PERMISSION" />
+ <keyword match="NO_RESOURCES" />
+ <keyword match="NO_RESPONSE" />
+ <keyword match="NoClassDefFoundError" />
+ <keyword match="NoConnectionPendingException" />
+ <keyword match="NoContext" />
+ <keyword match="NoContextHelper" />
+ <keyword match="Node" />
+ <keyword match="NodeChangeEvent" />
+ <keyword match="NodeChangeListener" />
+ <keyword match="NodeList" />
+ <keyword match="NoInitialContextException" />
+ <keyword match="NoninvertibleTransformException" />
+ <keyword match="NonReadableChannelException" />
+ <keyword match="NonWritableChannelException" />
+ <keyword match="NoPermissionException" />
+ <keyword match="NoRouteToHostException" />
+ <keyword match="NoServant" />
+ <keyword match="NoServantHelper" />
+ <keyword match="NoSuchAlgorithmException" />
+ <keyword match="NoSuchAttributeException" />
+ <keyword match="NoSuchElementException" />
+ <keyword match="NoSuchFieldError" />
+ <keyword match="NoSuchFieldException" />
+ <keyword match="NoSuchMethodError" />
+ <keyword match="NoSuchMethodException" />
+ <keyword match="NoSuchObjectException" />
+ <keyword match="NoSuchPaddingException" />
+ <keyword match="NoSuchProviderException" />
+ <keyword match="NotActiveException" />
+ <keyword match="Notation" />
+ <keyword match="NotBoundException" />
+ <keyword match="NotContextException" />
+ <keyword match="NotEmpty" />
+ <keyword match="NotEmptyHelper" />
+ <keyword match="NotEmptyHolder" />
+ <keyword match="NotFound" />
+ <keyword match="NotFoundHelper" />
+ <keyword match="NotFoundHolder" />
+ <keyword match="NotFoundReason" />
+ <keyword match="NotFoundReasonHelper" />
+ <keyword match="NotFoundReasonHolder" />
+ <keyword match="NotOwnerException" />
+ <keyword match="NotSerializableException" />
+ <keyword match="NotYetBoundException" />
+ <keyword match="NotYetConnectedException" />
+ <keyword match="NullCipher" />
+ <keyword match="NullPointerException" />
+ <keyword match="Number" />
+ <keyword match="NumberFormat" />
+
+ <keyword match="NumberFormatException" />
+ <keyword match="NumberFormatter" />
+ <keyword match="NumberOfDocuments" />
+ <keyword match="NumberOfInterveningJobs" />
+ <keyword match="NumberUp" />
+ <keyword match="NumberUpSupported" />
+ <keyword match="NumericShaper" />
+ <keyword match="NVList" />
+ <keyword match="OBJ_ADAPTER" />
+ <keyword match="Object" />
+ <keyword match="OBJECT_NOT_EXIST" />
+ <keyword match="ObjectAlreadyActive" />
+ <keyword match="ObjectAlreadyActiveHelper" />
+ <keyword match="ObjectChangeListener" />
+ <keyword match="ObjectFactory" />
+ <keyword match="ObjectFactoryBuilder" />
+ <keyword match="ObjectHelper" />
+ <keyword match="ObjectHolder" />
+ <keyword match="ObjectIdHelper" />
+ <keyword match="ObjectImpl" />
+ <keyword match="ObjectImpl" />
+ <keyword match="ObjectInput" />
+ <keyword match="ObjectInputStream" />
+
+ <keyword match="ObjectInputValidation" />
+ <keyword match="ObjectNotActive" />
+ <keyword match="ObjectNotActiveHelper" />
+ <keyword match="ObjectOutput" />
+ <keyword match="ObjectOutputStream" />
+
+ <keyword match="ObjectStreamClass" />
+ <keyword match="ObjectStreamConstants" />
+ <keyword match="ObjectStreamException" />
+ <keyword match="ObjectStreamField" />
+ <keyword match="ObjectView" />
+ <keyword match="ObjID" />
+ <keyword match="Observable" />
+ <keyword match="Observer" />
+ <keyword match="OctetSeqHelper" />
+ <keyword match="OctetSeqHolder" />
+ <keyword match="Oid" />
+ <keyword match="OMGVMCID" />
+ <keyword match="OpenType" />
+ <keyword match="Operation" />
+ <keyword match="OperationNotSupportedException" />
+ <keyword match="Option" />
+ <keyword match="OptionalDataException" />
+ <keyword match="OptionPaneUI" />
+ <keyword match="ORB" />
+ <keyword match="ORB" />
+ <keyword match="ORBInitializer" />
+ <keyword match="ORBInitializerOperations" />
+ <keyword match="ORBInitInfo" />
+ <keyword match="ORBInitInfoOperations" />
+ <keyword match="OrientationRequested" />
+ <keyword match="OutOfMemoryError" />
+ <keyword match="OutputDeviceAssigned" />
+ <keyword match="OutputKeys" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStream" />
+ <keyword match="OutputStreamWriter" />
+ <keyword match="OverlappingFileLockException" />
+ <keyword match="OverlayLayout" />
+ <keyword match="Owner" />
+ <keyword match="Package" />
+ <keyword match="PackedColorModel" />
+ <keyword match="Pageable" />
+ <keyword match="PageAttributes" />
+
+
+
+
+
+ <keyword match="PageFormat" />
+ <keyword match="PageRanges" />
+ <keyword match="PagesPerMinute" />
+ <keyword match="PagesPerMinuteColor" />
+ <keyword match="Paint" />
+ <keyword match="PaintContext" />
+ <keyword match="PaintEvent" />
+ <keyword match="Panel" />
+ <keyword match="PanelUI" />
+ <keyword match="Paper" />
+ <keyword match="ParagraphView" />
+ <keyword match="ParagraphView" />
+ <keyword match="Parameter" />
+ <keyword match="ParameterBlock" />
+ <keyword match="ParameterDescriptor" />
+ <keyword match="ParameterMetaData" />
+ <keyword match="ParameterMode" />
+ <keyword match="ParameterModeHelper" />
+ <keyword match="ParameterModeHolder" />
+ <keyword match="ParseException" />
+ <keyword match="ParsePosition" />
+ <keyword match="Parser" />
+ <keyword match="Parser" />
+ <keyword match="ParserAdapter" />
+ <keyword match="ParserConfigurationException" />
+ <keyword match="ParserDelegator" />
+ <keyword match="ParserFactory" />
+ <keyword match="PartialResultException" />
+ <keyword match="PasswordAuthentication" />
+ <keyword match="PasswordCallback" />
+ <keyword match="PasswordView" />
+ <keyword match="Patch" />
+ <keyword match="PathIterator" />
+ <keyword match="Pattern" />
+ <keyword match="PatternSyntaxException" />
+ <keyword match="PBEKey" />
+ <keyword match="PBEKeySpec" />
+ <keyword match="PBEParameterSpec" />
+ <keyword match="PDLOverrideSupported" />
+ <keyword match="Permission" />
+ <keyword match="Permission" />
+ <keyword match="PermissionCollection" />
+ <keyword match="Permissions" />
+ <keyword match="PERSIST_STORE" />
+ <keyword match="PersistenceDelegate" />
+ <keyword match="PhantomReference" />
+ <keyword match="Pipe" />
+
+
+ <keyword match="PipedInputStream" />
+ <keyword match="PipedOutputStream" />
+ <keyword match="PipedReader" />
+ <keyword match="PipedWriter" />
+ <keyword match="PixelGrabber" />
+ <keyword match="PixelInterleavedSampleModel" />
+ <keyword match="PKCS8EncodedKeySpec" />
+ <keyword match="PKIXBuilderParameters" />
+ <keyword match="PKIXCertPathBuilderResult" />
+ <keyword match="PKIXCertPathChecker" />
+ <keyword match="PKIXCertPathValidatorResult" />
+ <keyword match="PKIXParameters" />
+ <keyword match="PlainDocument" />
+ <keyword match="PlainView" />
+ <keyword match="POA" />
+ <keyword match="POAHelper" />
+ <keyword match="POAManager" />
+ <keyword match="POAManagerOperations" />
+ <keyword match="POAOperations" />
+ <keyword match="Point" />
+ <keyword match="Point2D" />
+
+
+ <keyword match="Policy" />
+ <keyword match="Policy" />
+ <keyword match="Policy" />
+ <keyword match="PolicyError" />
+ <keyword match="PolicyErrorCodeHelper" />
+ <keyword match="PolicyErrorHelper" />
+ <keyword match="PolicyErrorHolder" />
+ <keyword match="PolicyFactory" />
+ <keyword match="PolicyFactoryOperations" />
+ <keyword match="PolicyHelper" />
+ <keyword match="PolicyHolder" />
+ <keyword match="PolicyListHelper" />
+ <keyword match="PolicyListHolder" />
+ <keyword match="PolicyNode" />
+ <keyword match="PolicyOperations" />
+ <keyword match="PolicyQualifierInfo" />
+ <keyword match="PolicyTypeHelper" />
+ <keyword match="Polygon" />
+ <keyword match="PooledConnection" />
+ <keyword match="Popup" />
+ <keyword match="PopupFactory" />
+ <keyword match="PopupMenu" />
+ <keyword match="PopupMenuEvent" />
+ <keyword match="PopupMenuListener" />
+ <keyword match="PopupMenuUI" />
+ <keyword match="Port" />
+
+ <keyword match="PortableRemoteObject" />
+ <keyword match="PortableRemoteObjectDelegate" />
+ <keyword match="PortUnreachableException" />
+ <keyword match="Position" />
+
+ <keyword match="PreferenceChangeEvent" />
+ <keyword match="PreferenceChangeListener" />
+ <keyword match="Preferences" />
+ <keyword match="PreferencesFactory" />
+ <keyword match="PreparedStatement" />
+ <keyword match="PresentationDirection" />
+ <keyword match="Principal" />
+ <keyword match="Principal" />
+ <keyword match="PrincipalHolder" />
+ <keyword match="Printable" />
+ <keyword match="PrinterAbortException" />
+ <keyword match="PrinterException" />
+ <keyword match="PrinterGraphics" />
+ <keyword match="PrinterInfo" />
+ <keyword match="PrinterIOException" />
+ <keyword match="PrinterIsAcceptingJobs" />
+ <keyword match="PrinterJob" />
+ <keyword match="PrinterLocation" />
+ <keyword match="PrinterMakeAndModel" />
+ <keyword match="PrinterMessageFromOperator" />
+ <keyword match="PrinterMoreInfo" />
+ <keyword match="PrinterMoreInfoManufacturer" />
+ <keyword match="PrinterName" />
+ <keyword match="PrinterResolution" />
+ <keyword match="PrinterState" />
+ <keyword match="PrinterStateReason" />
+ <keyword match="PrinterStateReasons" />
+ <keyword match="PrinterURI" />
+ <keyword match="PrintEvent" />
+ <keyword match="PrintException" />
+ <keyword match="PrintGraphics" />
+ <keyword match="PrintJob" />
+ <keyword match="PrintJobAdapter" />
+ <keyword match="PrintJobAttribute" />
+ <keyword match="PrintJobAttributeEvent" />
+ <keyword match="PrintJobAttributeListener" />
+ <keyword match="PrintJobAttributeSet" />
+ <keyword match="PrintJobEvent" />
+ <keyword match="PrintJobListener" />
+ <keyword match="PrintQuality" />
+ <keyword match="PrintRequestAttribute" />
+ <keyword match="PrintRequestAttributeSet" />
+ <keyword match="PrintService" />
+ <keyword match="PrintServiceAttribute" />
+ <keyword match="PrintServiceAttributeEvent" />
+ <keyword match="PrintServiceAttributeListener" />
+ <keyword match="PrintServiceAttributeSet" />
+ <keyword match="PrintServiceLookup" />
+ <keyword match="PrintStream" />
+ <keyword match="PrintWriter" />
+ <keyword match="PRIVATE_MEMBER" />
+ <keyword match="PrivateCredentialPermission" />
+ <keyword match="PrivateKey" />
+ <keyword match="PrivilegedAction" />
+ <keyword match="PrivilegedActionException" />
+ <keyword match="PrivilegedExceptionAction" />
+ <keyword match="Process" />
+ <keyword match="ProcessingInstruction" />
+ <keyword match="ProfileDataException" />
+ <keyword match="ProfileIdHelper" />
+ <keyword match="ProgressBarUI" />
+ <keyword match="ProgressMonitor" />
+ <keyword match="ProgressMonitorInputStream" />
+ <keyword match="Properties" />
+ <keyword match="PropertyChangeEvent" />
+ <keyword match="PropertyChangeListener" />
+ <keyword match="PropertyChangeListenerProxy" />
+ <keyword match="PropertyChangeSupport" />
+ <keyword match="PropertyDescriptor" />
+ <keyword match="PropertyEditor" />
+ <keyword match="PropertyEditorManager" />
+ <keyword match="PropertyEditorSupport" />
+ <keyword match="PropertyPermission" />
+ <keyword match="PropertyResourceBundle" />
+ <keyword match="PropertyVetoException" />
+ <keyword match="ProtectionDomain" />
+ <keyword match="ProtocolException" />
+ <keyword match="Provider" />
+ <keyword match="ProviderException" />
+ <keyword match="Proxy" />
+ <keyword match="PSSParameterSpec" />
+ <keyword match="PUBLIC_MEMBER" />
+ <keyword match="PublicKey" />
+ <keyword match="PushbackInputStream" />
+ <keyword match="PushbackReader" />
+ <keyword match="QuadCurve2D" />
+
+
+ <keyword match="QueuedJobCount" />
+ <keyword match="Random" />
+ <keyword match="RandomAccess" />
+ <keyword match="RandomAccessFile" />
+ <keyword match="Raster" />
+ <keyword match="RasterFormatException" />
+ <keyword match="RasterOp" />
+ <keyword match="RC2ParameterSpec" />
+ <keyword match="RC5ParameterSpec" />
+ <keyword match="ReadableByteChannel" />
+ <keyword match="Reader" />
+ <keyword match="ReadOnlyBufferException" />
+ <keyword match="Receiver" />
+ <keyword match="Rectangle" />
+ <keyword match="Rectangle2D" />
+
+
+ <keyword match="RectangularShape" />
+ <keyword match="Ref" />
+ <keyword match="RefAddr" />
+ <keyword match="Reference" />
+ <keyword match="Reference" />
+ <keyword match="Referenceable" />
+ <keyword match="ReferenceQueue" />
+ <keyword match="ReferenceUriSchemesSupported" />
+ <keyword match="ReferralException" />
+ <keyword match="ReflectPermission" />
+ <keyword match="Refreshable" />
+ <keyword match="RefreshFailedException" />
+ <keyword match="RegisterableService" />
+ <keyword match="Registry" />
+ <keyword match="RegistryHandler" />
+ <keyword match="RemarshalException" />
+ <keyword match="Remote" />
+ <keyword match="RemoteCall" />
+ <keyword match="RemoteException" />
+ <keyword match="RemoteObject" />
+ <keyword match="RemoteRef" />
+ <keyword match="RemoteServer" />
+ <keyword match="RemoteStub" />
+ <keyword match="RenderableImage" />
+ <keyword match="RenderableImageOp" />
+ <keyword match="RenderableImageProducer" />
+ <keyword match="RenderContext" />
+ <keyword match="RenderedImage" />
+ <keyword match="RenderedImageFactory" />
+ <keyword match="Renderer" />
+ <keyword match="RenderingHints" />
+
+ <keyword match="RepaintManager" />
+ <keyword match="ReplicateScaleFilter" />
+ <keyword match="RepositoryIdHelper" />
+ <keyword match="Request" />
+ <keyword match="REQUEST_PROCESSING_POLICY_ID" />
+ <keyword match="RequestInfo" />
+ <keyword match="RequestInfoOperations" />
+ <keyword match="RequestingUserName" />
+ <keyword match="RequestProcessingPolicy" />
+ <keyword match="RequestProcessingPolicyOperations" />
+ <keyword match="RequestProcessingPolicyValue" />
+ <keyword match="RescaleOp" />
+ <keyword match="ResolutionSyntax" />
+ <keyword match="Resolver" />
+ <keyword match="ResolveResult" />
+ <keyword match="ResourceBundle" />
+ <keyword match="ResponseHandler" />
+ <keyword match="Result" />
+ <keyword match="ResultSet" />
+ <keyword match="ResultSetMetaData" />
+ <keyword match="ReverbType" />
+ <keyword match="RGBImageFilter" />
+ <keyword match="RMIClassLoader" />
+ <keyword match="RMIClassLoaderSpi" />
+ <keyword match="RMIClientSocketFactory" />
+ <keyword match="RMIFailureHandler" />
+ <keyword match="RMISecurityException" />
+ <keyword match="RMISecurityManager" />
+ <keyword match="RMIServerSocketFactory" />
+ <keyword match="RMISocketFactory" />
+ <keyword match="Robot" />
+ <keyword match="RootPaneContainer" />
+ <keyword match="RootPaneUI" />
+ <keyword match="RoundRectangle2D" />
+
+
+ <keyword match="RowMapper" />
+ <keyword match="RowSet" />
+ <keyword match="RowSetEvent" />
+ <keyword match="RowSetInternal" />
+ <keyword match="RowSetListener" />
+ <keyword match="RowSetMetaData" />
+ <keyword match="RowSetReader" />
+ <keyword match="RowSetWriter" />
+ <keyword match="RSAKey" />
+ <keyword match="RSAKeyGenParameterSpec" />
+ <keyword match="RSAMultiPrimePrivateCrtKey" />
+ <keyword match="RSAMultiPrimePrivateCrtKeySpec" />
+ <keyword match="RSAOtherPrimeInfo" />
+ <keyword match="RSAPrivateCrtKey" />
+ <keyword match="RSAPrivateCrtKeySpec" />
+ <keyword match="RSAPrivateKey" />
+ <keyword match="RSAPrivateKeySpec" />
+ <keyword match="RSAPublicKey" />
+ <keyword match="RSAPublicKeySpec" />
+ <keyword match="RTFEditorKit" />
+ <keyword match="RuleBasedCollator" />
+ <keyword match="Runnable" />
+ <keyword match="Runtime" />
+ <keyword match="RunTime" />
+ <keyword match="RuntimeException" />
+ <keyword match="RunTimeOperations" />
+ <keyword match="RuntimePermission" />
+ <keyword match="SampleModel" />
+ <keyword match="Savepoint" />
+ <keyword match="SAXException" />
+ <keyword match="SAXNotRecognizedException" />
+ <keyword match="SAXNotSupportedException" />
+ <keyword match="SAXParseException" />
+ <keyword match="SAXParser" />
+ <keyword match="SAXParserFactory" />
+ <keyword match="SAXResult" />
+ <keyword match="SAXSource" />
+ <keyword match="SAXTransformerFactory" />
+ <keyword match="ScatteringByteChannel" />
+ <keyword match="SchemaViolationException" />
+ <keyword match="Scrollable" />
+ <keyword match="Scrollbar" />
+ <keyword match="ScrollBarUI" />
+ <keyword match="ScrollPane" />
+ <keyword match="ScrollPaneAdjustable" />
+ <keyword match="ScrollPaneConstants" />
+ <keyword match="ScrollPaneLayout" />
+
+ <keyword match="ScrollPaneUI" />
+ <keyword match="SealedObject" />
+ <keyword match="SearchControls" />
+ <keyword match="SearchResult" />
+ <keyword match="SecretKey" />
+ <keyword match="SecretKeyFactory" />
+ <keyword match="SecretKeyFactorySpi" />
+ <keyword match="SecretKeySpec" />
+ <keyword match="SecureClassLoader" />
+ <keyword match="SecureRandom" />
+ <keyword match="SecureRandomSpi" />
+ <keyword match="Security" />
+ <keyword match="SecurityException" />
+ <keyword match="SecurityManager" />
+ <keyword match="SecurityPermission" />
+ <keyword match="Segment" />
+ <keyword match="SelectableChannel" />
+ <keyword match="SelectionKey" />
+ <keyword match="Selector" />
+ <keyword match="SelectorProvider" />
+ <keyword match="SeparatorUI" />
+ <keyword match="Sequence" />
+ <keyword match="SequenceInputStream" />
+ <keyword match="Sequencer" />
+
+ <keyword match="Serializable" />
+ <keyword match="SerializablePermission" />
+ <keyword match="Servant" />
+ <keyword match="SERVANT_RETENTION_POLICY_ID" />
+ <keyword match="ServantActivator" />
+ <keyword match="ServantActivatorHelper" />
+ <keyword match="ServantActivatorOperations" />
+ <keyword match="ServantActivatorPOA" />
+ <keyword match="ServantAlreadyActive" />
+ <keyword match="ServantAlreadyActiveHelper" />
+ <keyword match="ServantLocator" />
+ <keyword match="ServantLocatorHelper" />
+ <keyword match="ServantLocatorOperations" />
+ <keyword match="ServantLocatorPOA" />
+ <keyword match="ServantManager" />
+ <keyword match="ServantManagerOperations" />
+ <keyword match="ServantNotActive" />
+ <keyword match="ServantNotActiveHelper" />
+ <keyword match="ServantObject" />
+ <keyword match="ServantRetentionPolicy" />
+ <keyword match="ServantRetentionPolicyOperations" />
+ <keyword match="ServantRetentionPolicyValue" />
+ <keyword match="ServerCloneException" />
+ <keyword match="ServerError" />
+ <keyword match="ServerException" />
+ <keyword match="ServerNotActiveException" />
+ <keyword match="ServerRef" />
+ <keyword match="ServerRequest" />
+ <keyword match="ServerRequestInfo" />
+ <keyword match="ServerRequestInfoOperations" />
+ <keyword match="ServerRequestInterceptor" />
+ <keyword match="ServerRequestInterceptorOperations" />
+ <keyword match="ServerRuntimeException" />
+ <keyword match="ServerSocket" />
+ <keyword match="ServerSocketChannel" />
+ <keyword match="ServerSocketFactory" />
+ <keyword match="ServiceContext" />
+ <keyword match="ServiceContextHelper" />
+ <keyword match="ServiceContextHolder" />
+ <keyword match="ServiceContextListHelper" />
+ <keyword match="ServiceContextListHolder" />
+ <keyword match="ServiceDetail" />
+ <keyword match="ServiceDetailHelper" />
+ <keyword match="ServiceIdHelper" />
+ <keyword match="ServiceInformation" />
+ <keyword match="ServiceInformationHelper" />
+ <keyword match="ServiceInformationHolder" />
+ <keyword match="ServicePermission" />
+ <keyword match="ServiceRegistry" />
+
+ <keyword match="ServiceUI" />
+ <keyword match="ServiceUIFactory" />
+ <keyword match="ServiceUnavailableException" />
+ <keyword match="Set" />
+ <keyword match="SetOfIntegerSyntax" />
+ <keyword match="SetOverrideType" />
+ <keyword match="SetOverrideTypeHelper" />
+ <keyword match="Severity" />
+ <keyword match="Shape" />
+ <keyword match="ShapeGraphicAttribute" />
+ <keyword match="SheetCollate" />
+ <keyword match="Short" />
+ <keyword match="ShortBuffer" />
+ <keyword match="ShortBufferException" />
+ <keyword match="ShortHolder" />
+ <keyword match="ShortLookupTable" />
+ <keyword match="ShortMessage" />
+ <keyword match="ShortSeqHelper" />
+ <keyword match="ShortSeqHolder" />
+ <keyword match="Sides" />
+ <keyword match="Signature" />
+ <keyword match="SignatureException" />
+ <keyword match="SignatureSpi" />
+ <keyword match="SignedObject" />
+ <keyword match="Signer" />
+ <keyword match="SimpleAttributeSet" />
+ <keyword match="SimpleBeanInfo" />
+ <keyword match="SimpleDateFormat" />
+ <keyword match="SimpleDoc" />
+ <keyword match="SimpleFormatter" />
+ <keyword match="SimpleTimeZone" />
+ <keyword match="SinglePixelPackedSampleModel" />
+ <keyword match="SingleSelectionModel" />
+ <keyword match="Size2DSyntax" />
+ <keyword match="SizeLimitExceededException" />
+ <keyword match="SizeRequirements" />
+ <keyword match="SizeSequence" />
+ <keyword match="Skeleton" />
+ <keyword match="SkeletonMismatchException" />
+ <keyword match="SkeletonNotFoundException" />
+ <keyword match="SliderUI" />
+ <keyword match="Socket" />
+ <keyword match="SocketAddress" />
+ <keyword match="SocketChannel" />
+ <keyword match="SocketException" />
+ <keyword match="SocketFactory" />
+ <keyword match="SocketHandler" />
+ <keyword match="SocketImpl" />
+ <keyword match="SocketImplFactory" />
+ <keyword match="SocketOptions" />
+ <keyword match="SocketPermission" />
+ <keyword match="SocketSecurityException" />
+ <keyword match="SocketTimeoutException" />
+ <keyword match="SoftBevelBorder" />
+ <keyword match="SoftReference" />
+ <keyword match="SortedMap" />
+ <keyword match="SortedSet" />
+ <keyword match="SortingFocusTraversalPolicy" />
+ <keyword match="Soundbank" />
+ <keyword match="SoundbankReader" />
+ <keyword match="SoundbankResource" />
+ <keyword match="Source" />
+ <keyword match="SourceDataLine" />
+ <keyword match="SourceLocator" />
+ <keyword match="SpinnerDateModel" />
+ <keyword match="SpinnerListModel" />
+ <keyword match="SpinnerModel" />
+ <keyword match="SpinnerNumberModel" />
+ <keyword match="SpinnerUI" />
+ <keyword match="SplitPaneUI" />
+ <keyword match="Spring" />
+ <keyword match="SpringLayout" />
+
+ <keyword match="SQLData" />
+ <keyword match="SQLException" />
+ <keyword match="SQLInput" />
+ <keyword match="SQLOutput" />
+ <keyword match="SQLPermission" />
+ <keyword match="SQLWarning" />
+ <keyword match="SSLContext" />
+ <keyword match="SSLContextSpi" />
+ <keyword match="SSLException" />
+ <keyword match="SSLHandshakeException" />
+ <keyword match="SSLKeyException" />
+ <keyword match="SSLPeerUnverifiedException" />
+ <keyword match="SSLPermission" />
+ <keyword match="SSLProtocolException" />
+ <keyword match="SSLServerSocket" />
+ <keyword match="SSLServerSocketFactory" />
+ <keyword match="SSLSession" />
+ <keyword match="SSLSessionBindingEvent" />
+ <keyword match="SSLSessionBindingListener" />
+ <keyword match="SSLSessionContext" />
+ <keyword match="SSLSocket" />
+ <keyword match="SSLSocketFactory" />
+ <keyword match="Stack" />
+ <keyword match="StackOverflowError" />
+ <keyword match="StackTraceElement" />
+ <keyword match="StartTlsRequest" />
+ <keyword match="StartTlsResponse" />
+ <keyword match="State" />
+ <keyword match="StateEdit" />
+ <keyword match="StateEditable" />
+ <keyword match="StateFactory" />
+ <keyword match="Statement" />
+ <keyword match="Statement" />
+ <keyword match="Streamable" />
+ <keyword match="StreamableValue" />
+ <keyword match="StreamCorruptedException" />
+ <keyword match="StreamHandler" />
+ <keyword match="StreamPrintService" />
+ <keyword match="StreamPrintServiceFactory" />
+ <keyword match="StreamResult" />
+ <keyword match="StreamSource" />
+ <keyword match="StreamTokenizer" />
+ <keyword match="StrictMath" />
+ <keyword match="String" />
+ <keyword match="StringBuffer" />
+ <keyword match="StringBufferInputStream" />
+ <keyword match="StringCharacterIterator" />
+ <keyword match="StringContent" />
+ <keyword match="StringHolder" />
+ <keyword match="StringIndexOutOfBoundsException" />
+ <keyword match="StringNameHelper" />
+ <keyword match="StringReader" />
+ <keyword match="StringRefAddr" />
+ <keyword match="StringSelection" />
+ <keyword match="StringSeqHelper" />
+ <keyword match="StringSeqHolder" />
+ <keyword match="StringTokenizer" />
+ <keyword match="StringValueHelper" />
+ <keyword match="StringWriter" />
+ <keyword match="Stroke" />
+ <keyword match="Struct" />
+ <keyword match="StructMember" />
+ <keyword match="StructMemberHelper" />
+ <keyword match="Stub" />
+ <keyword match="StubDelegate" />
+ <keyword match="StubNotFoundException" />
+ <keyword match="Style" />
+ <keyword match="StyleConstants" />
+
+
+
+
+ <keyword match="StyleContext" />
+ <keyword match="StyledDocument" />
+ <keyword match="StyledEditorKit" />
+
+
+
+
+
+
+
+
+ <keyword match="StyleSheet" />
+
+
+ <keyword match="Subject" />
+ <keyword match="SubjectDomainCombiner" />
+ <keyword match="SUCCESSFUL" />
+ <keyword match="SupportedValuesAttribute" />
+ <keyword match="SwingConstants" />
+ <keyword match="SwingPropertyChangeSupport" />
+ <keyword match="SwingUtilities" />
+ <keyword match="SYNC_WITH_TRANSPORT" />
+ <keyword match="SyncFailedException" />
+ <keyword match="SyncScopeHelper" />
+ <keyword match="Synthesizer" />
+ <keyword match="SysexMessage" />
+ <keyword match="System" />
+ <keyword match="SYSTEM_EXCEPTION" />
+ <keyword match="SystemColor" />
+ <keyword match="SystemException" />
+ <keyword match="SystemFlavorMap" />
+ <keyword match="TabableView" />
+ <keyword match="TabbedPaneUI" />
+ <keyword match="TabExpander" />
+ <keyword match="TableCellEditor" />
+ <keyword match="TableCellRenderer" />
+ <keyword match="TableColumn" />
+ <keyword match="TableColumnModel" />
+ <keyword match="TableColumnModelEvent" />
+ <keyword match="TableColumnModelListener" />
+ <keyword match="TableHeaderUI" />
+ <keyword match="TableModel" />
+ <keyword match="TableModelEvent" />
+ <keyword match="TableModelListener" />
+ <keyword match="TableUI" />
+ <keyword match="TableView" />
+ <keyword match="TabSet" />
+ <keyword match="TabStop" />
+ <keyword match="TAG_ALTERNATE_IIOP_ADDRESS" />
+ <keyword match="TAG_CODE_SETS" />
+ <keyword match="TAG_INTERNET_IOP" />
+ <keyword match="TAG_JAVA_CODEBASE" />
+ <keyword match="TAG_MULTIPLE_COMPONENTS" />
+ <keyword match="TAG_ORB_TYPE" />
+ <keyword match="TAG_POLICIES" />
+ <keyword match="TagElement" />
+ <keyword match="TaggedComponent" />
+ <keyword match="TaggedComponentHelper" />
+ <keyword match="TaggedComponentHolder" />
+ <keyword match="TaggedProfile" />
+ <keyword match="TaggedProfileHelper" />
+ <keyword match="TaggedProfileHolder" />
+ <keyword match="TargetDataLine" />
+ <keyword match="TCKind" />
+ <keyword match="Templates" />
+ <keyword match="TemplatesHandler" />
+ <keyword match="Text" />
+ <keyword match="TextAction" />
+ <keyword match="TextArea" />
+ <keyword match="TextAttribute" />
+ <keyword match="TextComponent" />
+ <keyword match="TextEvent" />
+ <keyword match="TextField" />
+ <keyword match="TextHitInfo" />
+ <keyword match="TextInputCallback" />
+ <keyword match="TextLayout" />
+
+ <keyword match="TextListener" />
+ <keyword match="TextMeasurer" />
+ <keyword match="TextOutputCallback" />
+ <keyword match="TextSyntax" />
+ <keyword match="TextUI" />
+ <keyword match="TexturePaint" />
+ <keyword match="Thread" />
+ <keyword match="THREAD_POLICY_ID" />
+ <keyword match="ThreadDeath" />
+ <keyword match="ThreadGroup" />
+ <keyword match="ThreadLocal" />
+ <keyword match="ThreadPolicy" />
+ <keyword match="ThreadPolicyOperations" />
+ <keyword match="ThreadPolicyValue" />
+ <keyword match="Throwable" />
+ <keyword match="Tie" />
+ <keyword match="TileObserver" />
+ <keyword match="Time" />
+ <keyword match="TimeLimitExceededException" />
+ <keyword match="Timer" />
+ <keyword match="Timer" />
+ <keyword match="TimerTask" />
+ <keyword match="Timestamp" />
+ <keyword match="TimeZone" />
+ <keyword match="TitledBorder" />
+ <keyword match="ToolBarUI" />
+ <keyword match="Toolkit" />
+ <keyword match="ToolTipManager" />
+ <keyword match="ToolTipUI" />
+ <keyword match="TooManyListenersException" />
+ <keyword match="Track" />
+ <keyword match="TRANSACTION_REQUIRED" />
+ <keyword match="TRANSACTION_ROLLEDBACK" />
+ <keyword match="TransactionRequiredException" />
+ <keyword match="TransactionRolledbackException" />
+ <keyword match="TransactionService" />
+ <keyword match="Transferable" />
+ <keyword match="TransferHandler" />
+ <keyword match="TransformAttribute" />
+ <keyword match="Transformer" />
+ <keyword match="TransformerConfigurationException" />
+ <keyword match="TransformerException" />
+ <keyword match="TransformerFactory" />
+ <keyword match="TransformerFactoryConfigurationError" />
+ <keyword match="TransformerHandler" />
+ <keyword match="TRANSIENT" />
+ <keyword match="Transmitter" />
+ <keyword match="Transparency" />
+ <keyword match="TRANSPORT_RETRY" />
+ <keyword match="TreeCellEditor" />
+ <keyword match="TreeCellRenderer" />
+ <keyword match="TreeExpansionEvent" />
+ <keyword match="TreeExpansionListener" />
+ <keyword match="TreeMap" />
+ <keyword match="TreeModel" />
+ <keyword match="TreeModelEvent" />
+ <keyword match="TreeModelListener" />
+ <keyword match="TreeNode" />
+ <keyword match="TreePath" />
+ <keyword match="TreeSelectionEvent" />
+ <keyword match="TreeSelectionListener" />
+ <keyword match="TreeSelectionModel" />
+ <keyword match="TreeSet" />
+ <keyword match="TreeUI" />
+ <keyword match="TreeWillExpandListener" />
+ <keyword match="TrustAnchor" />
+ <keyword match="TrustManager" />
+ <keyword match="TrustManagerFactory" />
+ <keyword match="TrustManagerFactorySpi" />
+ <keyword match="TypeCode" />
+ <keyword match="TypeCodeHolder" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatch" />
+ <keyword match="TypeMismatchHelper" />
+ <keyword match="TypeMismatchHelper" />
+ <keyword match="Types" />
+ <keyword match="UID" />
+ <keyword match="UIDefaults" />
+
+
+
+
+ <keyword match="UIManager" />
+
+ <keyword match="UIResource" />
+ <keyword match="ULongLongSeqHelper" />
+ <keyword match="ULongLongSeqHolder" />
+ <keyword match="ULongSeqHelper" />
+ <keyword match="ULongSeqHolder" />
+ <keyword match="UndeclaredThrowableException" />
+ <keyword match="UndoableEdit" />
+ <keyword match="UndoableEditEvent" />
+ <keyword match="UndoableEditListener" />
+ <keyword match="UndoableEditSupport" />
+ <keyword match="UndoManager" />
+ <keyword match="UnexpectedException" />
+ <keyword match="UnicastRemoteObject" />
+ <keyword match="UnionMember" />
+ <keyword match="UnionMemberHelper" />
+ <keyword match="UNKNOWN" />
+ <keyword match="UnknownEncoding" />
+ <keyword match="UnknownEncodingHelper" />
+ <keyword match="UnknownError" />
+ <keyword match="UnknownException" />
+ <keyword match="UnknownGroupException" />
+ <keyword match="UnknownHostException" />
+ <keyword match="UnknownHostException" />
+ <keyword match="UnknownObjectException" />
+ <keyword match="UnknownServiceException" />
+ <keyword match="UnknownUserException" />
+ <keyword match="UnknownUserExceptionHelper" />
+ <keyword match="UnknownUserExceptionHolder" />
+ <keyword match="UnmappableCharacterException" />
+ <keyword match="UnmarshalException" />
+ <keyword match="UnmodifiableSetException" />
+ <keyword match="UnrecoverableKeyException" />
+ <keyword match="Unreferenced" />
+ <keyword match="UnresolvedAddressException" />
+ <keyword match="UnresolvedPermission" />
+ <keyword match="UnsatisfiedLinkError" />
+ <keyword match="UnsolicitedNotification" />
+ <keyword match="UnsolicitedNotificationEvent" />
+ <keyword match="UnsolicitedNotificationListener" />
+ <keyword match="UNSUPPORTED_POLICY" />
+ <keyword match="UNSUPPORTED_POLICY_VALUE" />
+ <keyword match="UnsupportedAddressTypeException" />
+ <keyword match="UnsupportedAudioFileException" />
+ <keyword match="UnsupportedCallbackException" />
+ <keyword match="UnsupportedCharsetException" />
+ <keyword match="UnsupportedClassVersionError" />
+ <keyword match="UnsupportedEncodingException" />
+ <keyword match="UnsupportedFlavorException" />
+ <keyword match="UnsupportedLookAndFeelException" />
+ <keyword match="UnsupportedOperationException" />
+ <keyword match="URI" />
+ <keyword match="URIException" />
+ <keyword match="URIResolver" />
+ <keyword match="URISyntax" />
+ <keyword match="URISyntaxException" />
+ <keyword match="URL" />
+ <keyword match="URLClassLoader" />
+ <keyword match="URLConnection" />
+ <keyword match="URLDecoder" />
+ <keyword match="URLEncoder" />
+ <keyword match="URLStreamHandler" />
+ <keyword match="URLStreamHandlerFactory" />
+ <keyword match="URLStringHelper" />
+ <keyword match="USER_EXCEPTION" />
+ <keyword match="UserException" />
+ <keyword match="UShortSeqHelper" />
+ <keyword match="UShortSeqHolder" />
+ <keyword match="UTFDataFormatException" />
+ <keyword match="Util" />
+ <keyword match="UtilDelegate" />
+ <keyword match="Utilities" />
+ <keyword match="ValueBase" />
+ <keyword match="ValueBaseHelper" />
+ <keyword match="ValueBaseHolder" />
+ <keyword match="ValueFactory" />
+ <keyword match="ValueHandler" />
+ <keyword match="ValueMember" />
+ <keyword match="ValueMemberHelper" />
+ <keyword match="VariableHeightLayoutCache" />
+ <keyword match="Vector" />
+ <keyword match="VerifyError" />
+ <keyword match="VersionSpecHelper" />
+ <keyword match="VetoableChangeListener" />
+ <keyword match="VetoableChangeListenerProxy" />
+ <keyword match="VetoableChangeSupport" />
+ <keyword match="View" />
+ <keyword match="ViewFactory" />
+ <keyword match="ViewportLayout" />
+ <keyword match="ViewportUI" />
+ <keyword match="VirtualMachineError" />
+ <keyword match="Visibility" />
+ <keyword match="VisibilityHelper" />
+ <keyword match="VM_ABSTRACT" />
+ <keyword match="VM_CUSTOM" />
+ <keyword match="VM_NONE" />
+ <keyword match="VM_TRUNCATABLE" />
+ <keyword match="VMID" />
+ <keyword match="VoiceStatus" />
+ <keyword match="Void" />
+ <keyword match="VolatileImage" />
+ <keyword match="WCharSeqHelper" />
+ <keyword match="WCharSeqHolder" />
+ <keyword match="WeakHashMap" />
+ <keyword match="WeakReference" />
+ <keyword match="Window" />
+ <keyword match="WindowAdapter" />
+ <keyword match="WindowConstants" />
+ <keyword match="WindowEvent" />
+ <keyword match="WindowFocusListener" />
+ <keyword match="WindowListener" />
+ <keyword match="WindowStateListener" />
+ <keyword match="WrappedPlainView" />
+ <keyword match="WritableByteChannel" />
+ <keyword match="WritableRaster" />
+ <keyword match="WritableRenderedImage" />
+ <keyword match="WriteAbortedException" />
+ <keyword match="Writer" />
+ <keyword match="WrongAdapter" />
+ <keyword match="WrongAdapterHelper" />
+ <keyword match="WrongPolicy" />
+ <keyword match="WrongPolicyHelper" />
+ <keyword match="WrongTransaction" />
+ <keyword match="WrongTransactionHelper" />
+ <keyword match="WrongTransactionHolder" />
+ <keyword match="WStringSeqHelper" />
+ <keyword match="WStringSeqHolder" />
+ <keyword match="WStringValueHelper" />
+ <keyword match="X500Principal" />
+ <keyword match="X500PrivateCredential" />
+ <keyword match="X509Certificate" />
+ <keyword match="X509Certificate" />
+ <keyword match="X509CertSelector" />
+ <keyword match="X509CRL" />
+ <keyword match="X509CRLEntry" />
+ <keyword match="X509CRLSelector" />
+ <keyword match="X509EncodedKeySpec" />
+ <keyword match="X509Extension" />
+ <keyword match="X509KeyManager" />
+ <keyword match="X509TrustManager" />
+ <keyword match="XAConnection" />
+ <keyword match="XADataSource" />
+ <keyword match="XAException" />
+ <keyword match="XAResource" />
+ <keyword match="Xid" />
+ <keyword match="XMLDecoder" />
+ <keyword match="XMLEncoder" />
+ <keyword match="XMLFilter" />
+ <keyword match="XMLFilterImpl" />
+ <keyword match="XMLFormatter" />
+ <keyword match="XMLReader" />
+ <keyword match="XMLReaderAdapter" />
+ <keyword match="XMLReaderFactory" />
+ <keyword match="ZipEntry" />
+ <keyword match="ZipException" />
+ <keyword match="ZipFile" />
+ <keyword match="ZipInputStream" />
+ <keyword match="ZipOutputStream" />
+ <keyword match="ZoneView" />
+ <keyword match="_BindingIteratorImplBase" />
+ <keyword match="_BindingIteratorStub" />
+ <keyword match="_DynAnyFactoryStub" />
+ <keyword match="_DynAnyStub" />
+ <keyword match="_DynArrayStub" />
+ <keyword match="_DynEnumStub" />
+ <keyword match="_DynFixedStub" />
+ <keyword match="_DynSequenceStub" />
+ <keyword match="_DynStructStub" />
+ <keyword match="_DynUnionStub" />
+ <keyword match="_DynValueStub" />
+ <keyword match="_IDLTypeStub" />
+ <keyword match="_NamingContextExtStub" />
+ <keyword match="_NamingContextImplBase" />
+ <keyword match="_NamingContextStub" />
+ <keyword match="_PolicyStub" />
+ <keyword match="_Remote_Stub" />
+ <keyword match="_ServantActivatorStub" />
+ <keyword match="_ServantLocatorStub" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/javascript.xml b/library/Text_Highlighter/javascript.xml
new file mode 100644
index 000000000..e478515a7
--- /dev/null
+++ b/library/Text_Highlighter/javascript.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0"?>
+<!-- $Id: javascript.xml,v 1.3 2008-01-01 23:43:36 ssttoo Exp $ -->
+
+<highlight lang="javascript" case = "no">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ </block>
+
+ <block name="descaped" match="\\\\|\\&quot;|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ </block>
+
+ <region name="comment" start="\/\/" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="number" match="0x\d*|\d*\.?\d+" innerClass="number"/>
+
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case = "yes">
+ <keyword match="String"/>
+ <keyword match="Array"/>
+ <keyword match="RegExp"/>
+ <keyword match="Function"/>
+ <keyword match="Math"/>
+ <keyword match="Number"/>
+ <keyword match="Date"/>
+ <keyword match="Image"/>
+ <keyword match="window"/>
+ <keyword match="document"/>
+ <keyword match="navigator"/>
+ <keyword match="onAbort"/>
+ <keyword match="onBlur"/>
+ <keyword match="onChange"/>
+ <keyword match="onClick"/>
+ <keyword match="onDblClick"/>
+ <keyword match="onDragDrop"/>
+ <keyword match="onError"/>
+ <keyword match="onFocus"/>
+ <keyword match="onKeyDown"/>
+ <keyword match="onKeyPress"/>
+ <keyword match="onKeyUp"/>
+ <keyword match="onLoad"/>
+ <keyword match="onMouseDown"/>
+ <keyword match="onMouseOver"/>
+ <keyword match="onMouseOut"/>
+ <keyword match="onMouseMove"/>
+ <keyword match="onMouseUp"/>
+ <keyword match="onMove"/>
+ <keyword match="onReset"/>
+ <keyword match="onResize"/>
+ <keyword match="onSelect"/>
+ <keyword match="onSubmit"/>
+ <keyword match="onUnload"/>
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="break"/>
+ <keyword match="continue"/>
+ <keyword match="do"/>
+ <keyword match="while"/>
+ <keyword match="do"/>
+ <keyword match="export"/>
+ <keyword match="for"/>
+ <keyword match="in"/>
+ <keyword match="if"/>
+ <keyword match="else"/>
+ <keyword match="import"/>
+ <keyword match="return"/>
+ <keyword match="label"/>
+ <keyword match="switch"/>
+ <keyword match="case"/>
+ <keyword match="var"/>
+ <keyword match="with"/>
+ <keyword match="delete"/>
+ <keyword match="new"/>
+ <keyword match="this"/>
+ <keyword match="typeof"/>
+ <keyword match="void"/>
+ <keyword match="abstract"/>
+ <keyword match="boolean"/>
+ <keyword match="byte"/>
+ <keyword match="catch"/>
+ <keyword match="char"/>
+ <keyword match="class"/>
+ <keyword match="const"/>
+ <keyword match="continue"/>
+ <keyword match="debugger"/>
+ <keyword match="default"/>
+ <keyword match="double"/>
+ <keyword match="enum"/>
+ <keyword match="extends"/>
+ <keyword match="false"/>
+ <keyword match="final"/>
+ <keyword match="finally"/>
+ <keyword match="float"/>
+ <keyword match="function"/>
+ <keyword match="implements"/>
+ <keyword match="goto"/>
+ <keyword match="in"/>
+ <keyword match="instanceof"/>
+ <keyword match="int"/>
+ <keyword match="interface"/>
+ <keyword match="long"/>
+ <keyword match="native"/>
+ <keyword match="null"/>
+ <keyword match="package"/>
+ <keyword match="private"/>
+ <keyword match="protected"/>
+ <keyword match="public"/>
+ <keyword match="short"/>
+ <keyword match="static"/>
+ <keyword match="super"/>
+ <keyword match="synchronized"/>
+ <keyword match="throw"/>
+ <keyword match="throws"/>
+ <keyword match="transient"/>
+ <keyword match="true"/>
+ <keyword match="try"/>
+ <keyword match="volatile"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/mysql.xml b/library/Text_Highlighter/mysql.xml
new file mode 100644
index 000000000..082b62795
--- /dev/null
+++ b/library/Text_Highlighter/mysql.xml
@@ -0,0 +1,424 @@
+<?xml version="1.0"?>
+<!-- $Id: mysql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="mysql" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="qidentifier" delimClass="quotes" innerClass="identifier"
+ start="`" end="`" />
+
+ <region name="mlcomment" delimClass="comment" innerClass="comment"
+ start="\/\*" end="\*\/" />
+
+ <block name="comment" match="(#|--\s).*" innerClass="comment" />
+
+ <block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code"
+ start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strdouble"/>
+ </block>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved"
+ case="no">
+ <keyword match="action" />
+ <keyword match="add" />
+ <keyword match="aggregate" />
+ <keyword match="all" />
+ <keyword match="alter" />
+ <keyword match="after" />
+ <keyword match="and" />
+ <keyword match="as" />
+ <keyword match="asc" />
+ <keyword match="avg" />
+ <keyword match="avg_row_length" />
+ <keyword match="auto_increment" />
+ <keyword match="between" />
+ <keyword match="bigint" />
+ <keyword match="bit" />
+
+ <keyword match="binary" />
+ <keyword match="blob" />
+ <keyword match="bool" />
+ <keyword match="both" />
+ <keyword match="by" />
+ <keyword match="cascade" />
+ <keyword match="case" />
+ <keyword match="char" />
+ <keyword match="character" />
+ <keyword match="change" />
+ <keyword match="check" />
+ <keyword match="checksum" />
+ <keyword match="column" />
+ <keyword match="columns" />
+ <keyword match="comment" />
+ <keyword match="constraint" />
+ <keyword match="create" />
+
+ <keyword match="cross" />
+ <keyword match="current_date" />
+ <keyword match="current_time" />
+ <keyword match="current_timestamp" />
+ <keyword match="data" />
+ <keyword match="database" />
+ <keyword match="databases" />
+ <keyword match="date" />
+ <keyword match="datetime" />
+ <keyword match="day" />
+ <keyword match="day_hour" />
+ <keyword match="day_minute" />
+ <keyword match="day_second" />
+ <keyword match="dayofmonth" />
+ <keyword match="dayofweek" />
+ <keyword match="dayofyear" />
+ <keyword match="dec" />
+
+ <keyword match="decimal" />
+ <keyword match="default" />
+ <keyword match="delayed" />
+ <keyword match="delay_key_write" />
+ <keyword match="delete" />
+ <keyword match="desc" />
+ <keyword match="describe" />
+ <keyword match="distinct" />
+ <keyword match="distinctrow" />
+ <keyword match="double" />
+ <keyword match="drop" />
+ <keyword match="end" />
+ <keyword match="else" />
+ <keyword match="escape" />
+ <keyword match="escaped" />
+ <keyword match="enclosed" />
+ <keyword match="enum" />
+
+ <keyword match="explain" />
+ <keyword match="exists" />
+ <keyword match="fields" />
+ <keyword match="file" />
+ <keyword match="first" />
+ <keyword match="float" />
+ <keyword match="float4" />
+ <keyword match="float8" />
+ <keyword match="flush" />
+ <keyword match="foreign" />
+ <keyword match="from" />
+ <keyword match="for" />
+ <keyword match="full" />
+ <keyword match="function" />
+ <keyword match="global" />
+ <keyword match="grant" />
+ <keyword match="grants" />
+
+ <keyword match="group" />
+ <keyword match="having" />
+ <keyword match="heap" />
+ <keyword match="high_priority" />
+ <keyword match="hour" />
+ <keyword match="hour_minute" />
+ <keyword match="hour_second" />
+ <keyword match="hosts" />
+ <keyword match="identified" />
+ <keyword match="ignore" />
+ <keyword match="in" />
+ <keyword match="index" />
+ <keyword match="infile" />
+ <keyword match="inner" />
+ <keyword match="insert" />
+ <keyword match="insert_id" />
+ <keyword match="int" />
+
+ <keyword match="integer" />
+ <keyword match="interval" />
+ <keyword match="int1" />
+ <keyword match="int2" />
+ <keyword match="int3" />
+ <keyword match="int4" />
+ <keyword match="int8" />
+ <keyword match="into" />
+ <keyword match="if" />
+ <keyword match="is" />
+ <keyword match="isam" />
+ <keyword match="join" />
+ <keyword match="key" />
+ <keyword match="keys" />
+ <keyword match="kill" />
+ <keyword match="last_insert_id" />
+ <keyword match="leading" />
+
+ <keyword match="left" />
+ <keyword match="length" />
+ <keyword match="like" />
+ <keyword match="lines" />
+ <keyword match="limit" />
+ <keyword match="load" />
+ <keyword match="local" />
+ <keyword match="lock" />
+ <keyword match="logs" />
+ <keyword match="long" />
+ <keyword match="longblob" />
+ <keyword match="longtext" />
+ <keyword match="low_priority" />
+ <keyword match="max" />
+ <keyword match="max_rows" />
+ <keyword match="match" />
+ <keyword match="mediumblob" />
+
+ <keyword match="mediumtext" />
+ <keyword match="mediumint" />
+ <keyword match="middleint" />
+ <keyword match="min_rows" />
+ <keyword match="minute" />
+ <keyword match="minute_second" />
+ <keyword match="modify" />
+ <keyword match="month" />
+ <keyword match="monthname" />
+ <keyword match="myisam" />
+ <keyword match="natural" />
+ <keyword match="numeric" />
+ <keyword match="no" />
+ <keyword match="not" />
+ <keyword match="null" />
+ <keyword match="on" />
+ <keyword match="optimize" />
+
+ <keyword match="option" />
+ <keyword match="optionally" />
+ <keyword match="or" />
+ <keyword match="order" />
+ <keyword match="outer" />
+ <keyword match="outfile" />
+ <keyword match="pack_keys" />
+ <keyword match="partial" />
+ <keyword match="password" />
+ <keyword match="precision" />
+ <keyword match="primary" />
+ <keyword match="procedure" />
+ <keyword match="process" />
+ <keyword match="processlist" />
+ <keyword match="privileges" />
+ <keyword match="read" />
+ <keyword match="real" />
+
+ <keyword match="references" />
+ <keyword match="reload" />
+ <keyword match="regexp" />
+ <keyword match="rename" />
+ <keyword match="replace" />
+ <keyword match="restrict" />
+ <keyword match="returns" />
+ <keyword match="revoke" />
+ <keyword match="rlike" />
+ <keyword match="row" />
+ <keyword match="rows" />
+ <keyword match="second" />
+ <keyword match="select" />
+ <keyword match="set" />
+ <keyword match="show" />
+ <keyword match="shutdown" />
+ <keyword match="smallint" />
+
+ <keyword match="soname" />
+ <keyword match="sql_big_tables" />
+ <keyword match="sql_big_selects" />
+ <keyword match="sql_low_priority_updates" />
+ <keyword match="sql_log_off" />
+ <keyword match="sql_log_update" />
+ <keyword match="sql_select_limit" />
+ <keyword match="sql_small_result" />
+ <keyword match="sql_big_result" />
+ <keyword match="sql_warnings" />
+ <keyword match="straight_join" />
+ <keyword match="starting" />
+ <keyword match="status" />
+ <keyword match="string" />
+ <keyword match="table" />
+ <keyword match="tables" />
+ <keyword match="temporary" />
+
+ <keyword match="terminated" />
+ <keyword match="text" />
+ <keyword match="then" />
+ <keyword match="time" />
+ <keyword match="timestamp" />
+ <keyword match="tinyblob" />
+ <keyword match="tinytext" />
+ <keyword match="tinyint" />
+ <keyword match="trailing" />
+ <keyword match="to" />
+ <keyword match="type" />
+ <keyword match="use" />
+ <keyword match="using" />
+ <keyword match="unique" />
+ <keyword match="unlock" />
+ <keyword match="unsigned" />
+ <keyword match="update" />
+
+ <keyword match="usage" />
+ <keyword match="values" />
+ <keyword match="varchar" />
+ <keyword match="variables" />
+ <keyword match="varying" />
+ <keyword match="varbinary" />
+ <keyword match="with" />
+ <keyword match="write" />
+ <keyword match="when" />
+ <keyword match="where" />
+ <keyword match="year" />
+ <keyword match="year_month" />
+ <keyword match="zerofill" />
+ </keywords>
+
+ <keywords name="function" inherits="possiblefunction" innerClass="reserved"
+ case="no" otherwise="identifier">
+ <keyword match="ABS" />
+ <keyword match="ACOS" />
+ <keyword match="ADDDATE" />
+ <keyword match="ASCII" />
+ <keyword match="ASIN" />
+ <keyword match="ATAN" />
+ <keyword match="ATAN2" />
+ <keyword match="AVG" />
+ <keyword match="BENCHMARK" />
+ <keyword match="BIN" />
+ <keyword match="CEILING" />
+ <keyword match="CHAR" />
+ <keyword match="COALESCE" />
+ <keyword match="CONCAT" />
+ <keyword match="CONV" />
+ <keyword match="COS" />
+ <keyword match="COT" />
+ <keyword match="COUNT" />
+ <keyword match="CURDATE" />
+ <keyword match="CURTIME" />
+ <keyword match="DATABASE" />
+ <keyword match="DAYNAME" />
+ <keyword match="DAYOFMONTH" />
+ <keyword match="DAYOFWEEK" />
+ <keyword match="DAYOFYEAR" />
+ <keyword match="DECODE" />
+ <keyword match="DEGREES" />
+ <keyword match="ELT" />
+
+ <keyword match="ENCODE" />
+ <keyword match="ENCRYPT" />
+ <keyword match="EXP" />
+ <keyword match="EXTRACT" />
+
+ <keyword match="EXTRACT" />
+ <keyword match="FIELD" />
+ <keyword match="FLOOR" />
+ <keyword match="FORMAT" />
+ <keyword match="GREATEST" />
+ <keyword match="HEX" />
+ <keyword match="HOUR" />
+ <keyword match="IF" />
+ <keyword match="IFNULL" />
+ <keyword match="INSERT" />
+ <keyword match="INSTR" />
+ <keyword match="INTERVAL" />
+
+ <keyword match="ISNULL" />
+ <keyword match="LCASE" />
+ <keyword match="LEAST" />
+ <keyword match="LEFT" />
+ <keyword match="LENGTH" />
+ <keyword match="LOCATE" />
+
+ <keyword match="LOCATE" />
+ <keyword match="LOG" />
+ <keyword match="LOG10" />
+ <keyword match="LOWER" />
+ <keyword match="LPAD" />
+ <keyword match="LTRIM" />
+ <keyword match="MAX" />
+ <keyword match="MD5" />
+ <keyword match="MID" />
+ <keyword match="MIN" />
+
+ <keyword match="MINUTE" />
+ <keyword match="MOD" />
+ <keyword match="MONTH" />
+ <keyword match="MONTHNAME" />
+ <keyword match="NOW" />
+ <keyword match="NULLIF" />
+ <keyword match="OCT" />
+ <keyword match="ORD" />
+ <keyword match="PASSWORD" />
+ <keyword match="PI" />
+ <keyword match="POSITION" />
+
+ <keyword match="POW" />
+ <keyword match="POWER" />
+ <keyword match="prepare" />
+ <keyword match="QUARTER" />
+ <keyword match="RADIANS" />
+ <keyword match="RAND" />
+ <keyword match="REPEAT" />
+ <keyword match="REPLACE" />
+ <keyword match="REVERSE" />
+ <keyword match="RIGHT" />
+ <keyword match="ROUND" />
+
+ <keyword match="ROUND" />
+ <keyword match="RPAD" />
+
+ <keyword match="RTRIM" />
+ <keyword match="SECOND" />
+ <keyword match="SIGN" />
+ <keyword match="SIN" />
+ <keyword match="SOUNDEX" />
+ <keyword match="SPACE" />
+ <keyword match="SQRT" />
+ <keyword match="STD" />
+ <keyword match="STDDEV" />
+ <keyword match="STRCMP" />
+ <keyword match="SUBDATE" />
+ <keyword match="SUBSTRING" />
+
+ <keyword match="SUBSTRING" />
+ <keyword match="SUM" />
+ <keyword match="SYSDATE" />
+ <keyword match="TAN" />
+
+ <keyword match="TRIM" />
+ <keyword match="TRUNCATE" />
+ <keyword match="UCASE" />
+ <keyword match="UPPER" />
+ <keyword match="USER" />
+ <keyword match="VERSION" />
+ <keyword match="WEEK" />
+ <keyword match="WEEKDAY" />
+ <keyword match="YEAR" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/perl.xml b/library/Text_Highlighter/perl.xml
new file mode 100644
index 000000000..54f8835ea
--- /dev/null
+++ b/library/Text_Highlighter/perl.xml
@@ -0,0 +1,439 @@
+<?xml version="1.0"?>
+<!-- $Id: perl.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="perl" case = "yes">
+
+ <authors>
+ <author name="Mariusz 'kg' Jakubowski" email="kg@alternatywa.info" jid="kg@chrome.pl"/>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>This highlighter is EXPERIMENTAL, so that it may work incorrectly.
+Most rules were created by Mariusz Jakubowski, and extended by me.
+My knowledge of Perl is poor, and Perl syntax seems too
+complicated to me.</comment>
+
+ <default innerClass="code"/>
+
+ <block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
+ <partClass index="1" innerClass="special" />
+ <partClass index="2" innerClass="string" />
+ </block>
+
+ <region name="pod" innerClass="comment" start="/^=\w+/m" end="/^=cut[^\n]*/m" startBOL="yes" endBOL="yes"/>
+
+ <!--
+ brackets
+ -->
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <!--
+ use smth
+ -->
+ <block name="usestatement" match="(use)\s+([\w:]*)" innerClass="special">
+ <partClass index="1" innerClass="reserved" />
+ <partClass index="2" innerClass="special" />
+ </block>
+
+ <block name="packagereference" match="[&amp; ](\w{2,}::)+\w{2,}" innerClass="special"/>
+
+ <region name="q-w-q-statement"
+ start="/\b(q[wq]\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+
+ </region>
+
+ <region name="qstatement"
+ start="/\b(q\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ </region>
+
+ <!--
+ comments
+ -->
+ <block name="comment" match="#.*" innerClass="comment" />
+
+
+ <!--
+ regexpr
+ FIXME: this should be rewrited
+ -->
+ <block name="dblregexprver1" match="/(s|tr) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2)((\\.|[^\\])*?)(\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ <partClass index="6" innerClass="string" />
+ <partClass index="8" innerClass="quotes" />
+ </block>
+
+ <block name="dblregexprver2" match="/(m) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ </block>
+
+
+ <region name="regexp" start=" \/" end="\/[cgimosx]*" innerClass="string" delimClass="quotes" case="yes">
+ <contains block="reescaped"/>
+ </region>
+
+ <block name="reescaped" match="\\\/" innerClass="string" contained="yes">
+ <onlyin region="regexp"/>
+ </block>
+
+ <!--
+ variables
+ FIXME: @{...}
+ -->
+ <block name="bracketsvars" match="([a-z1-9_]+)(\s*=>)" innerClass="string" contained="yes" case="no">
+ <partClass index="1" innerClass="string" />
+ <partClass index="2" innerClass="code" />
+ <onlyin region="brackets"/>
+ </block>
+
+ <block name="specialvar" match="\$#?[1-9'`@!]" innerClass="var"/>
+
+ <block name="var" match="(\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+ <block name="containedvar" match="\$([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+
+ <!-- not shure what is this, but the Perlers do it :) -->
+ <block name="var2" match="(&amp;|\w+)'[\w_']+\b" innerClass="var" case="no"/>
+
+ <block name="classvar" match="(\{)([a-z1-9]+)(\})" innerClass="var" case="no">
+ <partClass index="1" innerClass="brackets" />
+ <partClass index="2" innerClass="var" />
+ <partClass index="3" innerClass="brackets" />
+ </block>
+
+ <block name="curlyvar" match="[\$@%]#?\{[a-z1-9]+\}" innerClass="var" case="no"/>
+
+ <!--
+ quotes
+ -->
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="qstatement"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{@]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="q-w-q-statement"/>
+ </block>
+
+ <!-- logical op.
+ <block name="logic" match="\|\||&amp;&amp;" innerClass="reserved" contained="yes"/>-->
+
+ <!--
+ identifiers
+ -->
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <!--
+ numbers
+ -->
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+ <!--
+ http://www.perldoc.com/perl5.6/pod/perlfunc.html
+ Alphabetical Listing of Perl Functions
+ -->
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="abs"/>
+ <keyword match="accept"/>
+ <keyword match="alarm"/>
+ <keyword match="atan2"/>
+
+ <keyword match="bind"/>
+ <keyword match="binmode"/>
+ <keyword match="bless"/>
+
+ <keyword match="caller"/>
+ <keyword match="chdir"/>
+ <keyword match="chmod"/>
+ <keyword match="chomp"/>
+ <keyword match="chop"/>
+ <keyword match="chown"/>
+ <keyword match="chr"/>
+ <keyword match="chroot"/>
+ <keyword match="close"/>
+ <keyword match="closedir"/>
+ <keyword match="connect"/>
+ <keyword match="continue"/>
+ <keyword match="cos"/>
+ <keyword match="crypt"/>
+
+ <keyword match="dbmclose"/>
+ <keyword match="dbmopen"/>
+ <keyword match="defined"/>
+ <keyword match="delete"/>
+ <keyword match="die"/>
+ <keyword match="do"/>
+ <keyword match="dump"/>
+
+ <keyword match="each"/>
+ <keyword match="endgrent"/>
+ <keyword match="endhostent"/>
+ <keyword match="endnetent"/>
+ <keyword match="endprotoent"/>
+ <keyword match="endpwent"/>
+ <keyword match="endservent"/>
+ <keyword match="eof"/>
+ <keyword match="eval"/>
+ <keyword match="exec"/>
+ <keyword match="exists"/>
+ <keyword match="exit"/>
+ <keyword match="exp"/>
+
+ <keyword match="fcntl"/>
+ <keyword match="fileno"/>
+ <keyword match="flock"/>
+ <keyword match="fork"/>
+ <keyword match="format"/>
+ <keyword match="formline"/>
+
+ <keyword match="getc"/>
+ <keyword match="getgrent"/>
+ <keyword match="getgrgid"/>
+ <keyword match="getgrnam"/>
+ <keyword match="gethostbyaddr"/>
+ <keyword match="gethostbyname"/>
+ <keyword match="gethostent"/>
+ <keyword match="getlogin"/>
+ <keyword match="getnetbyaddr"/>
+ <keyword match="getnetbyname"/>
+ <keyword match="getnetent"/>
+ <keyword match="getpeername"/>
+ <keyword match="getpgrp"/>
+ <keyword match="getppid"/>
+ <keyword match="getpriority"/>
+ <keyword match="getprotobyname"/>
+ <keyword match="getprotobynumber"/>
+ <keyword match="getprotoent"/>
+ <keyword match="getpwent"/>
+ <keyword match="getpwnam"/>
+ <keyword match="getpwuid"/>
+ <keyword match="getservbyname"/>
+ <keyword match="getservbyport"/>
+ <keyword match="getservent"/>
+ <keyword match="getsockname"/>
+ <keyword match="getsockopt"/>
+ <keyword match="glob"/>
+ <keyword match="gmtime"/>
+ <keyword match="goto"/>
+ <keyword match="grep"/>
+
+ <keyword match="hex"/>
+
+ <keyword match="import"/>
+ <keyword match="index"/>
+ <keyword match="int"/>
+ <keyword match="ioctl"/>
+
+ <keyword match="join"/>
+
+ <keyword match="keys"/>
+ <keyword match="kill"/>
+
+ <keyword match="last"/>
+ <keyword match="lc"/>
+ <keyword match="lcfirst"/>
+ <keyword match="length"/>
+ <keyword match="link"/>
+ <keyword match="listen"/>
+ <keyword match="local"/>
+ <keyword match="localtime"/>
+ <keyword match="lock"/>
+ <keyword match="log"/>
+ <keyword match="lstat"/>
+
+ <!--<keyword match="m"/>-->
+ <keyword match="map"/>
+ <keyword match="mkdir"/>
+ <keyword match="msgctl"/>
+ <keyword match="msgget"/>
+ <keyword match="msgrcv"/>
+ <keyword match="msgsnd"/>
+ <keyword match="my"/>
+
+ <keyword match="next"/>
+ <keyword match="no"/>
+
+ <keyword match="oct"/>
+ <keyword match="open"/>
+ <keyword match="opendir"/>
+ <keyword match="ord"/>
+ <keyword match="our"/>
+
+ <keyword match="pack"/>
+ <keyword match="package"/>
+ <keyword match="pipe"/>
+ <keyword match="pop"/>
+ <keyword match="pos"/>
+ <keyword match="print"/>
+ <keyword match="printf"/>
+ <keyword match="prototype"/>
+ <keyword match="push"/>
+
+ <!--<keyword match="q"/>
+ <keyword match="qq"/>
+ <keyword match="qr"/>-->
+ <keyword match="quotemeta"/>
+ <!--<keyword match="qw"/>
+ <keyword match="qx"/>-->
+
+ <keyword match="rand"/>
+ <keyword match="read"/>
+ <keyword match="readdir"/>
+ <keyword match="readline"/>
+ <keyword match="readlink"/>
+ <keyword match="readpipe"/>
+ <keyword match="recv"/>
+ <keyword match="redo"/>
+ <keyword match="ref"/>
+ <keyword match="rename"/>
+ <keyword match="require"/>
+ <keyword match="reset"/>
+ <keyword match="return"/>
+ <keyword match="reverse"/>
+ <keyword match="rewinddir"/>
+ <keyword match="rindex"/>
+ <keyword match="rmdir"/>
+
+ <!--<keyword match="s"/>-->
+ <keyword match="scalar"/>
+ <keyword match="seek"/>
+ <keyword match="seekdir"/>
+ <keyword match="select"/>
+ <keyword match="semctl"/>
+ <keyword match="semget"/>
+ <keyword match="semop"/>
+ <keyword match="send"/>
+ <keyword match="setgrent"/>
+ <keyword match="sethostent"/>
+ <keyword match="setnetent"/>
+ <keyword match="setpgrp"/>
+ <keyword match="setpriority"/>
+ <keyword match="setprotoent"/>
+ <keyword match="setpwent"/>
+ <keyword match="setservent"/>
+ <keyword match="setsockopt"/>
+ <keyword match="shift"/>
+ <keyword match="shmctl"/>
+ <keyword match="shmget"/>
+ <keyword match="shmread"/>
+ <keyword match="shmwrite"/>
+ <keyword match="shutdown"/>
+ <keyword match="sin"/>
+ <keyword match="sleep"/>
+ <keyword match="socket"/>
+ <keyword match="socketpair"/>
+ <keyword match="sort"/>
+ <keyword match="splice"/>
+ <keyword match="split"/>
+ <keyword match="sprintf"/>
+ <keyword match="sqrt"/>
+ <keyword match="srand"/>
+ <keyword match="stat"/>
+ <keyword match="study"/>
+ <keyword match="sub"/>
+ <keyword match="substr"/>
+ <keyword match="symlink"/>
+ <keyword match="syscall"/>
+ <keyword match="sysopen"/>
+ <keyword match="sysread"/>
+ <keyword match="sysseek"/>
+ <keyword match="system"/>
+ <keyword match="syswrite"/>
+
+ <keyword match="tell"/>
+ <keyword match="telldir"/>
+ <keyword match="tie"/>
+ <keyword match="tied"/>
+ <keyword match="time"/>
+ <keyword match="times"/>
+ <!--<keyword match="tr"/>-->
+ <keyword match="truncate"/>
+
+ <keyword match="uc"/>
+ <keyword match="ucfirst"/>
+ <keyword match="umask"/>
+ <keyword match="undef"/>
+ <keyword match="unlink"/>
+ <keyword match="unpack"/>
+ <keyword match="unshift"/>
+ <keyword match="untie"/>
+ <keyword match="use"/>
+ <keyword match="utime"/>
+
+ <keyword match="values"/>
+ <keyword match="vec"/>
+
+ <keyword match="wait"/>
+ <keyword match="waitpid"/>
+ <keyword match="wantarray"/>
+ <keyword match="warn"/>
+ <keyword match="write"/>
+
+ <keyword match="y"/>
+ </keywords>
+
+ <keywords name="missingreserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="new"/>
+ </keywords>
+
+
+ <keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="if"/>
+ <keyword match="else"/>
+ <keyword match="elsif"/>
+ <keyword match="while"/>
+ <keyword match="unless"/>
+ <keyword match="for"/>
+ <keyword match="foreach"/>
+ <keyword match="until"/>
+ <keyword match="do"/>
+ <keyword match="continue"/>
+ <keyword match="not"/>
+ <keyword match="or"/>
+ <keyword match="and"/>
+ <keyword match="eq"/>
+ <keyword match="ne"/>
+ <keyword match="gt"/>
+ <keyword match="lt"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/php.xml b/library/Text_Highlighter/php.xml
new file mode 100644
index 000000000..1b08ea203
--- /dev/null
+++ b/library/Text_Highlighter/php.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0"?>
+<!-- $Id: php.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="php">
+
+ <authors>
+ <author name="Andrey Demenev" email ="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="phpCode" delimClass="inlinetags" innerClass="code"
+ start="\&lt;\?(php|=)?" end="\?\>" never-contained="yes">
+ <contains all="yes"/>
+ </region>
+
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}" contained="yes">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" contained="yes" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" contained="yes">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" contained="yes">
+ <contains block="phpdoc"/>
+ <contains block="cvstag"/>
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;" contained="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`" contained="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="heredoc" delimClass="quotes" innerClass="string" start="/\&lt;\&lt;\&lt;[\x20\x09]*(\w+)$/m" end="/^%1%;?$/m" contained="yes" remember="yes">
+ <contains block="var"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="heredoc"/>
+ </block>
+
+
+ <region name="comment" start="(#|\/\/)" end="/$|(?=\?\>)/m" innerClass="comment" contained="yes">
+ <contains block="cvstag"/>
+ </region>
+
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" contained="yes"/>
+
+ <block name="typecast" match="\((array|int|integer|string|bool|boolean|object|float|double)\)" innerClass="reserved" contained="yes"/>
+
+ <block name="curlyvar" match="\{\$[a-z_].*\}" innerClass="var" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="heredoc"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="codeescape" delimClass="inlinetags" innerClass="default" end="\&lt;\?(php|=)?" start="\?\>" contained="yes">
+ <onlyin region="block"/>
+ </region>
+
+ <block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
+ <block name="var" match="\$[a-z_]\w*" innerClass="var" contained="yes"/>
+
+ <block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
+
+
+ <block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" contained="yes"/>
+
+ <block name="phpdoc" match="\s@\w+\s" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\bnote:" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+\s*:.*\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="mlcomment"/>
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="constants" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="DIRECTORY_SEPARATOR"/>
+ <keyword match="PATH_SEPARATOR"/>
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved">
+ <keyword match="echo"/>
+ <keyword match="foreach"/>
+ <keyword match="else"/>
+ <keyword match="if"/>
+ <keyword match="elseif"/>
+ <keyword match="for"/>
+ <keyword match="as"/>
+ <keyword match="while"/>
+ <keyword match="foreach"/>
+ <keyword match="break"/>
+ <keyword match="continue"/>
+ <keyword match="class"/>
+ <keyword match="const"/>
+ <keyword match="declare"/>
+ <keyword match="switch"/>
+ <keyword match="case"/>
+ <keyword match="endfor"/>
+ <keyword match="endswitch"/>
+ <keyword match="endforeach"/>
+ <keyword match="endswitch"/>
+ <keyword match="endif"/>
+ <keyword match="array"/>
+ <keyword match="default"/>
+ <keyword match="do"/>
+ <keyword match="enddeclare"/>
+ <keyword match="eval"/>
+ <keyword match="exit"/>
+ <keyword match="die"/>
+ <keyword match="extends"/>
+ <keyword match="function"/>
+ <keyword match="global"/>
+ <keyword match="include"/>
+ <keyword match="include_once"/>
+ <keyword match="require"/>
+ <keyword match="require_once"/>
+ <keyword match="isset"/>
+ <keyword match="empty"/>
+ <keyword match="list"/>
+ <keyword match="new"/>
+ <keyword match="static"/>
+ <keyword match="unset"/>
+ <keyword match="var"/>
+ <keyword match="return"/>
+ <keyword match="try"/>
+ <keyword match="catch"/>
+ <keyword match="final"/>
+ <keyword match="throw"/>
+ <keyword match="public"/>
+ <keyword match="private"/>
+ <keyword match="protected"/>
+ <keyword match="abstract"/>
+ <keyword match="interface"/>
+ <keyword match="implements"/>
+ <keyword match="const"/>
+ <keyword match="define"/>
+ <keyword match="__FILE__"/>
+ <keyword match="__LINE__"/>
+ <keyword match="__CLASS__"/>
+ <keyword match="__METHOD__"/>
+ <keyword match="__FUNCTION__"/>
+ <keyword match="NULL"/>
+ <keyword match="true"/>
+ <keyword match="false"/>
+ <keyword match="and"/>
+ <keyword match="or"/>
+ <keyword match="xor"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/python.xml b/library/Text_Highlighter/python.xml
new file mode 100644
index 000000000..29e77203c
--- /dev/null
+++ b/library/Text_Highlighter/python.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0"?>
+<!-- $Id: python.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="python" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="strsingle3" delimClass="quotes" innerClass="string"
+ start="'''" end="'''" />
+
+ <region name="strdouble3" delimClass="quotes" innerClass="string"
+ start="&quot;&quot;&quot;" end="&quot;&quot;&quot;">
+ </region>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
+ <contains all="yes"/>
+ </region>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strsingle3"/>
+ <onlyin region="strdouble"/>
+ <onlyin region="strdouble3"/>
+ </block>
+
+ <block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="imaginary" match="((\d*\.\d+)|(\d+\.\d*)|(\d+))j" innerClass="number"/>
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <block name="octinteger" match="0[0-7]+l?" innerClass="number" />
+
+ <block name="comment" innerClass="comment"
+ match="#.+" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="and"/>
+ <keyword match="del"/>
+ <keyword match="for"/>
+ <keyword match="is"/>
+ <keyword match="raise"/>
+ <keyword match="assert"/>
+ <keyword match="elif"/>
+ <keyword match="from"/>
+ <keyword match="lambda"/>
+ <keyword match="return"/>
+ <keyword match="break"/>
+ <keyword match="else"/>
+ <keyword match="global"/>
+ <keyword match="not"/>
+ <keyword match="try"/>
+ <keyword match="class"/>
+ <keyword match="except"/>
+ <keyword match="if"/>
+ <keyword match="or"/>
+ <keyword match="while"/>
+ <keyword match="continue"/>
+ <keyword match="exec"/>
+ <keyword match="import"/>
+ <keyword match="pass"/>
+ <keyword match="yield"/>
+ <keyword match="def"/>
+ <keyword match="finally"/>
+ <keyword match="in"/>
+ <keyword match="print"/>
+ <keyword match="False"/>
+ <keyword match="True"/>
+ <keyword match="None"/>
+ <keyword match="NotImplemented"/>
+ <keyword match="Ellipsis"/>
+
+ <keyword match="Exception" />
+ <keyword match="SystemExit" />
+ <keyword match="StopIteration" />
+ <keyword match="StandardError" />
+ <keyword match="KeyboardInterrupt" />
+ <keyword match="ImportError" />
+ <keyword match="EnvironmentError" />
+ <keyword match="IOError" />
+ <keyword match="OSError" />
+ <keyword match="WindowsError" />
+ <keyword match="EOFError" />
+ <keyword match="RuntimeError" />
+ <keyword match="NotImplementedError" />
+ <keyword match="NameError" />
+ <keyword match="UnboundLocalError" />
+
+ <keyword match="AttributeError" />
+ <keyword match="SyntaxError" />
+ <keyword match="IndentationError" />
+ <keyword match="TabError" />
+ <keyword match="TypeError" />
+ <keyword match="AssertionError" />
+ <keyword match="LookupError" />
+ <keyword match="IndexError" />
+ <keyword match="KeyError" />
+ <keyword match="ArithmeticError" />
+ <keyword match="OverflowError" />
+ <keyword match="ZeroDivisionError" />
+ <keyword match="FloatingPointError" />
+ <keyword match="ValueError" />
+ <keyword match="UnicodeError" />
+ <keyword match="UnicodeEncodeError" />
+ <keyword match="UnicodeDecodeError" />
+
+ <keyword match="UnicodeTranslateError" />
+ <keyword match="ReferenceError" />
+ <keyword match="SystemError" />
+ <keyword match="MemoryError" />
+ <keyword match="Warning" />
+ <keyword match="UserWarning" />
+ <keyword match="DeprecationWarning" />
+ <keyword match="PendingDeprecationWarning" />
+ <keyword match="SyntaxWarning" />
+ <keyword match="OverflowWarning" />
+ <keyword match="RuntimeWarning" />
+ <keyword match="FutureWarning" />
+
+ </keywords>
+
+ <keywords name="builtin" inherits="possiblefunction"
+ innerClass="builtin" otherwise="identifier" case = "yes">
+ <keyword match="__import__"/>
+
+ <keyword match="abs"/>
+ <keyword match="apply"/>
+ <keyword match="basestring"/>
+ <keyword match="bool"/>
+ <keyword match="buffer"/>
+ <keyword match="callable"/>
+ <keyword match="chr"/>
+ <keyword match="classmethod"/>
+ <keyword match="cmp"/>
+
+ <keyword match="coerce"/>
+ <keyword match="compile"/>
+ <keyword match="complex"/>
+ <keyword match="delattr"/>
+ <keyword match="dict"/>
+ <keyword match="dir"/>
+ <keyword match="divmod"/>
+ <keyword match="enumerate"/>
+ <keyword match="eval"/>
+
+ <keyword match="execfile"/>
+ <keyword match="file"/>
+ <keyword match="filter"/>
+ <keyword match="float"/>
+ <keyword match="getattr"/>
+ <keyword match="globals"/>
+ <keyword match="hasattr"/>
+ <keyword match="hash"/>
+ <keyword match="help"/>
+
+ <keyword match="hex"/>
+ <keyword match="id"/>
+ <keyword match="input"/>
+ <keyword match="int"/>
+ <keyword match="intern"/>
+ <keyword match="isinstance"/>
+ <keyword match="issubclass"/>
+ <keyword match="iter"/>
+ <keyword match="len"/>
+
+ <keyword match="list"/>
+ <keyword match="locals"/>
+ <keyword match="long"/>
+ <keyword match="map"/>
+ <keyword match="max"/>
+ <keyword match="min"/>
+ <keyword match="object"/>
+ <keyword match="oct"/>
+ <keyword match="open"/>
+
+ <keyword match="ord"/>
+ <keyword match="pow"/>
+ <keyword match="property"/>
+ <keyword match="range"/>
+ <keyword match="raw_input"/>
+ <keyword match="reduce"/>
+ <keyword match="reload"/>
+ <keyword match="repr"/>
+ <keyword match="round"/>
+
+ <keyword match="setattr"/>
+ <keyword match="slice"/>
+ <keyword match="staticmethod"/>
+ <keyword match="sum"/>
+ <keyword match="super"/>
+ <keyword match="str"/>
+ <keyword match="tuple"/>
+ <keyword match="type"/>
+ <keyword match="unichr"/>
+
+ <keyword match="unicode"/>
+ <keyword match="vars"/>
+ <keyword match="xrange"/>
+ <keyword match="zip"/>
+
+ </keywords>
+
+</highlight>
+
diff --git a/library/Text_Highlighter/release b/library/Text_Highlighter/release
new file mode 100644
index 000000000..66f1fa603
--- /dev/null
+++ b/library/Text_Highlighter/release
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/usr/local/bin/php package.php make
+/usr/local/bin/pear package
diff --git a/library/Text_Highlighter/ruby.xml b/library/Text_Highlighter/ruby.xml
new file mode 100644
index 000000000..599f5af17
--- /dev/null
+++ b/library/Text_Highlighter/ruby.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0"?>
+<!-- $Id: ruby.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="ruby" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+ <comment>
+FIXME: While this construction : s.split /z/i
+is valid, regular expression is not recognized as such
+(/ folowing an identifier or number is not recognized as
+start of RE), making highlighting improper
+
+%q(a (nested) string) does not get highlighted correctly
+ </comment>
+
+ <default innerClass="code" />
+
+ <region name="data" start="/^__END__$/m" end="$" delimClass="reserved" innerClass="comment" never-conteined="yes" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="qstrdouble" delimClass="quotes" innerClass="string"
+ start="%[Qx]([!&quot;#\$%&amp;'+\-*.\/:;=?@^`|~{&lt;\[(])" end="%b1%" remember="yes" />
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <region name="qstrsingle" delimClass="quotes" innerClass="string"
+ start="%[wq]([!&quot;#\$%&amp;'+\-*.\/:;=?@^`|~{&lt;\[(])" end="%b1%" remember="yes" />
+
+ <block name="global" match="\$(\W|\w+)" innerClass="var" />
+
+ <block name="classvar" match="/@@?[_a-z][\d_a-z]*/i" innerClass="var" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
+ <contains all="yes"/>
+ </region>
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="qstrsingle"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="qstrdouble"/>
+ <onlyin region="strdouble"/>
+ <onlyin region="regexp"/>
+ </block>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="octinteger" match="0[0-7]+l?" innerClass="number" />
+
+
+ <region name="rubydoc" start="/^=begin$/m" end="/^=end$/m" delimClass="comment" innerClass="comment">
+ <contains block="cvstag" />
+ </region>
+
+ <block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="comment"/>
+ <onlyin region="rubydoc"/>
+ </block>
+
+ <region name="comment" innerClass="comment" start="#" end="/$/m" delimClass="comment" >
+ <contains block="cvstag" />
+ </region>
+
+ <region name="regexp" delimClass="quotes" innerClass="string" start="\s*\/" end="\/[iomx]*"
+ neverAfter="(?&lt;!\band|\bor|\bwhile|\buntil|\bunless|\bif|\belsif|\bwhen|[~=!|&amp;(,\[])$">
+ </region>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="__FILE__" />
+ <keyword match="require" />
+ <keyword match="and" />
+ <keyword match="def" />
+ <keyword match="end" />
+ <keyword match="in" />
+ <keyword match="or" />
+ <keyword match="self" />
+ <keyword match="unless" />
+ <keyword match="__LINE__" />
+ <keyword match="begin" />
+ <keyword match="defined?" />
+ <keyword match="ensure" />
+ <keyword match="module" />
+ <keyword match="redo" />
+ <keyword match="super" />
+ <keyword match="until" />
+ <keyword match="BEGIN" />
+ <keyword match="break" />
+ <keyword match="do" />
+ <keyword match="false" />
+ <keyword match="next" />
+ <keyword match="rescue" />
+ <keyword match="then" />
+ <keyword match="when" />
+ <keyword match="END" />
+ <keyword match="case" />
+ <keyword match="else" />
+ <keyword match="for" />
+ <keyword match="nil" />
+ <keyword match="retry" />
+ <keyword match="true" />
+ <keyword match="while" />
+ <keyword match="alias" />
+ <keyword match="module_function" />
+ <keyword match="private" />
+ <keyword match="public" />
+ <keyword match="protected" />
+ <keyword match="attr_reader" />
+ <keyword match="attr_writer" />
+ <keyword match="attr_accessor" />
+ <keyword match="class" />
+ <keyword match="elsif" />
+ <keyword match="if" />
+ <keyword match="not" />
+ <keyword match="return" />
+ <keyword match="undef" />
+ <keyword match="yield" />
+ </keywords>
+
+
+</highlight>
+
diff --git a/library/Text_Highlighter/sample.css b/library/Text_Highlighter/sample.css
new file mode 100644
index 000000000..627f2510b
--- /dev/null
+++ b/library/Text_Highlighter/sample.css
@@ -0,0 +1,65 @@
+.hl-main ol {
+ line-height: 1.0;
+}
+.hl-main li {
+}
+
+.hl-default {
+ color: Black;
+}
+.hl-code {
+ color: Black;
+}
+.hl-brackets {
+ color: Olive;
+}
+.hl-comment {
+ color: Orange;
+}
+.hl-quotes {
+ color: Darkred;
+}
+.hl-string {
+ color: Red;
+}
+.hl-identifier {
+ color: Blue;
+}
+.hl-builtin {
+ color: Teal;
+}
+.hl-reserved {
+ color: Green;
+}
+.hl-inlinedoc {
+ color: Blue;
+}
+.hl-var {
+ color: Darkblue;
+}
+.hl-url {
+ color: Blue;
+}
+.hl-special {
+ color: Navy;
+}
+.hl-number {
+ color: Maroon;
+}
+.hl-inlinetags {
+ color: Blue;
+}
+.hl-main {
+ background: #ccc none repeat scroll 0 0;
+ color: #000;
+/* background-color: White; */
+}
+.hl-gutter {
+ background-color: #999999;
+ color: White
+}
+.hl-table {
+ font-family: courier;
+ font-size: 12px;
+ border: solid 1px Lightgrey;
+}
diff --git a/library/Text_Highlighter/sh.xml b/library/Text_Highlighter/sh.xml
new file mode 100644
index 000000000..1250de3bc
--- /dev/null
+++ b/library/Text_Highlighter/sh.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0"?>
+<!-- $Id: sh.xml,v 1.2 2007-06-14 00:15:50 ssttoo Exp $ -->
+
+<highlight lang="sh" case = "yes">
+
+ <authors>
+ <author name="Noah Spurrier" email="noah@noah.org" />
+ </authors>
+
+ <comment>This highlighter is EXPERIMENTAL. It may work incorrectly.
+ It is a crude hack of the perl syntax, which itself wasn't so good.
+ But this seems to work OK.
+ </comment>
+
+ <default innerClass="code"/>
+
+ <block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
+ <partClass index="1" innerClass="special" />
+ <partClass index="2" innerClass="string" />
+ </block>
+
+ <!--
+ brackets
+ -->
+ <region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
+ <contains all="yes"/>
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+ <region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
+ <contains all="yes"/>
+ </region>
+
+ <!--
+ use smth
+ -->
+ <block name="usestatement" match="(use)\s+([\w:]*)" innerClass="special">
+ <partClass index="1" innerClass="reserved" />
+ <partClass index="2" innerClass="special" />
+ </block>
+
+
+ <region name="q-w-q-statement"
+ start="/\b(q[wq]\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+
+ </region>
+
+ <region name="qstatement"
+ start="/\b(q\s*((\{)|(\()|(\[)|(\&lt;)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\&gt;)(?(7)\7)))/Us"
+ end="%b2%"
+ innerClass="string" delimClass="quotes" remember="yes">
+
+ </region>
+
+ <!--
+ comments
+ -->
+ <block name="comment" match="#.*" innerClass="comment" />
+
+
+ <!--
+ regexpr
+ FIXME: this should be rewritten
+ -->
+ <block name="dblregexprver1" match="/(s|tr) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2)((\\.|[^\\])*?)(\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ <partClass index="6" innerClass="string" />
+ <partClass index="8" innerClass="quotes" />
+ </block>
+
+ <block name="dblregexprver2" match="/(m) ([|#~`!@$%^&amp;*-+=\\;:'&quot;,.\/?]) ((\\.|[^\\])*?) (\2[ecgimosx]*)/x" innerClass="string">
+ <partClass index="1" innerClass="quotes" />
+ <partClass index="2" innerClass="quotes" />
+ <partClass index="3" innerClass="string" />
+ <partClass index="5" innerClass="quotes" />
+ </block>
+
+
+ <region name="regexp" start=" \/" end="\/[cgimosx]*" innerClass="string" delimClass="quotes" case="yes">
+ <contains block="reescaped"/>
+ </region>
+
+ <block name="reescaped" match="\\\/" innerClass="string" contained="yes">
+ <onlyin region="regexp"/>
+ </block>
+
+ <!--
+ variables
+ FIXME: @{...}
+ -->
+ <block name="bracketsvars" match="([a-z1-9_]+)(\s*=>)" innerClass="string" contained="yes" case="no">
+ <partClass index="1" innerClass="string" />
+ <partClass index="2" innerClass="code" />
+ <onlyin region="brackets"/>
+ </block>
+
+ <block name="specialvar" match="\$#?[1-9'`@!]" innerClass="var"/>
+
+ <block name="var" match="(\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+ <block name="containedvar" match="\$([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
+
+ <block name="classvar" match="(\{)([a-z1-9]+)(\})" innerClass="var" case="no">
+ <partClass index="1" innerClass="brackets" />
+ <partClass index="2" innerClass="var" />
+ <partClass index="3" innerClass="brackets" />
+ </block>
+
+ <block name="curlyvar" match="[\$@%]#?\{[a-z1-9]+\}" innerClass="var" case="no"/>
+
+ <!--
+ quotes
+ -->
+ <region name="exec" delimClass="quotes" innerClass="string" start="`" end="`">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
+
+ <block name="escaped" match="\\\\|\\&quot;|\\'|\\`" innerClass="special" contained="yes">
+ <onlyin region="qstatement"/>
+ <onlyin region="strsingle"/>
+ <onlyin region="exec"/>
+ </block>
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;">
+ <contains block="containedvar"/>
+ <contains block="specialvar"/>
+ <contains block="curlyvar"/>
+ </region>
+
+ <block name="descaped" match="\\[\\&quot;'`tnr\$\{@]" innerClass="special" contained="yes">
+ <onlyin region="strdouble"/>
+ <onlyin region="q-w-q-statement"/>
+ </block>
+
+ <!-- logical op.
+ <block name="logic" match="\|\||&amp;&amp;" innerClass="reserved" contained="yes"/>-->
+
+ <!--
+ identifiers
+ -->
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <!--
+ numbers
+ -->
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+
+ <!--
+ GNU and posix standard shell utilities here.
+ -->
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="cd"/>
+ <keyword match="cp"/>
+ <keyword match="rm"/>
+ <keyword match="echo"/>
+ <keyword match="printf"/>
+ <keyword match="exit"/>
+ <keyword match="cut"/>
+ <keyword match="join"/>
+ <keyword match="comm"/>
+ <keyword match="fmt"/>
+ <keyword match="grep"/>
+ <keyword match="egrep"/>
+ <keyword match="fgrep"/>
+ <keyword match="sed"/>
+ <keyword match="awk"/>
+ <keyword match="yes"/>
+ <keyword match="false"/>
+ <keyword match="true"/>
+ <keyword match="test"/>
+ <keyword match="expr"/>
+ <keyword match="tee"/>
+ <keyword match="basename"/>
+ <keyword match="dirname"/>
+ <keyword match="pathchk"/>
+ <keyword match="pwd"/>
+ <keyword match="stty"/>
+ <keyword match="tty"/>
+ <keyword match="env"/>
+ <keyword match="printenv"/>
+ <keyword match="id"/>
+ <keyword match="logname"/>
+ <keyword match="whoami"/>
+ <keyword match="groups"/>
+ <keyword match="users"/>
+ <keyword match="who"/>
+ <keyword match="date"/>
+ <keyword match="uname"/>
+ <keyword match="hostname"/>
+ <keyword match="chroot"/>
+ <keyword match="nice"/>
+ <keyword match="nohup"/>
+ <keyword match="sleep"/>
+ <keyword match="factor"/>
+ <keyword match="seq"/>
+ <keyword match="getopt"/>
+ <keyword match="getopts"/>
+ <keyword match="options"/>
+ <keyword match="shift"/>
+ </keywords>
+
+ <keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
+ <keyword match="if"/>
+ <keyword match="fi"/>
+ <keyword match="then"/>
+ <keyword match="else"/>
+ <keyword match="elif"/>
+ <keyword match="case"/>
+ <keyword match="esac"/>
+ <keyword match="while"/>
+ <keyword match="done"/>
+ <keyword match="for"/>
+ <keyword match="in"/>
+ <keyword match="function"/>
+ <keyword match="until"/>
+ <keyword match="do"/>
+ <keyword match="select"/>
+ <keyword match="time"/>
+ <!--
+ <keyword match="[["/>
+ <keyword match="]]"/>
+ -->
+ <keyword match="read"/>
+ <keyword match="set"/>
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/sql.xml b/library/Text_Highlighter/sql.xml
new file mode 100644
index 000000000..19cae49a0
--- /dev/null
+++ b/library/Text_Highlighter/sql.xml
@@ -0,0 +1,496 @@
+<?xml version="1.0"?>
+<!-- $Id: sql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="sql" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <comment>Based on SQL-99</comment>
+
+ <default innerClass="code" />
+
+ <region name="qidentifier" delimClass="quotes" innerClass="identifier"
+ start="`" end="`" />
+
+ <region name="mlcomment" delimClass="comment" innerClass="comment"
+ start="\/\*" end="\*\/" />
+
+ <block name="comment" match="(#|--\s).*" innerClass="comment" />
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
+
+ <region name="strdouble" delimClass="quotes" innerClass="string"
+ start="&quot;" end="&quot;" >
+ </region>
+
+ <region name="brackets" delimClass="brackets" innerClass="code"
+ start="\(" end="\)" >
+ <contains all="yes"/>
+ </region>
+
+ <region name="strsingle" delimClass="quotes" innerClass="string"
+ start="'" end="'" />
+
+ <block name="escaped" match="\\." innerClass="special" contained="yes">
+ <onlyin region="strsingle"/>
+ <onlyin region="strdouble"/>
+ </block>
+
+ <block name="exponent"
+ match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
+ innerClass="number" />
+
+ <block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
+
+ <block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
+
+ <block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case = "no">
+ <keyword match="ABSOLUTE" />
+ <keyword match="ACTION" />
+ <keyword match="ADD" />
+ <keyword match="ADMIN" />
+ <keyword match="AFTER" />
+ <keyword match="AGGREGATE" />
+ <keyword match="ALIAS" />
+ <keyword match="ALL" />
+ <keyword match="ALLOCATE" />
+ <keyword match="ALTER" />
+ <keyword match="AND" />
+ <keyword match="ANY" />
+ <keyword match="ARE" />
+ <keyword match="ARRAY" />
+ <keyword match="AS" />
+ <keyword match="ASC" />
+ <keyword match="ASSERTION" />
+ <keyword match="AT" />
+ <keyword match="AUTHORIZATION" />
+ <keyword match="BEFORE" />
+ <keyword match="BEGIN" />
+ <keyword match="BINARY" />
+ <keyword match="BIT" />
+ <keyword match="BLOB" />
+ <keyword match="BOOLEAN" />
+ <keyword match="BOTH" />
+ <keyword match="BREADTH" />
+ <keyword match="BY" />
+ <keyword match="CALL" />
+ <keyword match="CASCADE" />
+ <keyword match="CASCADED" />
+ <keyword match="CASE" />
+ <keyword match="CAST" />
+ <keyword match="CATALOG" />
+ <keyword match="CHAR" />
+ <keyword match="CHARACTER" />
+ <keyword match="CHECK" />
+ <keyword match="CLASS" />
+ <keyword match="CLOB" />
+ <keyword match="CLOSE" />
+ <keyword match="COLLATE" />
+ <keyword match="COLLATION" />
+ <keyword match="COLUMN" />
+ <keyword match="COMMIT" />
+ <keyword match="COMPLETION" />
+ <keyword match="CONNECT" />
+ <keyword match="CONNECTION" />
+ <keyword match="CONSTRAINT" />
+ <keyword match="CONSTRAINTS" />
+ <keyword match="CONSTRUCTOR" />
+ <keyword match="CONTINUE" />
+ <keyword match="CORRESPONDING" />
+ <keyword match="CREATE" />
+ <keyword match="CROSS" />
+ <keyword match="CUBE" />
+ <keyword match="CURRENT" />
+ <keyword match="CURRENT_DATE" />
+ <keyword match="CURRENT_PATH" />
+ <keyword match="CURRENT_ROLE" />
+ <keyword match="CURRENT_TIME" />
+ <keyword match="CURRENT_TIMESTAMP" />
+ <keyword match="CURRENT_USER" />
+ <keyword match="CURSOR" />
+ <keyword match="CYCLE" />
+ <keyword match="DATA" />
+ <keyword match="DATE" />
+ <keyword match="DAY" />
+ <keyword match="DEALLOCATE" />
+ <keyword match="DEC" />
+ <keyword match="DECIMAL" />
+ <keyword match="DECLARE" />
+ <keyword match="DEFAULT" />
+ <keyword match="DEFERRABLE" />
+ <keyword match="DEFERRED" />
+ <keyword match="DELETE" />
+ <keyword match="DEPTH" />
+ <keyword match="DEREF" />
+ <keyword match="DESC" />
+ <keyword match="DESCRIBE" />
+ <keyword match="DESCRIPTOR" />
+ <keyword match="DESTROY" />
+ <keyword match="DESTRUCTOR" />
+ <keyword match="DETERMINISTIC" />
+ <keyword match="DIAGNOSTICS" />
+ <keyword match="DICTIONARY" />
+ <keyword match="DISCONNECT" />
+ <keyword match="DISTINCT" />
+ <keyword match="DOMAIN" />
+ <keyword match="DOUBLE" />
+ <keyword match="DROP" />
+ <keyword match="DYNAMIC" />
+ <keyword match="EACH" />
+ <keyword match="ELSE" />
+ <keyword match="END" />
+ <keyword match="END-EXEC" />
+ <keyword match="EQUALS" />
+ <keyword match="ESCAPE" />
+ <keyword match="EVERY" />
+ <keyword match="EXCEPT" />
+ <keyword match="EXCEPTION" />
+ <keyword match="EXEC" />
+ <keyword match="EXECUTE" />
+ <keyword match="EXTERNAL" />
+ <keyword match="FALSE" />
+ <keyword match="FETCH" />
+ <keyword match="FIRST" />
+ <keyword match="FLOAT" />
+ <keyword match="FOR" />
+ <keyword match="FOREIGN" />
+ <keyword match="FOUND" />
+ <keyword match="FREE" />
+ <keyword match="FROM" />
+ <keyword match="FULL" />
+ <keyword match="FUNCTION" />
+ <keyword match="GENERAL" />
+ <keyword match="GET" />
+ <keyword match="GLOBAL" />
+ <keyword match="GO" />
+ <keyword match="GOTO" />
+ <keyword match="GRANT" />
+ <keyword match="GROUP" />
+ <keyword match="GROUPING" />
+ <keyword match="HAVING" />
+ <keyword match="HOST" />
+ <keyword match="HOUR" />
+ <keyword match="IDENTITY" />
+ <keyword match="IGNORE" />
+ <keyword match="IMMEDIATE" />
+ <keyword match="IN" />
+ <keyword match="INDICATOR" />
+ <keyword match="INITIALIZE" />
+ <keyword match="INITIALLY" />
+ <keyword match="INNER" />
+ <keyword match="INOUT" />
+ <keyword match="INPUT" />
+ <keyword match="INSERT" />
+ <keyword match="INT" />
+ <keyword match="INTEGER" />
+ <keyword match="INTERSECT" />
+ <keyword match="INTERVAL" />
+ <keyword match="INTO" />
+ <keyword match="IS" />
+ <keyword match="ISOLATION" />
+ <keyword match="ITERATE" />
+ <keyword match="JOIN" />
+ <keyword match="KEY" />
+ <keyword match="LANGUAGE" />
+ <keyword match="LARGE" />
+ <keyword match="LAST" />
+ <keyword match="LATERAL" />
+ <keyword match="LEADING" />
+ <keyword match="LEFT" />
+ <keyword match="LESS" />
+ <keyword match="LEVEL" />
+ <keyword match="LIKE" />
+ <keyword match="LIMIT" />
+ <keyword match="LOCAL" />
+ <keyword match="LOCALTIME" />
+ <keyword match="LOCALTIMESTAMP" />
+ <keyword match="LOCATOR" />
+ <keyword match="MAP" />
+ <keyword match="MATCH" />
+ <keyword match="MINUTE" />
+ <keyword match="MODIFIES" />
+ <keyword match="MODIFY" />
+ <keyword match="MODULE" />
+ <keyword match="MONTH" />
+ <keyword match="NAMES" />
+ <keyword match="NATIONAL" />
+ <keyword match="NATURAL" />
+ <keyword match="NCHAR" />
+ <keyword match="NCLOB" />
+ <keyword match="NEW" />
+ <keyword match="NEXT" />
+ <keyword match="NO" />
+ <keyword match="NONE" />
+ <keyword match="NOT" />
+ <keyword match="NULL" />
+ <keyword match="NUMERIC" />
+ <keyword match="OBJECT" />
+ <keyword match="OF" />
+ <keyword match="OFF" />
+ <keyword match="OLD" />
+ <keyword match="ON" />
+ <keyword match="ONLY" />
+ <keyword match="OPEN" />
+ <keyword match="OPERATION" />
+ <keyword match="OPTION" />
+ <keyword match="OR" />
+ <keyword match="ORDER" />
+ <keyword match="ORDINALITY" />
+ <keyword match="OUT" />
+ <keyword match="OUTER" />
+ <keyword match="OUTPUT" />
+ <keyword match="PAD" />
+ <keyword match="PARAMETER" />
+ <keyword match="PARAMETERS" />
+ <keyword match="PARTIAL" />
+ <keyword match="PATH" />
+ <keyword match="POSTFIX" />
+ <keyword match="PRECISION" />
+ <keyword match="PREFIX" />
+ <keyword match="PREORDER" />
+ <keyword match="PREPARE" />
+ <keyword match="PRESERVE" />
+ <keyword match="PRIMARY" />
+ <keyword match="PRIOR" />
+ <keyword match="PRIVILEGES" />
+ <keyword match="PROCEDURE" />
+ <keyword match="PUBLIC" />
+ <keyword match="READ" />
+ <keyword match="READS" />
+ <keyword match="REAL" />
+ <keyword match="RECURSIVE" />
+ <keyword match="REF" />
+ <keyword match="REFERENCES" />
+ <keyword match="REFERENCING" />
+ <keyword match="RELATIVE" />
+ <keyword match="RESTRICT" />
+ <keyword match="RESULT" />
+ <keyword match="RETURN" />
+ <keyword match="RETURNS" />
+ <keyword match="REVOKE" />
+ <keyword match="RIGHT" />
+ <keyword match="ROLE" />
+ <keyword match="ROLLBACK" />
+ <keyword match="ROLLUP" />
+ <keyword match="ROUTINE" />
+ <keyword match="ROW" />
+ <keyword match="ROWS" />
+ <keyword match="SAVEPOINT" />
+ <keyword match="SCHEMA" />
+ <keyword match="SCOPE" />
+ <keyword match="SCROLL" />
+ <keyword match="SEARCH" />
+ <keyword match="SECOND" />
+ <keyword match="SECTION" />
+ <keyword match="SELECT" />
+ <keyword match="SEQUENCE" />
+ <keyword match="SESSION" />
+ <keyword match="SESSION_USER" />
+ <keyword match="SET" />
+ <keyword match="SETS" />
+ <keyword match="SIZE" />
+ <keyword match="SMALLINT" />
+ <keyword match="SOME" />
+ <keyword match="SPACE" />
+ <keyword match="SPECIFIC" />
+ <keyword match="SPECIFICTYPE" />
+ <keyword match="SQL" />
+ <keyword match="SQLEXCEPTION" />
+ <keyword match="SQLSTATE" />
+ <keyword match="SQLWARNING" />
+ <keyword match="START" />
+ <keyword match="STATE" />
+ <keyword match="STATEMENT" />
+ <keyword match="STATIC" />
+ <keyword match="STRUCTURE" />
+ <keyword match="SYSTEM_USER" />
+ <keyword match="TABLE" />
+ <keyword match="TEMPORARY" />
+ <keyword match="TERMINATE" />
+ <keyword match="THAN" />
+ <keyword match="THEN" />
+ <keyword match="TIME" />
+ <keyword match="TIMESTAMP" />
+ <keyword match="TIMEZONE_HOUR" />
+ <keyword match="TIMEZONE_MINUTE" />
+ <keyword match="TO" />
+ <keyword match="TRAILING" />
+ <keyword match="TRANSACTION" />
+ <keyword match="TRANSLATION" />
+ <keyword match="TREAT" />
+ <keyword match="TRIGGER" />
+ <keyword match="TRUE" />
+ <keyword match="UNDER" />
+ <keyword match="UNION" />
+ <keyword match="UNIQUE" />
+ <keyword match="UNKNOWN" />
+ <keyword match="UNNEST" />
+ <keyword match="UPDATE" />
+ <keyword match="USAGE" />
+ <keyword match="USER" />
+ <keyword match="USING" />
+ <keyword match="VALUE" />
+ <keyword match="VALUES" />
+ <keyword match="VARCHAR" />
+ <keyword match="VARIABLE" />
+ <keyword match="VARYING" />
+ <keyword match="VIEW" />
+ <keyword match="WHEN" />
+ <keyword match="WHENEVER" />
+ <keyword match="WHERE" />
+ <keyword match="WITH" />
+ <keyword match="WITHOUT" />
+ <keyword match="WORK" />
+ <keyword match="WRITE" />
+ <keyword match="YEAR" />
+ <keyword match="ZONE" />
+ </keywords>
+ <keywords name="keyword" inherits="identifier" innerClass="var" case = "no">
+ <keyword match="ABS" />
+ <keyword match="ADA" />
+ <keyword match="ASENSITIVE" />
+ <keyword match="ASSIGNMENT" />
+ <keyword match="ASYMMETRIC" />
+ <keyword match="ATOMIC" />
+ <keyword match="AVG" />
+ <keyword match="BETWEEN" />
+ <keyword match="BITVAR" />
+ <keyword match="BIT_LENGTH" />
+ <keyword match="C" />
+ <keyword match="CALLED" />
+ <keyword match="CARDINALITY" />
+ <keyword match="CATALOG_NAME" />
+ <keyword match="CHAIN" />
+ <keyword match="CHARACTER_LENGTH" />
+ <keyword match="CHARACTER_SET_CATALOG" />
+ <keyword match="CHARACTER_SET_NAME" />
+ <keyword match="CHARACTER_SET_SCHEMA" />
+ <keyword match="CHAR_LENGTH" />
+ <keyword match="CHECKED" />
+ <keyword match="CLASS_ORIGIN" />
+ <keyword match="COALESCE" />
+ <keyword match="COBOL" />
+ <keyword match="COLLATION_CATALOG" />
+ <keyword match="COLLATION_NAME" />
+ <keyword match="COLLATION_SCHEMA" />
+ <keyword match="COLUMN_NAME" />
+ <keyword match="COMMAND_FUNCTION" />
+ <keyword match="COMMAND_FUNCTION_CODE" />
+ <keyword match="COMMITTED" />
+ <keyword match="CONDITION_NUMBER" />
+ <keyword match="CONNECTION_NAME" />
+ <keyword match="CONSTRAINT_CATALOG" />
+ <keyword match="CONSTRAINT_NAME" />
+ <keyword match="CONSTRAINT_SCHEMA" />
+ <keyword match="CONTAINS" />
+ <keyword match="CONVERT" />
+ <keyword match="COUNT" />
+ <keyword match="CURSOR_NAME" />
+ <keyword match="DATETIME_INTERVAL_CODE" />
+ <keyword match="DATETIME_INTERVAL_PRECISION" />
+ <keyword match="DEFINED" />
+ <keyword match="DEFINER" />
+ <keyword match="DISPATCH" />
+ <keyword match="DYNAMIC_FUNCTION" />
+ <keyword match="DYNAMIC_FUNCTION_CODE" />
+ <keyword match="EXISTING" />
+ <keyword match="EXISTS" />
+ <keyword match="EXTRACT" />
+ <keyword match="FINAL" />
+ <keyword match="FORTRAN" />
+ <keyword match="G" />
+ <keyword match="GENERATED" />
+ <keyword match="GRANTED" />
+ <keyword match="HIERARCHY" />
+ <keyword match="HOLD" />
+ <keyword match="IMPLEMENTATION" />
+ <keyword match="INFIX" />
+ <keyword match="INSENSITIVE" />
+ <keyword match="INSTANCE" />
+ <keyword match="INSTANTIABLE" />
+ <keyword match="INVOKER" />
+ <keyword match="K" />
+ <keyword match="KEY_MEMBER" />
+ <keyword match="KEY_TYPE" />
+ <keyword match="LENGTH" />
+ <keyword match="LOWER" />
+ <keyword match="M" />
+ <keyword match="MAX" />
+ <keyword match="MESSAGE_LENGTH" />
+ <keyword match="MESSAGE_OCTET_LENGTH" />
+ <keyword match="MESSAGE_TEXT" />
+ <keyword match="METHOD" />
+ <keyword match="MIN" />
+ <keyword match="MOD" />
+ <keyword match="MORE" />
+ <keyword match="MUMPS" />
+ <keyword match="NAME" />
+ <keyword match="NULLABLE" />
+ <keyword match="NULLIF" />
+ <keyword match="NUMBER" />
+ <keyword match="OCTET_LENGTH" />
+ <keyword match="OPTIONS" />
+ <keyword match="OVERLAPS" />
+ <keyword match="OVERLAY" />
+ <keyword match="OVERRIDING" />
+ <keyword match="PARAMETER_MODE" />
+ <keyword match="PARAMETER_NAME" />
+ <keyword match="PARAMETER_ORDINAL_POSITION" />
+ <keyword match="PARAMETER_SPECIFIC_CATALOG" />
+ <keyword match="PARAMETER_SPECIFIC_NAME" />
+ <keyword match="PARAMETER_SPECIFIC_SCHEMA" />
+ <keyword match="PASCAL" />
+ <keyword match="PLI" />
+ <keyword match="POSITION" />
+ <keyword match="REPEATABLE" />
+ <keyword match="RETURNED_LENGTH" />
+ <keyword match="RETURNED_OCTET_LENGTH" />
+ <keyword match="RETURNED_SQLSTATE" />
+ <keyword match="ROUTINE_CATALOG" />
+ <keyword match="ROUTINE_NAME" />
+ <keyword match="ROUTINE_SCHEMA" />
+ <keyword match="ROW_COUNT" />
+ <keyword match="SCALE" />
+ <keyword match="SCHEMA_NAME" />
+ <keyword match="SECURITY" />
+ <keyword match="SELF" />
+ <keyword match="SENSITIVE" />
+ <keyword match="SERIALIZABLE" />
+ <keyword match="SERVER_NAME" />
+ <keyword match="SIMILAR" />
+ <keyword match="SIMPLE" />
+ <keyword match="SOURCE" />
+ <keyword match="SPECIFIC_NAME" />
+ <keyword match="STYLE" />
+ <keyword match="SUBCLASS_ORIGIN" />
+ <keyword match="SUBLIST" />
+ <keyword match="SUBSTRING" />
+ <keyword match="SUM" />
+ <keyword match="SYMMETRIC" />
+ <keyword match="SYSTEM" />
+ <keyword match="TABLE_NAME" />
+ <keyword match="TRANSACTIONS_COMMITTED" />
+ <keyword match="TRANSACTIONS_ROLLED_BACK" />
+ <keyword match="TRANSACTION_ACTIVE" />
+ <keyword match="TRANSFORM" />
+ <keyword match="TRANSFORMS" />
+ <keyword match="TRANSLATE" />
+ <keyword match="TRIGGER_CATALOG" />
+ <keyword match="TRIGGER_NAME" />
+ <keyword match="TRIGGER_SCHEMA" />
+ <keyword match="TRIM" />
+ <keyword match="TYPE" />
+ <keyword match="UNCOMMITTED" />
+ <keyword match="UNNAMED" />
+ <keyword match="UPPER" />
+ <keyword match="USER_DEFINED_TYPE_CATALOG" />
+ <keyword match="USER_DEFINED_TYPE_NAME" />
+ <keyword match="USER_DEFINED_TYPE_SCHEMA" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/vbscript.xml b/library/Text_Highlighter/vbscript.xml
new file mode 100644
index 000000000..09c37ffde
--- /dev/null
+++ b/library/Text_Highlighter/vbscript.xml
@@ -0,0 +1,305 @@
+<?xml version="1.0"?>
+<!-- $Id: vbscript.xml,v 1.2 2008-01-02 00:05:52 ssttoo Exp $ -->
+
+<highlight lang="vbscript" case="no">
+
+ <authors>
+ <author name="Daniel Fruzynski" email="daniel-AT-poradnik-webmastera.com" />
+ </authors>
+
+ <default innerClass="code" />
+
+ <region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
+ <contains all="yes"/>
+ </region>
+
+
+ <region name="strdouble" delimClass="quotes" innerClass="string" start="&quot;" end="&quot;"/>
+
+ <region name="comment" start="'|[Rr][Ee][Mm]\b" end="/$/m" innerClass="comment">
+ <contains block="cvstag"/>
+ </region>
+
+ <block name="number" match="\d*\.?\d+" innerClass="number"/>
+ <block name="hexnumber" match="&amp;H[0-9a-fA-F]+" innerClass="number"/>
+
+ <block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
+
+ <block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&amp;=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&amp;=\/%+]*" innerClass="url" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
+ <onlyin region="comment"/>
+ </block>
+
+
+ <block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
+ <onlyin region="comment"/>
+ </block>
+
+ <keywords name="constants" inherits="identifier" innerClass="builtin" case="no">
+ <!-- Color Constants -->
+ <keyword match="vbBlack" />
+ <keyword match="vbRed" />
+ <keyword match="vbGreen" />
+ <keyword match="vbYellow" />
+ <keyword match="vbBlue" />
+ <keyword match="vbMagenta" />
+ <keyword match="vbCyan" />
+ <keyword match="vbWhite" />
+ <!-- Comparison Constants -->
+ <keyword match="vbBinaryCompare" />
+ <keyword match="vbTextCompare" />
+ <!-- Date and Time Constants -->
+ <keyword match="vbSunday" />
+ <keyword match="vbMonday" />
+ <keyword match="vbTuesday" />
+ <keyword match="vbWednesday" />
+ <keyword match="vbThursday" />
+ <keyword match="vbFriday" />
+ <keyword match="vbSaturday" />
+ <keyword match="vbUseSystemDayOfWeek" />
+ <keyword match="vbFirstJan1" />
+ <keyword match="vbFirstFourDays" />
+ <keyword match="vbFirstFullWeek" />
+ <!-- Date Format Constants -->
+ <keyword match="vbGeneralDate" />
+ <keyword match="vbLongDate" />
+ <keyword match="vbShortDate" />
+ <keyword match="vbLongTime" />
+ <keyword match="vbShortTime" />
+ <!-- Miscellaneous Constants -->
+ <keyword match="vbObjectError" />
+ <!-- MsgBox Constants -->
+ <keyword match="vbOKOnly" />
+ <keyword match="vbOKCancel" />
+ <keyword match="vbAbortRetryIgnore" />
+ <keyword match="vbYesNoCancel" />
+ <keyword match="vbYesNo" />
+ <keyword match="vbRetryCancel" />
+ <keyword match="vbCritical" />
+ <keyword match="vbQuestion" />
+ <keyword match="vbExclamation" />
+ <keyword match="vbInformation" />
+ <keyword match="vbDefaultButton1" />
+ <keyword match="vbDefaultButton2" />
+ <keyword match="vbDefaultButton3" />
+ <keyword match="vbDefaultButton4" />
+ <keyword match="vbApplicationModal" />
+ <keyword match="vbSystemModal" />
+ <keyword match="vbOK" />
+ <keyword match="vbCancel" />
+ <keyword match="vbAbort" />
+ <keyword match="vbRetry" />
+ <keyword match="vbIgnore" />
+ <keyword match="vbYes" />
+ <keyword match="vbNo" />
+ <!-- String Constants -->
+ <keyword match="vbCr" />
+ <keyword match="VbCrLf" />
+ <keyword match="vbFormFeed" />
+ <keyword match="vbLf" />
+ <keyword match="vbNewLine" />
+ <keyword match="vbNullChar" />
+ <keyword match="vbNullString" />
+ <keyword match="vbTab" />
+ <keyword match="vbVerticalTab" />
+ <!-- Tristate Constants -->
+ <keyword match="vbUseDefault" />
+ <keyword match="vbTrue" />
+ <keyword match="vbFalse" />
+ <!-- VarType Constants -->
+ <keyword match="vbEmpty" />
+ <keyword match="vbNull" />
+ <keyword match="vbInteger" />
+ <keyword match="vbLong" />
+ <keyword match="vbSingle" />
+ <keyword match="vbDouble" />
+ <keyword match="vbCurrency" />
+ <keyword match="vbDate" />
+ <keyword match="vbString" />
+ <keyword match="vbObject" />
+ <keyword match="vbError" />
+ <keyword match="vbBoolean" />
+ <keyword match="vbVariant" />
+ <keyword match="vbDataObject" />
+ <keyword match="vbDecimal" />
+ <keyword match="vbByte" />
+ <keyword match="vbArray" />
+ </keywords>
+
+ <keywords name="functions" inherits="identifier" innerClass="builtin" case="no">
+ <keyword match="Abs" />
+ <keyword match="Array" />
+ <keyword match="Asc" />
+ <keyword match="Atn" />
+ <keyword match="CBool" />
+ <keyword match="CByte" />
+ <keyword match="CCur" />
+ <keyword match="CDate" />
+ <keyword match="CDbl" />
+ <keyword match="Chr" />
+ <keyword match="CInt" />
+ <keyword match="CLng" />
+ <keyword match="Cos" />
+ <keyword match="CreateObject" />
+ <keyword match="CSng" />
+ <keyword match="CStr" />
+ <keyword match="Date" />
+ <keyword match="DateAdd" />
+ <keyword match="DateDiff" />
+ <keyword match="DatePart" />
+ <keyword match="DateSerial" />
+ <keyword match="DateValue" />
+ <keyword match="Day" />
+ <keyword match="Escape" />
+ <keyword match="Eval" />
+ <keyword match="Exp" />
+ <keyword match="Filter" />
+ <keyword match="FormatCurrency" />
+ <keyword match="FormatDateTime" />
+ <keyword match="FormatNumber" />
+ <keyword match="FormatPercent" />
+ <keyword match="GetLocale" />
+ <keyword match="GetObject" />
+ <keyword match="GetRef" />
+ <keyword match="Hex" />
+ <keyword match="Hour" />
+ <keyword match="InputBox" />
+ <keyword match="InStr" />
+ <keyword match="InStrRev" />
+ <keyword match="Int" />
+ <keyword match="Fix" />
+ <keyword match="IsArray" />
+ <keyword match="IsDate" />
+ <keyword match="IsEmpty" />
+ <keyword match="IsNull" />
+ <keyword match="IsNumeric" />
+ <keyword match="IsObject" />
+ <keyword match="Join" />
+ <keyword match="LBound" />
+ <keyword match="LCase" />
+ <keyword match="Left" />
+ <keyword match="Len" />
+ <keyword match="LoadPicture" />
+ <keyword match="Log" />
+ <keyword match="LTrim" />
+ <keyword match="RTrim" />
+ <keyword match="Trim" />
+ <keyword match="Mid" />
+ <keyword match="Minute" />
+ <keyword match="Month" />
+ <keyword match="MonthName" />
+ <keyword match="MsgBox" />
+ <keyword match="Now" />
+ <keyword match="Oct" />
+ <keyword match="Replace" />
+ <keyword match="RGB" />
+ <keyword match="Right" />
+ <keyword match="Rnd" />
+ <keyword match="Round" />
+ <keyword match="ScriptEngine" />
+ <keyword match="ScriptEngineBuildVersion" />
+ <keyword match="ScriptEngineMajorVersion" />
+ <keyword match="ScriptEngineMinorVersion" />
+ <keyword match="Second" />
+ <keyword match="SetLocale" />
+ <keyword match="Sgn" />
+ <keyword match="Sin" />
+ <keyword match="Space" />
+ <keyword match="Split" />
+ <keyword match="Sqr" />
+ <keyword match="StrComp" />
+ <keyword match="String" />
+ <keyword match="StrReverse" />
+ <keyword match="Tan" />
+ <keyword match="Time" />
+ <keyword match="Timer" />
+ <keyword match="TimeSerial" />
+ <keyword match="TimeValue" />
+ <keyword match="TypeName" />
+ <keyword match="UBound" />
+ <keyword match="UCase" />
+ <keyword match="Unescape" />
+ <keyword match="VarType" />
+ <keyword match="Weekday" />
+ <keyword match="WeekdayName" />
+ <keyword match="Year" />
+ </keywords>
+
+ <keywords name="builtin" inherits="identifier" innerClass="builtin" case="no">
+ <!--<keyword match="Class" />-->
+ <keyword match="Debug" />
+ <keyword match="Err" />
+ <keyword match="Match" />
+ <keyword match="RegExp" />
+ </keywords>
+
+ <keywords name="reserved" inherits="identifier" innerClass="reserved" case="no">
+ <keyword match="Empty" />
+ <keyword match="False" />
+ <keyword match="Nothing" />
+ <keyword match="Null" />
+ <keyword match="True" />
+ <keyword match="And" />
+ <keyword match="Eqv" />
+ <keyword match="Imp" />
+ <keyword match="Is" />
+ <keyword match="Mod" />
+ <keyword match="Not" />
+ <keyword match="Or" />
+ <keyword match="Xor" />
+ <keyword match="Call" />
+ <keyword match="Class" />
+ <keyword match="End" />
+ <keyword match="Const" />
+ <keyword match="Public" />
+ <keyword match="Private" />
+ <keyword match="Dim" />
+ <keyword match="Do" />
+ <keyword match="While" />
+ <keyword match="Until" />
+ <keyword match="Exit" />
+ <keyword match="Loop" />
+ <keyword match="Erase" />
+ <keyword match="Execute" />
+ <keyword match="ExecuteGlobal" />
+ <keyword match="For" />
+ <keyword match="Each" />
+ <keyword match="In" />
+ <keyword match="To" />
+ <keyword match="Step" />
+ <keyword match="Next" />
+ <keyword match="Function" />
+ <keyword match="Default" />
+ <keyword match="If" />
+ <keyword match="Then" />
+ <keyword match="Else" />
+ <keyword match="ElseIf" />
+ <keyword match="On" />
+ <keyword match="Error" />
+ <keyword match="Resume" />
+ <keyword match="Goto" />
+ <keyword match="Option" />
+ <keyword match="Explicit" />
+ <keyword match="Property" />
+ <keyword match="Get" />
+ <keyword match="Let" />
+ <keyword match="Set" />
+ <keyword match="Randomize" />
+ <keyword match="ReDim" />
+ <keyword match="Preserve" />
+ <keyword match="Select" />
+ <keyword match="Case" />
+ <keyword match="Stop" />
+ <keyword match="Sub" />
+ <keyword match="Wend" />
+ <keyword match="With" />
+ </keywords>
+
+</highlight>
diff --git a/library/Text_Highlighter/xml.xml b/library/Text_Highlighter/xml.xml
new file mode 100644
index 000000000..2271ff3ae
--- /dev/null
+++ b/library/Text_Highlighter/xml.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!-- $Id: xml.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
+
+<highlight lang="xml" case="no">
+
+ <authors>
+ <author name="Andrey Demenev" email="demenev@gmail.com"/>
+ </authors>
+
+
+ <default innerClass="code" />
+
+ <region name="cdata" delimClass="comment" innerClass="comment"
+ start="\&lt;\!\[CDATA\[" end="\]\]\&gt;">
+ </region>
+
+ <region name="comment" delimClass="comment" innerClass="comment"
+ start="\&lt;!--" end="--\&gt;">
+ </region>
+
+ <region name="tag" delimClass="brackets" innerClass="code" start="\&lt;[\?\/]?" end="[\/\?]?\&gt;">
+ <contains block="tagname"/>
+ <contains region="param"/>
+ <contains block="paramname"/>
+ </region>
+
+ <block name="tagname" match="(?&lt;=[\&lt;\/?])[\w\-\:]+" innerClass="reserved" contained="yes"/>
+
+ <block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes"/>
+
+ <block name="entity" match="(&amp;|%)[\w\-\.]+;" innerClass="special" />
+
+ <region name="param" start="&quot;" end="&quot;" delimClass="quotes" innerClass="string" contained="yes">
+ <contains block="entity"/>
+ </region>
+
+</highlight>
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index 648b144b3..e9ba2aa05 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -10,6 +10,7 @@ head_add_css('view/css/conversation.css');
head_add_css('view/css/widgets.css');
head_add_css('view/css/colorbox.css');
head_add_css('library/justifiedGallery/justifiedGallery.min.css');
+head_add_css('library/Text_Highlighter/sample.css');
head_add_js('jquery.js');
//head_add_js('jquery-migrate-1.1.1.js');