mirror of
https://github.com/friendica/friendica
synced 2025-05-13 23:11:27 +02:00
port of Hubzillas code highlight feature
This commit is contained in:
parent
76abade4d8
commit
0167a2bd61
56 changed files with 23431 additions and 0 deletions
|
@ -717,6 +717,13 @@ function bb_CleanPictureLinks($text) {
|
|||
return ($text);
|
||||
}
|
||||
|
||||
function bb_highlight($match) {
|
||||
if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
|
||||
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','sh']))
|
||||
return text_highlight($match[2],strtolower($match[1]));
|
||||
return $match[0];
|
||||
}
|
||||
|
||||
// BBcode 2 HTML was written by WAY2WEB.net
|
||||
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
||||
|
||||
|
@ -769,6 +776,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
|||
if (!$tryoembed)
|
||||
$Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$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
|
||||
|
|
|
@ -2087,3 +2087,43 @@ function format_network_name($network, $url = 0) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Syntax based code highlighting for popular languages.
|
||||
* @param string $s Code block
|
||||
* @param string $lang Programming language
|
||||
* @return string Formated html
|
||||
*/
|
||||
function text_highlight($s,$lang) {
|
||||
if($lang === 'js')
|
||||
$lang = 'javascript';
|
||||
if(! strpos('Text_Highlighter',get_include_path())) {
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter');
|
||||
}
|
||||
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([" ","\n"],[" ",''],$o);
|
||||
if($tag_added) {
|
||||
$b = substr($o,0,strpos($o,'<li>'));
|
||||
$e = substr($o,strpos($o,'</li>'));
|
||||
$o = $b . $e;
|
||||
}
|
||||
return('<code>' . $o . '</code>');
|
||||
}
|
||||
|
|
455
library/Text_Highlighter/README
Normal file
455
library/Text_Highlighter/README
Normal file
|
@ -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: */
|
||||
|
12
library/Text_Highlighter/TODO
Normal file
12
library/Text_Highlighter/TODO
Normal file
|
@ -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: */
|
||||
|
398
library/Text_Highlighter/Text/Highlighter.php
Normal file
398
library/Text_Highlighter/Text/Highlighter.php
Normal file
|
@ -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:
|
||||
*/
|
||||
|
||||
?>
|
519
library/Text_Highlighter/Text/Highlighter/ABAP.php
Normal file
519
library/Text_Highlighter/Text/Highlighter/ABAP.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
894
library/Text_Highlighter/Text/Highlighter/AVRC.php
Normal file
894
library/Text_Highlighter/Text/Highlighter/AVRC.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
891
library/Text_Highlighter/Text/Highlighter/CPP.php
Normal file
891
library/Text_Highlighter/Text/Highlighter/CPP.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
437
library/Text_Highlighter/Text/Highlighter/CSS.php
Normal file
437
library/Text_Highlighter/Text/Highlighter/CSS.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
384
library/Text_Highlighter/Text/Highlighter/DIFF.php
Normal file
384
library/Text_Highlighter/Text/Highlighter/DIFF.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
426
library/Text_Highlighter/Text/Highlighter/DTD.php
Normal file
426
library/Text_Highlighter/Text/Highlighter/DTD.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
1291
library/Text_Highlighter/Text/Highlighter/Generator.php
Normal file
1291
library/Text_Highlighter/Text/Highlighter/Generator.php
Normal file
File diff suppressed because it is too large
Load diff
234
library/Text_Highlighter/Text/Highlighter/HTML.php
Normal file
234
library/Text_Highlighter/Text/Highlighter/HTML.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
802
library/Text_Highlighter/Text/Highlighter/JAVA.php
Normal file
802
library/Text_Highlighter/Text/Highlighter/JAVA.php
Normal file
File diff suppressed because one or more lines are too long
631
library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
Normal file
631
library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
434
library/Text_Highlighter/Text/Highlighter/MYSQL.php
Normal file
434
library/Text_Highlighter/Text/Highlighter/MYSQL.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
1352
library/Text_Highlighter/Text/Highlighter/PERL.php
Normal file
1352
library/Text_Highlighter/Text/Highlighter/PERL.php
Normal file
File diff suppressed because it is too large
Load diff
1107
library/Text_Highlighter/Text/Highlighter/PHP.php
Normal file
1107
library/Text_Highlighter/Text/Highlighter/PHP.php
Normal file
File diff suppressed because it is too large
Load diff
647
library/Text_Highlighter/Text/Highlighter/PYTHON.php
Normal file
647
library/Text_Highlighter/Text/Highlighter/PYTHON.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
825
library/Text_Highlighter/Text/Highlighter/RUBY.php
Normal file
825
library/Text_Highlighter/Text/Highlighter/RUBY.php
Normal file
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
164
library/Text_Highlighter/Text/Highlighter/Renderer.php
Normal file
164
library/Text_Highlighter/Text/Highlighter/Renderer.php
Normal file
|
@ -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:
|
||||
*/
|
||||
|
||||
?>
|
200
library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
Normal file
200
library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
Normal file
|
@ -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 => 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:
|
||||
*/
|
||||
|
||||
?>
|
238
library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
Normal file
238
library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
Normal file
|
@ -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:
|
||||
*/
|
||||
|
||||
?>
|
208
library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
Normal file
208
library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
Normal file
|
@ -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:
|
||||
*/
|
||||
|
||||
?>
|
465
library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
Normal file
465
library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
Normal file
|
@ -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',
|
||||