From 98dbe6f0d2edfff3a1f5785504504b4a6e5dd4eb Mon Sep 17 00:00:00 2001
From: "ctrlaltca@gmail.com" <>
Date: Sat, 19 Nov 2011 11:33:31 +0000
Subject: updating phpDocumentor, part 2: add new version
---
.../phpDocumentor/ParserDescCleanup.inc | 1488 ++++++++++++++++++++
1 file changed, 1488 insertions(+)
create mode 100755 buildscripts/PhpDocumentor/phpDocumentor/ParserDescCleanup.inc
(limited to 'buildscripts/PhpDocumentor/phpDocumentor/ParserDescCleanup.inc')
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/ParserDescCleanup.inc b/buildscripts/PhpDocumentor/phpDocumentor/ParserDescCleanup.inc
new file mode 100755
index 00000000..f58be00e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/ParserDescCleanup.inc
@@ -0,0 +1,1488 @@
+
+ * @copyright 2002-2006 Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version CVS: $Id: ParserDescCleanup.inc 286923 2009-08-08 06:00:39Z ashnazg $
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @see Parser, WordParser
+ * @since 1.2
+ */
+
+/**#@+
+ * {@link parserDescParser} token constants
+ */
+/** when < > is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_P', 601);
+/** when < > is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_P', 701);
+/** when \n\n is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_DOUBLECR', 602);
+/** when \n\n is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_DOUBLECR', 702);
+/** when < >,< tag. If so, it will switch
+ * into a mode of parsing out paragraphs by instead
+ * of a double line-break
+ *
+ * It also removes extra whitespace
+ * @uses doSimpleList()
+ */
+ function defaultHandler($word, $pevent)
+ {
+ $context = $this->getContext();
+ if ($context != 'normal') $this->setContext('normal');
+ if ($this->p_vars['start'] && is_string($word) && strtolower($word) == ' ')
+ {
+ $this->parse_Ps = true;
+ }
+ if (is_string($word) && $this->checkEventPush($word, $pevent)) return;
+// if (!isset($this->parse_Ps) || !$this->parse_Ps)
+ {
+ if (is_string($word) && is_string($this->p_vars['last_word']) &&
+ ($word == ' ' && $this->p_vars['last_word'] == ' ')) return;
+ if ($pevent == PARSER_EVENT_NOEVENTS)
+ {
+ if ($this->doSimpleList($word)) return;
+ }
+ $this->addText($word);
+ }
+ }
+
+ /**
+ * Retrieve the current top-level tag to add text into
+ * @uses $_context
+ */
+ function getContext()
+ {
+ array_push($this->_context,$a = array_pop($this->_context));
+ return $a;
+ }
+
+ /**
+ * Pop a context off of the context stack
+ * @uses $_context
+ */
+ function dropContext()
+ {
+ array_pop($this->_context);
+ if (count($this->_context) == 0)
+ $this->_context = array('normal');
+ }
+
+ /**
+ * @uses $_context
+ * @param string context name
+ */
+ function setContext($context)
+ {
+ array_push($this->_context,$context);
+ }
+
+ /**
+ * add input as text to the current paragraph or list
+ * @param string|parserInlineTag
+ */
+ function addText($text)
+ {
+ $context = $this->getContext();
+ if ($context == 'list')
+ {
+// debug('aded to '.$context);
+ if (!is_object($this->p_vars['list_item'][$this->p_vars['list_count']])) {
+ addErrorDie(PDERROR_UL_IN_UL);
+ }
+ $this->p_vars['list_item'][$this->p_vars['list_count']]->add($text);
+ } elseif ($context != 'normal')
+ {
+// debug('added to '.$context);
+ $this->p_vars[$context]->add($text);
+ } else
+ {
+// debug('added to normal ');
+ $indtype = $this->p_vars['indtype'];
+ if (!isset($this->pars[$this->p_vars['curpar']]))
+ $this->pars[$this->p_vars['curpar']] = new $indtype;
+ $this->pars[$this->p_vars['curpar']]->add($text);
+ }
+ }
+
+ /**#@-*/
+ /**#@+
+ * @access private
+ * @param string|parserInlineTag token from the ObjectWordParser
+ * @param integer parser event from {@link ParserDescCleanup.inc}
+ */
+ /**
+ * Handles special case where a description needs the text "> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_CODE', 600);
+/** when <
');
+ }
+
+ /**
+ * Handle "<> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_CODE', 700);
+/** when <
>>
+ */
+ function handleEscapeCode($word, $pevent)
+ {
+ $this->p_vars['event_stack']->popEvent();
+ $this->addText('> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_PRE', 603);
+/** when <
> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_PRE', 703);
+/** when <
>/<
> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_LIST', 604);
+/** when <
>/<
> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_LIST', 704);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_B', 605);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_B', 705);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_I', 606);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_I', 706);
+/** when <
> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_BR', 607);
+/** when <
> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_BR', 707);
+/** when the << potential escape for tags is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_ESCAPE',608);
+/** when the << potential escape for tags is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_ESCAPE',708);
+/** when << /pre>> is found in a <><
> section */
+define('PHPDOCUMENTOR_PDP_EVENT_ESCAPE_PRE',609);
+/** when << /pre>> is found in a <><
> section */
+define('PHPDOCUMENTOR_PDP_STATE_ESCAPE_PRE',709);
+/** when << /code>> is found in a <><
> section */
+define('PHPDOCUMENTOR_PDP_EVENT_ESCAPE_CODE',610);
+/** when << /code>> is found in a <><
> section */
+define('PHPDOCUMENTOR_PDP_STATE_ESCAPE_CODE',710);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_VAR',611);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_VAR',711);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_SAMP',612);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_SAMP',712);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_EVENT_KBD',613);
+/** when <> is found in a desc */
+define('PHPDOCUMENTOR_PDP_STATE_KBD',713);
+/** when a simple list is found in a desc
+ *
+ * like
+ *
+ * o item 1
+ * o item 2
+ *
+ */
+define('PHPDOCUMENTOR_PDP_EVENT_SIMLIST',614);
+/** when a simple list is found in a desc
+ *
+ * like
+ *
+ * o item 1
+ * o item 2
+ *
+ */
+define('PHPDOCUMENTOR_PDP_STATE_SIMLIST',714);
+/**#@-*/
+/**
+* Like WordParser but designed to handle an array with strings and
+* {@link parserInlineTag}s
+* @package phpDocumentor
+* @subpackage WordParsers
+* @author Greg Beaver >,<
>>
+ */
+ function handleEscapePre($word, $pevent)
+ {
+ $this->p_vars['event_stack']->popEvent();
+ $this->addText('');
+ }
+
+ /**
+ * Just like {@link handleEscape}, except the only valid escape is
+ * <<>,<
>,<
>,<
>> in a DocBlock will parse out as <
>, instead
+ * of being parsed as markup.
+ */
+ function handleEscape($word, $pevent)
+ {
+ $this->p_vars['event_stack']->popEvent();
+ if (!in_array($word, $this->tokens[PHPDOCUMENTOR_PDP_STATE_ESCAPE]))
+ {
+ if ($word == '<')
+ {
+ $this->addText($word);
+ $this->wp->backupPos($word.$word);
+ } else {
+ $this->addText('<<');
+ $this->wp->backupPos($word);
+ }
+ return;
+ }
+ $this->addText('<'.str_replace('>>','>',$word));
+ }
+
+ /**
+ * Just like {@link handleEscape}, except the only valid escape is
+ * <<
>"
+ * Add a new {@link parserBr}
+ * @uses addText()
+ */
+ function handleBr($word, $pevent)
+ {
+ if (is_string($word) && $this->checkEventPop($word, $pevent))
+ {
+ $this->addText(new parserBr);
+ }
+ }
+
+ /**
+ * Handles simple lists
+ *
+ * phpEdit has an ingenious facility to handle simple lists used in a
+ * DocBlock like this:
+ *
+ * - item 1
+ * - item 2
+ * - item 3
+ *
+ * The DocBlock is:
+ *
+ * * - item 1 + * * - item 2 + * * - item 3 + *+ * This function converts these simple lists into the parserList class + * @param boolean true if this is the first list item in the list + */ + function handleSimpleList($word, $pevent, $start = false) + { + if (is_object($word) && $this->p_flags['in_item']) + { + $this->p_vars['list_item'][0]->add($word); + return; + } + if (is_string($word) && $this->checkEventPush($word, $pevent)) + { + $this->p_flags['in_event'] = true; + return; + } + $ltrimword = @substr($word, @strpos($word, ltrim($word))); + $is_valid = false; + if (strlen(trim($word)) == 0) + { + if ($this->wp->nextIsObjectOrNonNL()) + { + $is_valid = true; + } + } + if ($word == "\n" && is_string($this->p_vars['last_word']) + && $this->p_vars['last_word']{strlen($this->p_vars['last_word']) - 1} + == "\n") + { + if ($this->p_flags['in_item']) + { + $this->p_vars['lists'][0]->addItem($this->p_vars['list_item'][0]); + unset($this->p_vars['list_item'][0]); + $this->setContext('normal'); + $this->p_flags['simplelist'] = false; + $this->addText($this->p_vars['lists'][0]); + unset($this->p_vars['lists']); + unset($this->p_vars['last_list']); + $this->wp->backuppos($word); + $this->p_vars['event_stack']->popEvent(); + $this->p_flags['in_item'] = false; +// debug('end of list 3'); + return; + } else + { + $this->wp->backuppos($word); + $this->p_vars['event_stack']->popEvent(); + $this->p_flags['in_item'] = false; +// debug('not a list 2'); + return; + } + } + $start_list = $this->getStartList($word); + if (substr($ltrimword,0,strlen($start_list)) != $start_list + || $this->p_flags['in_event'] || is_object($this->p_vars['last_word'])) + { + if (((strlen($this->p_vars['whitespace']) + 1) < strlen(substr($word,0,strpos($word, $ltrimword)))) + || $word == "\n" + || $is_valid + || $this->p_flags['in_event'] + || (is_object($this->p_vars['last_word']) && $this->p_flags['in_item'])) + { + $this->p_vars['list_item'][0]->add($word); + $this->resetStartList($start_list); + $this->p_flags['in_event'] = false; +// debug('middle of list'); + } else + { + if ($this->p_flags['in_item']) + { + $this->p_vars['lists'][0]->addItem($this->p_vars['list_item'][0]); + unset($this->p_vars['list_item'][0]); + $this->setContext('normal'); + $this->p_flags['simplelist'] = false; + $this->addText($this->p_vars['lists'][0]); + unset($this->p_vars['lists']); + unset($this->p_vars['last_list']); + $this->wp->backuppos($word); + $this->p_vars['event_stack']->popEvent(); + $this->p_flags['in_item'] = false; +// debug('end of list 1'); + return; + } else + { + $this->wp->backuppos($word); + $this->p_vars['event_stack']->popEvent(); + $this->p_flags['in_item'] = false; +// debug('not a list'); + return; + } + } + } else + { + if ($this->p_vars['whitespace'] != substr($word,0,strpos($word, $start_list))) + { // if the whitespace is greater than that preceding the list + // delimiter, it's a multi-line list item + $this->setContext('normal'); + $this->p_flags['simplelist'] = false; + $this->addText($this->p_vars['lists'][0]); + unset($this->p_vars['lists']); + $this->wp->backuppos($word); + $this->p_vars['event_stack']->popEvent(); + unset($this->p_vars['last_list']); + $this->p_flags['in_item'] = false; +// debug('end of list 2'); + return; + } else + { + if ($this->p_flags['in_item']) + { + // end of a list item, add it to the list + $this->p_vars['lists'][0]->addItem($this->p_vars['list_item'][0]); + unset($this->p_vars['list_item'][0]); + } +// debug('next list item'); + $this->p_vars['list_item'][0] = new parserStringWithInlineTags; + $this->p_vars['list_item'][0]->add(ltrim(substr($ltrimword,strlen($start_list)))); + $this->p_flags['in_item'] = true; + } + } + } + /**#@-*/ + /** + * Get the next list marker + * + * In unordered lists, this will be something like "o", "-" + * + * In ordered lists, this will be either the number "3", "5" or "3.", "5." + * @return string text of the next list marker to look for + * @param string current word from the parser + * @access private + */ + function getStartList($word) + { + // unordered, return the first marker found + if (!$this->p_flags['orderedlist']) return $this->p_vars['start_list']; + if (isset($this->p_vars['last_list'])) + { + $this->p_vars['save_list'] = $this->p_vars['last_list']; + $next = $this->p_vars['last_list']; + // increment to next list number, convert to string + if (substr($this->p_vars['start_list'], strlen($this->p_vars['start_list']) - 1) == '.') + $next = (substr($next, 0, strpos($next,'.')) + 1) . '.'; + else + $next = ($next + 1) . ''; +// debug("next is '$next'"); + if ($this->p_vars['whitespace'] == substr($word,0,strpos($word, $next))) + return $this->p_vars['last_list'] = $next; + // the next number is not in this word, so return but don't save + return $next; + } else + { + $this->p_vars['last_list'] = $this->p_vars['start_list']; + return $this->p_vars['start_list']; + } + } + + /** + * Set the next list marker to the current list marker + * + * In ordered lists, this will ensure that the next number returned is the + * right number + * @param string token for next list marker + * @access private + */ + function resetStartList($start) + { + if (!isset($this->p_vars['save_list'])) return false; + $this->p_vars['last_list'] = $this->p_vars['save_list']; + } + + /**#@+ + * @access private + * @param string|parserInlineTag token from the ObjectWordParser + * @param integer parser event from {@link ParserDescCleanup.inc} + */ + /** + * Handles <
><
> blocks
+ */
+ function handleCode($word, $pevent)
+ {
+ if (!isset($this->p_vars['my_code']))
+ {
+ $this->setContext('my_code');
+ $this->p_vars['my_code'] = new parserCode;
+ }
+ if (is_string($word) && $this->checkEventPush($word, $pevent)) return;
+ if (is_object($word) || strtolower($word) != '') $this->p_vars['my_code']->add($word);
+ if (is_string($word))
+ {
+ if ($this->checkEventPop($word,$pevent))
+ {
+ $this->dropContext();
+ $this->addText($this->p_vars['my_code']);
+ unset($this->p_vars['my_code']);
+ }
+ }
+ }
+
+ /**
+ * Handles <><> blocks + */ + function handlePre($word, $pevent) + { + if (!isset($this->p_vars['my_pre'])) + { + $this->setContext('my_pre'); + $this->p_vars['my_pre'] = new parserPre; + } + if (is_string($word) && $this->checkEventPush($word, $pevent)) return; + if (is_object($word) || strtolower($word) != '') $this->p_vars['my_pre']->add($word); + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_pre']); + unset($this->p_vars['my_pre']); + } + } + } + + /** + * Handles <><> blocks + */ + function handleB($word, $pevent) + { + if (!isset($this->p_vars['my_b'])) + { + $this->setContext('my_b'); + $this->p_vars['my_b'] = new parserB; + } + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_b']); + unset($this->p_vars['my_b']); + } else + { + $this->p_vars['my_b']->add($word); + } + } else $this->p_vars['my_b']->add($word); + } + + /** + * Handles <><> blocks + */ + function handleI($word, $pevent) + { + if (!isset($this->p_vars['my_i'])) + { + $this->p_vars['my_i'] = new parserI; + $this->setContext('my_i'); + } + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_i']); + unset($this->p_vars['my_i']); + } else + { + $this->p_vars['my_i']->add($word); + } + } else $this->p_vars['my_i']->add($word); + } + + /** + * Handles <><> blocks + */ + function handleVar($word, $pevent) + { + if (!isset($this->p_vars['my_var'])) + { + $this->setContext('my_var'); + $this->p_vars['my_var'] = new parserDescVar; + } + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_var']); + unset($this->p_vars['my_var']); + } else + { + $this->p_vars['my_var']->add($word); + } + } else $this->p_vars['my_var']->add($word); + } + + /** + * Handles <><> blocks + */ + function handleSamp($word, $pevent) + { + if (!isset($this->p_vars['my_samp'])) + { + $this->setContext('my_samp'); + $this->p_vars['my_samp'] = new parserSamp; + } + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_samp']); + unset($this->p_vars['my_samp']); + } else + { + $this->p_vars['my_samp']->add($word); + } + } else $this->p_vars['my_samp']->add($word); + } + + /** + * Handles <><> blocks + */ + function handleKbd($word, $pevent) + { + if (!isset($this->p_vars['my_kbd'])) + { + $this->setContext('my_kbd'); + $this->p_vars['my_kbd'] = new parserKbd; + } + if (is_string($word)) + { + if ($this->checkEventPop($word,$pevent)) + { + $this->dropContext(); + $this->addText($this->p_vars['my_kbd']); + unset($this->p_vars['my_kbd']); + } else + { + $this->p_vars['my_kbd']->add($word); + } + } else $this->p_vars['my_kbd']->add($word); + } + + /** + * Handles <
><
> blocks + * + * Note that the only time <> will be interpreted as delimiting a + * paragraph is if it is the first thing in the description. + */ + function handleP($word, $pevent) + { + if (!isset($this->parse_Ps)) $this->parse_Ps = false; + if (is_string($word)) + { + if (is_string($word) && $this->checkEventPush($word, $pevent)) return; + } + if (!$this->parse_Ps) + { + $this->p_vars['event_stack']->popEvent(); + if (!is_object($word) && strtolower($this->p_vars['last_word']) == '
') $this->addText('
'); + $this->addText($word); + return; + } + if (is_string($word) && $word == "\n") $word = " "; + if (is_string($word)) + { + if ($this->checkEventPop($word, $pevent)) + { + $this->p_vars['curpar']++; + return; + } + // if no closing tag, pretend there was one + if (!is_object($word) && strtolower($word) == '
' && $this->parse_Ps) + { + $this->p_vars['curpar']++; + return; + } + } + if ($this->p_vars['start']) + { + $this->addText($word); + } else + {// if the
is not at the beginning of the desc, then it is not + // possible to parse into paragraphs using this tag + if ($word === ' ' && $this->p_vars['last_word'] === ' ') return; + $this->addText($word); + } + } + + /** + * Handles \n\n as a paragraph marker + * @uses doSimpleList() + */ + function handleDoubleCR($word, $pevent) + { + $this->p_vars['event_stack']->popEvent(); + if ($word == "\n") + { + // only use this if
isn't being used
+ if ((!isset($this->parse_Ps) || !$this->parse_Ps))
+ {
+ if ($this->p_vars['last_word'] == "\n")
+ {
+ $this->p_vars['curpar']++;
+ $this->parse_Ps = false;
+ } else
+ {
+ if (is_string($word) && !$this->checkEventPush($word, $pevent))
+ {
+ if ($word == ' ' && $this->p_vars['last_word'] == ' ') return;
+ $this->addText($word);
+ }
+ }
+ } else
+ {
+ if (is_string($word) && !$this->checkEventPush($word, $pevent))
+ {
+ if ($word == ' ' && $this->p_vars['last_word'] == ' ') return;
+ $this->addText($word);
+ }
+ }
+ } else
+ {
+ if ($this->p_vars['last_word'] == "\n")
+ {
+ if ((!isset($this->parse_Ps) || !$this->parse_Ps))
+ {
+ $this->addText(' ');
+ }
+ }
+ if (is_string($word) && !($e = $this->checkEventPush($word, $pevent)))
+ {
+ if ($word == ' ' && $this->p_vars['last_word'] == ' ') return;
+ if ($this->doSimpleList($word)) return;
+ $this->addText($word);
+ }
+ }
+ }
+
+ /**#@-*/
+ /**
+ * Return a simple list, if found
+ *
+ * This helper function extracts a simple list beginning with any of
+ * 'o','-'.'#','+','0','1','0.','1.' and starts parsing it.
+ * @param string line that may contain a simple list
+ * @return boolean true if a list is found, false otherwise
+ */
+ function doSimpleList($word)
+ {
+ if ($this->p_flags['in_event']) return true;
+ if (is_object($word)) return false;
+ $ltrimword = ltrim($word);
+ if ((strlen($ltrimword) != strlen($word))
+ && strlen($ltrimword) > 1
+ && ((in_array($ltrimword{0},array('o','-','1','0','#','+')) && $ltrimword{1} == ' '))
+ || ((strlen($ltrimword) >= 2) && (substr($ltrimword,0,2) === '1.' || substr($ltrimword,0,2) === '0.') && $ltrimword{2} == ' '))
+ {
+ // save the whitespace for comparison
+ $this->p_vars['whitespace'] = substr($word,0,strlen($word) - strlen($ltrimword));
+ $this->p_vars['start_list'] = $ltrimword{0};
+ if ($this->p_vars['start_list'] != '1' && $this->p_vars['start_list'] != '1.' &&
+ $this->p_vars['start_list'] != '0' && $this->p_vars['start_list'] != '0.')
+ {
+ $this->p_flags['orderedlist'] = false;
+ } else
+ {
+ if (substr($ltrimword,0,2) == '1.')
+ {
+ $this->p_vars['start_list'] = '1.';
+ }
+ $this->p_flags['orderedlist'] = true;
+ }
+ $this->p_vars['event_stack']->pushEvent(PHPDOCUMENTOR_PDP_EVENT_SIMLIST);
+ $this->setContext('list');
+ $this->p_flags['simplelist'] = true;
+ $this->p_vars['lists'][0] = new parserList($this->p_flags['orderedlist']);
+ $this->p_vars['list_count'] = 0;
+ $this->handleSimpleList($word, PHPDOCUMENTOR_PDP_EVENT_SIMLIST, true);
+ return true;
+ }
+ return false;
+ }
+ /**
+ * setup the parser tokens, and the pushEvent/popEvent arrays
+ * @see $tokens, $pushEvent, $popEvent
+ * @param boolean determines whether to allow paragraph parsing
+ * @global boolean used to determine whether to slow things down or not by
+ * eliminating whitespace from comments
+ */
+
+ function setupStates($sdesc)
+ {
+ $this->p_flags['in_item'] = false;
+ $this->p_flags['in_event'] = false;
+ $this->p_flags['simplelist'] = false;
+ $this->_context = array('normal');
+ $this->tokens[STATE_NOEVENTS] = array("\n", " ";
+ $this->tokens[STATE_NOEVENTS][] = "", "
", "
", "
",
+ "", "", '', '', '', "
tokens[STATE_NOEVENTS][] = "
","","\n","","","","","
", '<<',
+ '', '', '');
+ if (PHPDOCUMENTOR_KILL_WHITESPACE) $this->tokens[PHPDOCUMENTOR_PDP_STATE_P][] = ' ';
+ $this->tokens[PHPDOCUMENTOR_PDP_STATE_CODE] = array("
", '<>');
+ $this->tokens[PHPDOCUMENTOR_PDP_STATE_PRE] = array("", '<>');
+ $this->tokens[PHPDOCUMENTOR_PDP_STATE_LIST] = array("",""); +########################## + + $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_BR] = array(">","/>"); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_P] = + array( + "
', '', ''); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_DOUBLECR] = array("\n","","
","
","
","","",">' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE_PRE, + ); + + $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_PRE] = array("
","", + '', '', '', '<<'); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_SIMLIST] = array("\n",'', '', '','','', '', '","","', + '
tokens[PHPDOCUMENTOR_PDP_STATE_B] = array("","\n","
","","
","
', '', ''); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_KBD] = array("","\n","
', ''); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_VAR] = array("","","
","","","
', '","\n","
"); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_PRE] = + array( + '<","","
","","","
', '', ''); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_SAMP] = array("","\n","
'); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_I] = array("","","
","","","
', '', '","\n","
","","","
","","
', '', ''); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_BR] = array(">","/>"); + $this->tokens[PHPDOCUMENTOR_PDP_STATE_ESCAPE] = array('code>>', '/code>>', 'pre>>', '/pre>>', 'b>>', '/b>>', + 'i>>', '/i>>', 'ol>>', '/ol>>', 'ul>>', '/ul>>', 'li>>', '/li>>', + 'br>>', 'br />>', 'p>>', '/p>>', 'samp>>', '/samp>>', + 'kbd>>', '/kbd>>', 'var>>', '/var>>'); + if (PHPDOCUMENTOR_KILL_WHITESPACE) $this->tokens[PHPDOCUMENTOR_PDP_STATE_DOUBLECR][] = ' '; + + // For each event word to event mapings + $this->pushEvent[PARSER_EVENT_NOEVENTS] = + array( + "" => PHPDOCUMENTOR_PDP_EVENT_CODE, + "
>' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE_CODE, + ); + + $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_CODE] = array("" => PHPDOCUMENTOR_PDP_EVENT_PRE, + "" => PHPDOCUMENTOR_PDP_EVENT_P, + "" => PHPDOCUMENTOR_PDP_EVENT_VAR, + "" => PHPDOCUMENTOR_PDP_EVENT_SAMP, + "" => PHPDOCUMENTOR_PDP_EVENT_KBD, + "
" => PHPDOCUMENTOR_PDP_EVENT_LIST, + "
" => PHPDOCUMENTOR_PDP_EVENT_LIST, + "" => PHPDOCUMENTOR_PDP_EVENT_B, + "" => PHPDOCUMENTOR_PDP_EVENT_I, + "
PHPDOCUMENTOR_PDP_EVENT_BR, + "\n" => PHPDOCUMENTOR_PDP_EVENT_DOUBLECR, + '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE, + ); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_CODE] = + array( + '<
" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_B,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_P] = array("");
+##########################
+
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_LIST] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "" => PHPDOCUMENTOR_PDP_EVENT_B,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_LIST] = array("
","
");
+##########################
+
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_SIMLIST] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_P,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "" => PHPDOCUMENTOR_PDP_EVENT_B,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+##########################
+
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_DOUBLECR] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_B,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_P,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+##########################
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_B] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '' => PHPDOCUMENTOR_PDP_EVENT_I,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_B] = array("
");
+
+##########################
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_I] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '' => PHPDOCUMENTOR_PDP_EVENT_B,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_I] = array("
");
+
+##########################
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_VAR] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '' => PHPDOCUMENTOR_PDP_EVENT_B,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_VAR] = array("
");
+
+##########################
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_SAMP] =
+ array(
+ "" => PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
" => PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "" => PHPDOCUMENTOR_PDP_EVENT_KBD,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '' => PHPDOCUMENTOR_PDP_EVENT_B,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_SAMP] = array("");
+
+##########################
+ $this->pushEvent[PHPDOCUMENTOR_PDP_EVENT_KBD] =
+ array(
+ " PHPDOCUMENTOR_PDP_EVENT_CODE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "" => PHPDOCUMENTOR_PDP_EVENT_LIST,
+ "
PHPDOCUMENTOR_PDP_EVENT_PRE,
+ "" => PHPDOCUMENTOR_PDP_EVENT_VAR,
+ "" => PHPDOCUMENTOR_PDP_EVENT_SAMP,
+ "" => PHPDOCUMENTOR_PDP_EVENT_I,
+ "
PHPDOCUMENTOR_PDP_EVENT_BR,
+ '' => PHPDOCUMENTOR_PDP_EVENT_B,
+ '<<' => PHPDOCUMENTOR_PDP_EVENT_ESCAPE,
+ );
+
+ $this->popEvent[PHPDOCUMENTOR_PDP_EVENT_KBD] = array("
");
+ }
+
+ function getParserEventName ($value)
+ {
+ $lookup = array(
+ PARSER_EVENT_NOEVENTS => "PARSER_EVENT_NOEVENTS",
+ PHPDOCUMENTOR_PDP_EVENT_CODE => "PHPDOCUMENTOR_PDP_EVENT_CODE",
+ PHPDOCUMENTOR_PDP_EVENT_P => "PHPDOCUMENTOR_PDP_EVENT_P",
+ PHPDOCUMENTOR_PDP_EVENT_B => "PHPDOCUMENTOR_PDP_EVENT_B",
+ PHPDOCUMENTOR_PDP_EVENT_I => "PHPDOCUMENTOR_PDP_EVENT_I",
+ PHPDOCUMENTOR_PDP_EVENT_BR => "PHPDOCUMENTOR_PDP_EVENT_BR",
+ PHPDOCUMENTOR_PDP_EVENT_VAR => "PHPDOCUMENTOR_PDP_EVENT_VAR",
+ PHPDOCUMENTOR_PDP_EVENT_SAMP => "PHPDOCUMENTOR_PDP_EVENT_SAMP",
+ PHPDOCUMENTOR_PDP_EVENT_KBD => "PHPDOCUMENTOR_PDP_EVENT_KBD",
+ PHPDOCUMENTOR_PDP_EVENT_ESCAPE => "PHPDOCUMENTOR_PDP_EVENT_ESCAPE",
+ PHPDOCUMENTOR_PDP_EVENT_ESCAPE_CODE => "PHPDOCUMENTOR_PDP_EVENT_ESCAPE_CODE",
+ PHPDOCUMENTOR_PDP_EVENT_ESCAPE_PRE => "PHPDOCUMENTOR_PDP_EVENT_ESCAPE_PRE",
+ PHPDOCUMENTOR_PDP_EVENT_DOUBLECR => "PHPDOCUMENTOR_PDP_EVENT_DOUBLECR",
+ PHPDOCUMENTOR_PDP_EVENT_LIST => "PHPDOCUMENTOR_PDP_EVENT_LIST",
+ PHPDOCUMENTOR_PDP_EVENT_PRE => "PHPDOCUMENTOR_PDP_EVENT_PRE",
+ PHPDOCUMENTOR_PDP_EVENT_SIMLIST => "PHPDOCUMENTOR_PDP_EVENT_SIMLIST",
+ );
+ if (isset($lookup[$value]))
+ return $lookup[$value];
+ else return $value;
+ }
+}
+
+?>
--
cgit v1.2.3