From: <rob...@us...> - 2012-01-24 17:07:01
|
Revision: 39639 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=39639&view=rev Author: robertplummer Date: 2012-01-24 17:06:52 +0000 (Tue, 24 Jan 2012) Log Message: ----------- [ENH] Handler and parser cleanup, Lexer and Parser are now 1 class, taking advantage of the new model [FIX] Brought JisonParser_Wiki back online, it had been some time since it worked Modified Paths: -------------- trunk/lib/core/JisonParser/Phraser/Handler.php trunk/lib/core/JisonParser/Phraser.php trunk/lib/core/JisonParser/Wiki/Handler.php trunk/lib/core/JisonParser/Wiki.jison trunk/lib/core/JisonParser/Wiki.js trunk/lib/core/JisonParser/Wiki.php Modified: trunk/lib/core/JisonParser/Phraser/Handler.php =================================================================== --- trunk/lib/core/JisonParser/Phraser/Handler.php 2012-01-24 17:05:26 UTC (rev 39638) +++ trunk/lib/core/JisonParser/Phraser/Handler.php 2012-01-24 17:06:52 UTC (rev 39639) @@ -3,7 +3,6 @@ { var $chars = array(); var $words = array(); - var $tags = array(); var $currentWord = -1; var $wordsChars = array(); var $indexes = array(); @@ -12,7 +11,6 @@ function tagHandler($tag) { - $this->tags[] = $tag; return $tag; } Modified: trunk/lib/core/JisonParser/Phraser.php =================================================================== --- trunk/lib/core/JisonParser/Phraser.php 2012-01-24 17:05:26 UTC (rev 39638) +++ trunk/lib/core/JisonParser/Phraser.php 2012-01-24 17:06:52 UTC (rev 39639) @@ -8,21 +8,23 @@ var $productions_ = array(); var $table = array(); var $defaultActions = array(); - var $lexer; var $debug = false; - function __construct($lexer = null) + function __construct() { - $this->lexer = (!empty($lexer) ? $lexer : new JisonParser_Phraser_Lexer); - $accept = 'accept'; $end = 'end'; + //parser $this->symbols_ = json_decode('{"error":2,"html":3,"contents":4,"EOF":5,"content":6,"TAG":7,"WORD":8,"CHAR":9,"$accept":0,"$end":1}', true); $this->terminals_ = json_decode('{"2":"error","5":"EOF","7":"TAG","8":"WORD","9":"CHAR"}', true); $this->productions_ = json_decode('[0,[3,2],[4,1],[4,2],[6,1],[6,1],[6,1]]', true); $this->table = json_decode('[{"3":1,"4":2,"6":3,"7":[1,4],"8":[1,5],"9":[1,6]},{"1":[3]},{"5":[1,7],"6":8,"7":[1,4],"8":[1,5],"9":[1,6]},{"5":[2,2],"7":[2,2],"8":[2,2],"9":[2,2]},{"5":[2,4],"7":[2,4],"8":[2,4],"9":[2,4]},{"5":[2,5],"7":[2,5],"8":[2,5],"9":[2,5]},{"5":[2,6],"7":[2,6],"8":[2,6],"9":[2,6]},{"1":[2,1]},{"5":[2,3],"7":[2,3],"8":[2,3],"9":[2,3]}]', true); $this->defaultActions = json_decode('{"7":[2,1]}', true); + + //lexer + $this->lexer_rules = array("/^<(.|\\n)*?>/","/^[a-zA-Z0-9]+/","/^(.|\\n)/","/^$/"); + $this->lexer_conditions = json_decode('{"INITIAL":{"rules":[0,1,2,3],"inclusive":true}}', true); } function trace() @@ -69,7 +71,7 @@ function lex() { - $token = $this->lexer->lex(); // $end = 1 + $token = $this->lexer_lex(); // $end = 1 $token = (isset($token) ? $token : 1); // if token isn't its numeric value, convert @@ -81,7 +83,7 @@ return $token; } - function parseError($str, $hash) + function parseError($str = "", $hash = array()) { throw new Exception($str); } @@ -102,8 +104,8 @@ $TERROR = 2; $EOF = 1; - $this->lexer->setInput($input); - $yyloc = $this->lexer->yylloc; + $this->setInput($input); + $yyloc = $this->lexer_yylloc; $lstack[] = $yyloc; if (!empty($this->yy->parseError) && function_exists($this->yy->parseError)) $this->parseError = $this->yy->parseError; @@ -140,12 +142,12 @@ } } - $errStr = 'Parse error on line ' . ($yylineno + 1) . ":\n" . $this->lexer->showPosition() . '\nExpecting ' . implode(', ', $expected); + $errStr = 'Parse error on line ' . ($yylineno + 1) . ":\n" . $this->showPosition() . '\nExpecting ' . implode(', ', $expected); - $this->lexer->parseError($errStr, array( - "text"=> $this->lexer->match, + $this->parseError($errStr, array( + "text"=> $this->lexer_match, "token"=> $symbol, - "line"=> $this->lexer->yylineno, + "line"=> $this->lexer_yylineno, "loc"=> $yyloc, "expected"=> $expected )); @@ -158,10 +160,10 @@ } // discard current lookahead and grab another - $yyleng = $this->lexer->yyleng; - $yytext = $this->lexer->yytext; - $yylineno = $this->lexer->yylineno; - $yyloc = $this->lexer->yylloc; + $yyleng = $this->lexer_yyleng; + $yytext = $this->yytext; + $yylineno = $this->lexer_yylineno; + $yyloc = $this->lexer_yylloc; $symbol = $this->lex(); } @@ -201,15 +203,15 @@ // shift //$this->shiftCount++; $stack[] = $symbol; - $vstack[] = $this->lexer->yytext; - $lstack[] = $this->lexer->yylloc; + $vstack[] = $this->yytext; + $lstack[] = $this->lexer_yylloc; $stack[] = $action[1]; // push state $symbol = ""; if (empty($preErrorSymbol)) { // normal execution/no error - $yyleng = $this->lexer->yyleng; - $yytext = $this->lexer->yytext; - $yylineno = $this->lexer->yylineno; - $yyloc = $this->lexer->yylloc; + $yyleng = $this->lexer_yyleng; + $yytext = $this->yytext; + $yylineno = $this->lexer_yylineno; + $yyloc = $this->lexer_yylloc; if ($recovering > 0) $recovering--; } else { // error just occurred, resume old lookahead f/ before error $symbol = $preErrorSymbol; @@ -264,87 +266,76 @@ return true; } -} -/* Jison generated lexer */ -class JisonParser_Phraser_Lexer -{ - var $EOF = 1; - var $S = ""; - var $yy = ""; - var $yylineno = ""; - var $yyleng = ""; + + /* Jison generated lexer */ + var $lexer_EOF = 1; + var $lexer_S = ""; + var $lexer_yy = ""; + var $lexer_yylineno = ""; + var $lexer_yyleng = ""; var $yytext = ""; - var $matched = ""; - var $match = ""; - var $yylloc = array(); - var $conditionsStack = array(); - var $rules = array(); - var $conditions = array(); - - function __construct() - { - $this->rules = array("/^<(.|\\n)*?>/u","/^[a-zA-Z0-9]+/u","/^(.|\\n)/u","/^$/u"); - $this->conditions = json_decode('{"INITIAL":{"rules":[0,1,2,3],"inclusive":true}}', true); - } - - function parseError($str, $hash) - { - throw new Exception($str); - } - + var $lexer_matched = ""; + var $lexer_match = ""; + var $lexer_yylloc = array(); + var $lexer_conditionsStack = array(); + var $lexer_rules = array(); + var $lexer_conditions = array(); + var $lexer_done = false; + var $lexer_less; + var $lexer_more; + function setInput($input) { - $this->_input = $input; - $this->_more = $this->_less = $this->done = false; - $this->yylineno = $this->yyleng = 0; - $this->yytext = $this->matched = $this->match = ''; - $this->conditionStack = array('INITIAL'); - $this->yylloc = array( + $this->lexer_input = $input; + $this->lexer_more = $this->lexer_less = $this->lexer_done = false; + $this->lexer_yylineno = $this->lexer_yyleng = 0; + $this->yytext = $this->lexer_matched = $this->lexer_match = ''; + $this->lexer_conditionStack = array('INITIAL'); + $this->lexer_yylloc = array( "first_line"=> 1, "first_column"=> 0, "last_line"=> 1, "last_column"=> 0 ); - return $this; } function input() { - $ch = $this->_input[0]; + $ch = $this->lexer_input[0]; $this->yytext .= $ch; - $this->yyleng++; - $this->match .= $ch; - $this->matched .= $ch; + $this->lexer_yyleng++; + $this->lexer_match .= $ch; + $this->lexer_matched .= $ch; $lines = preg_match("/\n/", $ch); - if (count($lines) > 0) $this->yylineno++; - array_slice($this->_input, 1); + if (count($lines) > 0) $this->lexer_yylineno++; + array_slice($this->lexer_input, 1); return $ch; } function unput($ch) { - $this->_input = $ch . $this->_input; + $this->lexer_input = $ch . $this->lexer_input; return $this; } function more() { - $this->_more = true; + $this->lexer_more = true; return $this; } function pastInput() { - $past = substr($this->matched, 0, count($this->matched) - count($this->match)); + $past = substr($this->lexer_matched, 0, count($this->lexer_matched) - count($this->lexer_match)); return (strlen($past) > 20 ? '...' : '') . preg_replace("/\n/", "", substr($past, -20)); } function upcomingInput() { - $next = $this->match; + $next = $this->lexer_match; if (strlen($next) < 20) { - $next .= substr($this->_input, 0, 20 - strlen($next)); + $next .= substr($this->lexer_input, 0, 20 - strlen($next)); } return preg_replace("/\n/", "", substr($next, 0, 20) . (strlen($next) > 20 ? '...' : '')); } @@ -358,38 +349,38 @@ function next() { - if ($this->done == true) { - return $this->EOF; + if ($this->lexer_done == true) { + return $this->lexer_EOF; } - if ($this->_input == false) $this->_input = ""; - if (empty($this->_input)) $this->done = true; + if ($this->lexer_input == false) $this->lexer_input = ""; + if (empty($this->lexer_input)) $this->lexer_done = true; - if ($this->_more == false) { + if ($this->lexer_more == false) { $this->yytext = ''; - $this->match = ''; + $this->lexer_match = ''; } - $rules = $this->_currentRules(); + $rules = $this->currentRules(); for ($i = 0; $i < count($rules); $i++) { - preg_match($this->rules[$rules[$i]], $this->_input, $match); + preg_match($this->lexer_rules[$rules[$i]], $this->lexer_input, $match); if ( isset($match[0]) ) { preg_match_all("/\n.*/", $match[0], $lines, PREG_PATTERN_ORDER); - if (count($lines) > 1) $this->yylineno += count($lines); - $this->yylloc = array( - "first_line"=> $this->yylloc['last_line'], - "last_line"=> $this->yylineno + 1, - "first_column"=> $this->yylloc['last_column'], - "last_column"=> $lines ? count($lines[count($lines) - 1]) - 1 : $this->yylloc['last_column'] + count($match[0]) + if (count($lines) > 1) $this->lexer_yylineno += count($lines); + $this->lexer_yylloc = array( + "first_line"=> $this->lexer_yylloc['last_line'], + "last_line"=> $this->lexer_yylineno + 1, + "first_column"=> $this->lexer_yylloc['last_column'], + "last_column"=> $lines ? count($lines[count($lines) - 1]) - 1 : $this->lexer_yylloc['last_column'] + count($match[0]) ); $this->yytext .= $match[0]; - $this->match .= $match[0]; - $this->matches = $match[0]; - $this->yyleng = strlen($this->yytext); - $this->_more = false; - $this->_input = substr($this->_input, strlen($match[0]), strlen($this->_input)); - $this->matched .= $match[0]; - $token = $this->performAction($this->yy, $this, $rules[$i],$this->conditionStack[count($this->conditionStack) - 1]); + $this->lexer_match .= $match[0]; + $this->lexer_matches = $match[0]; + $this->lexer_yyleng = strlen($this->yytext); + $this->lexer_more = false; + $this->lexer_input = substr($this->lexer_input, strlen($match[0]), strlen($this->lexer_input)); + $this->lexer_matched .= $match[0]; + $token = $this->lexer_performAction($this->lexer_yy, $this, $rules[$i],$this->lexer_conditionStack[count($this->lexer_conditionStack) - 1]); if (empty($token) == false) { return $token; @@ -399,47 +390,47 @@ } } - if (empty($this->_input)) { - return $this->EOF; + if (empty($this->lexer_input)) { + return $this->lexer_EOF; } else { - $this->parseError('Lexical error on line ' . ($this->yylineno + 1) . '. Unrecognized text.\n' . $this->showPosition(), array( + $this->parseError('Lexical error on line ' . ($this->lexer_yylineno + 1) . '. Unrecognized text.\n' . $this->showPosition(), array( "text"=> "", "token"=> null, - "line"=> $this->yylineno + "line"=> $this->lexer_yylineno )); } } - function lex() + function lexer_lex() { $r = $this->next(); if (empty($r) == false) { return $r; - } else if ($this->done != true) { - return $this->lex(); + } else if ($this->lexer_done != true) { + return $this->lexer_lex(); } } function begin($condition) { - $this->conditionStack[] = $condition; + $this->lexer_conditionStack[] = $condition; } function popState() { - return array_pop($this->conditionStack); + return array_pop($this->lexer_conditionStack); } - function _currentRules() + function currentRules() { - return $this->conditions[ - $this->conditionStack[ - count($this->conditionStack) - 1 + return $this->lexer_conditions[ + $this->lexer_conditionStack[ + count($this->lexer_conditionStack) - 1 ] ]['rules']; } - function performAction(&$yy, $yy_, $avoiding_name_collisions, $YY_START = null) + function lexer_performAction(&$yy, $yy_, $avoiding_name_collisions, $YY_START = null) { $YYSTATE = $YY_START; Modified: trunk/lib/core/JisonParser/Wiki/Handler.php =================================================================== --- trunk/lib/core/JisonParser/Wiki/Handler.php 2012-01-24 17:05:26 UTC (rev 39638) +++ trunk/lib/core/JisonParser/Wiki/Handler.php 2012-01-24 17:06:52 UTC (rev 39639) @@ -11,23 +11,57 @@ private $pre_handlers = array(); private $pos_handlers = array(); private $postedit_handlers = array(); + var $npOn = false; + var $pluginStack = array(); + // state & plugin handlers function plugin($pluginDetails) { - $parser = new JisonParser_Wiki_Handler; //nested parsing! $parserlib = new ParserLib; + $parser = new JisonParser_Wiki_Handler(); + return $parser->parse( $parserlib->plugin_execute( - $pluginDetails->name, - $pluginDetails->body, + $pluginDetails['name'], + $pluginDetails['body'], $parserlib->plugin_split_args( - $pluginDetails->args + $pluginDetails['args'] ) ) ); } + function stackPlugin($yytext) + { + $pluginName = $this->match('/^\{([A-Z]+)/', $yytext); + $pluginArgs = $this->match('/[(].*?[)]/', $yytext); + + $this->pluginStack[] = array( + "name"=> $pluginName, + "args"=> $pluginArgs, + "body"=> '' + ); + } + + function inlinePlugin($yytext) + { + $pluginName = $this->match('/^\{([a-z]+)/', $yytext); + $pluginArgs = $this->split(' ', $yytext); + $pluginArgs = $this->shift($pluginArgs); + + return array( + "name"=> $pluginName, + "args"=> implode(' ', $pluginArgs), + "body"=> '' + ); + } + + function npState($npState, $ifTrue, $ifFalse) + { + return ($npState == true ? $ifTrue : $ifFalse); + } + //end state handlers //Wiki Syntax Objects Parsing Start function bold($content) { @@ -46,7 +80,7 @@ function colortext($content) { - $text = JisonParser_Wiki_Handler::split(':', $content); + $text = $this->split(':', $content); $color = $text[0]; $content = $text[1]; return "<span style='color: #" . $color . ";'>" . $content . "</span>"; @@ -94,10 +128,10 @@ function link($content) { - $link = JisonParser_Wiki_Handler::split(':', $content); + $link = $this->split(':', $content); $href = $content; - if (JisonParser_Wiki_Handler::match('/\|/', $content)) { + if ($this->match('/\|/', $content)) { $href = $link[0]; $content = $link[1]; } @@ -117,15 +151,15 @@ function tableParser($content) { $tableContents = ''; - $rows = JisonParser_Wiki_Handler::split('<br />', $content); + $rows = $this->split('<br />', $content); for ($i = 0, $count_rows = count($rows); $i < $count_rows; $i++) { $row = ''; - $cells = JisonParser_Wiki_Handler::split('|', $rows[$i]); + $cells = $this->split('|', $rows[$i]); for ($j = 0, $count_cells = count($cells); $j < $count_cells; $j++) { - $row .= JisonParser_Wiki_Handler::table_td($cells[$j]); + $row .= $this->table_td($cells[$j]); } - $tableContents .= JisonParser_Wiki_Handler::table_tr($row); + $tableContents .= $this->table_tr($row); } return "<table style='width: 100%;'>" . $tableContents . "</table>"; } @@ -152,10 +186,10 @@ function wikilink($content) { - $wikilink = JisonParser_Wiki_Handler::split('|', $content); + $wikilink = $this->split('|', $content); $href = $content; - if (JisonParser_Wiki_Handler::match('/\|/', $content)) { + if ($this->match('/\|/', $content)) { $href = $wikilink[0]; $content = $wikilink[1]; } @@ -169,7 +203,8 @@ function formatContent($content) { - return nl2br($content); + //return nl2br($content); + return $content; } //unified functions used inside parser @@ -226,31 +261,4 @@ array_shift($array); return $array; } - // start state handlers - function stackPlugin($yytext, $pluginStack) - { - $pluginName = JisonParser_Wiki_Handler::match('/^\{([A-Z]+)/', $yytext); - $pluginArgs = JisonParser_Wiki_Handler::match('/[(].*?[)]/', $yytext); - - return JisonParser_Wiki_Handler::push($pluginStack, (object)array(name=> $pluginName, args=> $pluginArgs, body=> '')); - } - - function inlinePlugin($yytext) - { - $pluginName = JisonParser_Wiki_Handler::match('/^\{([a-z]+)/', $yytext); - $pluginArgs = JisonParser_Wiki_Handler::split(' ', $yytext); - $pluginArgs = JisonParser_Wiki_Handler::shift($pluginArgs); - - return (object)array( - name=> $pluginName, - args=> implode(' ', $pluginArgs), - body=> '' - ); - } - - function npState($npState, $ifTrue, $ifFalse) - { - return ($npState == true ? $ifTrue : $ifFalse); - } - //end state handlers } Modified: trunk/lib/core/JisonParser/Wiki.jison =================================================================== --- trunk/lib/core/JisonParser/Wiki.jison 2012-01-24 17:05:26 UTC (rev 39638) +++ trunk/lib/core/JisonParser/Wiki.jison 2012-01-24 17:06:52 UTC (rev 39639) @@ -8,13 +8,14 @@ SMILE [a-z]+ %s bold box center colortext italic header6 header5 header4 header3 header2 header1 link strikethrough table titlebar underscore wikilink + %% "{"{INLINE_PLUGIN_ID}.*?"}" %{ yytext = Wiki.inlinePlugin(yytext); //js - //php $yytext = JisonParser_Wiki_Handler::inlinePlugin($yytext); + //php $yytext = $this->inlinePlugin($yytext); return 'INLINE_PLUGIN' %} @@ -29,9 +30,9 @@ return 'CONTENT'; //js }//js - //php $yy->pluginStack = JisonParser_Wiki_Handler::stackPlugin($yytext, $yy->pluginStack); + //php $this->stackPlugin($yytext); - //php if (JisonParser_Wiki_Handler::size($yy.pluginStack) == 1) { + //php if ($this->size($this->pluginStack) == 1) { //php return 'PLUGIN_START'; //php } else { //php return 'CONTENT'; @@ -57,17 +58,17 @@ } //js return 'CONTENT'; //js - //php if ($yy->pluginStack) { + //php if (!empty($this->pluginStack)) { //php if ( - //php JisonParser_Wiki_Handler::size($yy->pluginStack) > 0 && - //php JisonParser_Wiki_Handler::substring($yytext, 1, -1) == $yy->pluginStack[JisonParser_Wiki_Handler::size($yy->pluginStack) - 1]->name + //php $this->size($this->pluginStack) > 0 && + //php $this->substring($yytext, 1, -1) == $this->pluginStack[$this->size($this->pluginStack) - 1]['name'] //php ) { - //php if (JisonParser_Wiki_Handler::size($yy->pluginStack) == 1) { - //php $yytext = $yy->pluginStack[JisonParser_Wiki_Handler::size($yy->pluginStack) - 1]; - //php $yy->pluginStack = JisonParser_Wiki_Handler::pop($yy->pluginStack); + //php if ($this->size($this->pluginStack) == 1) { + //php $yytext = $this->pluginStack[$this->size($this->pluginStack) - 1]; + //php $this->pluginStack = $this->pop($this->pluginStack); //php return 'PLUGIN_END'; //php } else { - //php $yy->pluginStack = JisonParser_Wiki_Handler::pop($yy->pluginStack); + //php $this->pluginStack = $this->pop($this->pluginStack); //php return 'CONTENT'; //php } //php } @@ -82,7 +83,7 @@ return 'NP_START'; //js - //php $yy->npStack = JisonParser_Wiki_Handler::push($yy->npStack, true); + //php $this->npStack = $this->push($this->npStack, true); //php $this->npOn = true; //php return 'NP_START'; @@ -95,8 +96,8 @@ return 'NP_END'; //js - //php $this->npStack = JisonParser_Wiki_Handler::pop($yy->npStack); - //php if (JisonParser_Wiki_Handler::size($yy->npStack) < 1) $yy->npOn = false; + //php $this->npStack = $this->pop($this->npStack); + //php if ($this->size($this->npStack) < 1) $this->npOn = false; //php return 'NP_END'; %} @@ -104,7 +105,7 @@ "---" %{ yytext = Wiki.hr(); //js - //php $yytext = JisonParser_Wiki_Handler::hr(); + //php $yytext = $this->hr(); return 'HORIZONTAL_BAR'; %} @@ -114,8 +115,8 @@ yytext = Wiki.substring(yytext, 2, -2); //js yytext = Wiki.smile(yytext); //js - //php $yytext = JisonParser_Wiki_Handler::substring($yytext, 2, -2); - //php $yytext = JisonParser_Wiki_Handler::smile($yytext); + //php $yytext = $this->substring($yytext, 2, -2); + //php $yytext = $this->smile($yytext); return 'SMILE'; %} @@ -124,7 +125,7 @@ %{ yytext = Wiki.substring(yytext, 2, -1); //js - //php $yytext = JisonParser_Wiki_Handler::substring($yytext, 2, -1); + //php $yytext = $this->substring($yytext, 2, -1); return 'CONTENT'; %} @@ -132,288 +133,288 @@ <bold>[_][_] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOLD_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOLD_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOLD_END'); + //php $this->popState(); + //php return ($this->npOn == true ? 'CONTENT' : 'BOLD_END'); %} [_][_] %{ this.begin('bold'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOLD_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOLD_START'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOLD_START'); + //php $this->begin('bold'); + //php return $this->npState($this->npOn, 'CONTENT', 'BOLD_START'); %} <box>[\^] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOX_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOX_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOX_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'BOX_END'); %} [\^] %{ this.begin('box'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOX_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOX_START'); //js - //php this.begin('box'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOX_START'); + //php $this->begin('box'); + //php return $this->npState($this->npOn, 'CONTENT', 'BOX_START'); %} <center>[:][:] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'CENTER_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'CENTER_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'CENTER_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'CENTER_END'); %} [:][:] %{ this.begin('center'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'CENTER_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'CENTER_START'); //js - //php this.begin('center'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'CENTER_START'); + //php $this->begin('center'); + //php return $this->npState($this->npOn, 'CONTENT', 'CENTER_START'); %} <colortext>[\~][\~] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'COLORTEXT_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'COLORTEXT_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'COLORTEXT_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'COLORTEXT_END'); %} [\~][\~][#] %{ this.begin('colortext'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'COLORTEXT_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'COLORTEXT_START'); //js - //php this.begin('colortext'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'COLORTEXT_START'); + //php $this->begin('colortext'); + //php return $this->npState($this->npOn, 'CONTENT', 'COLORTEXT_START'); %} <header6>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER6_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER6_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER6_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER6_END'); %} [\n]("!!!!!!") %{ this.begin('header6'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER6_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER6_START'); //js - //php this.begin('header6'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER6_START'); + //php $this->begin('header6'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER6_START'); %} <header5>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER5_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER5_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER5_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER5_END'); %} [\n]("!!!!!") %{ this.begin('header5'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER5_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER5_START'); //js - //php this.begin('header5'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER5_START'); + //php $this->begin('header5'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER5_START'); %} <header4>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER4_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER4_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER4_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER4_END'); %} [\n]("!!!!") %{ this.begin('header4'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER4_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER4_START'); //js - //php JisonParser_Wiki_Handler::begin('header4'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER4_START'); + //php $this->begin('header4'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER4_START'); %} <header3>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER3_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER3_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER3_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER3_END'); %} [\n]("!!!") %{ this.begin('header3'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER3_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER3_START'); //js - //php this.begin('header3'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER3_START'); + //php $this->begin('header3'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER3_START'); %} <header2>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER2_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER2_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER2_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER2_END'); %} [\n]("!!") %{ this.begin('header2'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER2_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER2_START'); //js - //php this.begin('header2'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER2_START'); + //php $this->begin('header2'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER2_START'); %} <header1>[\n] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER1_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER1_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER1_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER1_END'); %} [\n]("!") %{ this.begin('header1'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER1_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER1_START'); //js - //php this.begin('header1'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER1_START'); + //php $this->begin('header1'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER1_START'); %} <italic>[']['] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'ITALIC_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'ITALIC_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'ITALIC_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'ITALIC_END'); %} [']['] %{ this.begin('italic'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'ITALIC_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'ITALIC_START'); //js - //php this.begin('italic'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'ITALIC_START'); + //php $this->begin('italic'); + //php return $this->npState($this->npOn, 'CONTENT', 'ITALIC_START'); %} <link>("]") %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'LINK_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'LINK_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'LINK_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'LINK_END'); %} ("[") %{ this.begin('link'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'LINK_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'LINK_START'); //js - //php this.begin('link'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'LINK_START'); + //php $this->begin('link'); + //php return $this->npState($this->npOn, 'CONTENT', 'LINK_START'); %} <strikethrough>[-][-] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'STRIKETHROUGH_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'STRIKETHROUGH_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_END'); %} [-][-] %{ this.begin('strikethrough'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'STRIKETHROUGH_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'STRIKETHROUGH_START'); //js - //php this.begin('strikethrough'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_START'); + //php $this->begin('strikethrough'); + //php return $this->npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_START'); %} <table>[|][|] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TABLE_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'TABLE_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TABLE_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'TABLE_END'); %} [|][|] %{ this.begin('table'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TABLE_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'TABLE_START'); //js - //php this.begin('table'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TABLE_START'); + //php $this->begin('table'); + //php return $this->npState($this->npOn, 'CONTENT', 'TABLE_START'); %} <titlebar>[=][-] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TITLEBAR_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'TITLEBAR_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TITLEBAR_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'TITLEBAR_END'); %} [-][=] %{ this.begin('titlebar'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TITLEBAR_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'TITLEBAR_START'); //js - //php this.begin('titlebar'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TITLEBAR_START'); + //php $this->begin('titlebar'); + //php return $this->npState($this->npOn, 'CONTENT', 'TITLEBAR_START'); %} <underscore>[=][=][=] %{ this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'UNDERSCORE_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'UNDERSCORE_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'UNDERSCORE_END'); %} [=][=][=] %{ this.begin('underscore'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_START'); //js + return this.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_START'); //js - //php this.begin('underscore'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'UNDERSCORE_START'); + //php $this->begin('underscore'); + //php return $this->npState($this->npOn, 'CONTENT', 'UNDERSCORE_START'); %} @@ -422,16 +423,16 @@ this.popState(); //js return Wiki.npState(this.yy.npOn, 'CONTENT', 'WIKILINK_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'WIKILINK_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'WIKILINK_END'); %} [(][(] %{ this.begin('wikilink'); //js return Wiki.npState(this.yy.npOn, 'CONTENT', 'WIKILINK_START'); //js - //php this.begin('wikilink'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'WIKILINK_START'); + //php $this->begin('wikilink'); + //php return $this->npState($this->npOn, 'CONTENT', 'WIKILINK_START'); %} @@ -443,8 +444,8 @@ yytext = Wiki.formatContent(yytext); //js } //js - //php if (JisonParser_Wiki_Handler::npState($this->npOn, false, true) == true) { - //php $yytext = JisonParser_Wiki_Handler::formatContent($yytext); + //php if ($this->npState($this->npOn, false, true) == true) { + //php $yytext = $this->formatContent($yytext); //php } return 'CONTENT'; @@ -469,13 +470,13 @@ { $$ = Wiki.join($1, $2); //js - //php $$ = JisonParser_Wiki_Handler::join($1, $2); + //php $$ = $this->join($1, $2); } | wiki_contents plugin contents { $$ = Wiki.join($1, $2, $3); //js - //php $$ = JisonParser_Wiki_Handler::join($1, $2, $3); + //php $$ = $this->join($1, $2, $3); } ; @@ -484,15 +485,15 @@ { $$ = Wiki.plugin($1); //js - //php $$ = JisonParser_Wiki_Handler::plugin($1); + //php $$ = $this->plugin($1); } | PLUGIN_START wiki_contents PLUGIN_END { $3.body = $2; //js $$ = Wiki.plugin($3); //js - //php $3->body = $2; - //php $$ = JisonParser_Wiki_Handler::plugin($3); + //php $3['body'] = $2; + //php $$ = $this->plugin($3); } ; @@ -503,7 +504,7 @@ { $$ = Wiki.join($1, $2); //js - //php $$ = JisonParser_Wiki_Handler::join($1, $2); + //php $$ = $this->join($1, $2); } ; @@ -513,7 +514,7 @@ | HTML { $$ = Wiki.html($1); //js - //php $$ = JisonParser_Wiki_Handler::html($1); + //php $$ = $this->html($1); } | HORIZONTAL_BAR {$$ = $1;} @@ -522,89 +523,88 @@ | BOLD_START wiki_contents BOLD_END { $$ = Wiki.bold($2); //js - //php $$ = JisonParser_Wiki_Handler::bold($2); - + //php $$ = $this->bold($2); } | BOX_START wiki_contents BOX_END { $$ = Wiki.box($2); //js - //php $$ = JisonParser_Wiki_Handler::box($2); + //php $$ = $this->box($2); } | CENTER_START wiki_contents CENTER_END { $$ = Wiki.center($2); //js - //php $$ = JisonParser_Wiki_Handler::center($2); + //php $$ = $this->center($2); } | COLORTEXT_START wiki_contents COLORTEXT_END { $$ = Wiki.colortext($2); //js - //php $$ = JisonParser_Wiki_Handler::colortext($2); + //php $$ = $this->colortext($2); } | ITALIC_START wiki_contents ITALIC_END { $$ = Wiki.italics($2); //js - //php $$ = JisonParser_Wiki_Handler::italics($2); + //php $$ = $this->italics($2); } | HEADER6_START wiki_contents HEADER6_END { $$ = Wiki.header6($2); //js - //php $$ = JisonParser_Wiki_Handler::header6($2); + //php $$ = $this->header6($2); } | HEADER5_START wiki_contents HEADER5_END { $$ = Wiki.header5($2); //js - //php $$ = JisonParser_Wiki_Handler::header5($2); + //php $$ = $this->header5($2); } | HEADER4_START wiki_contents HEADER4_END { $$ = Wiki.header4($2); //js - //php $$ = JisonParser_Wiki_Handler::header4($2); + //php $$ = $this->header4($2); } | HEADER3_START wiki_contents HEADER3_END { $$ = Wiki.header3($2); //js - //php $$ = JisonParser_Wiki_Handler::header3($2); + //php $$ = $this->header3($2); } | HEADER2_START wiki_contents HEADER2_END { $$ = Wiki.header2($2); //js - //php $$ = JisonParser_Wiki_Handler::header2($2); + //php $$ = $this->header2($2); } | HEADER1_START wiki_contents HEADER1_END { $$ = Wiki.header1($2); //js - //php $$ = JisonParser_Wiki_Handler::header1($2); + //php $$ = $this->header1($2); } | LINK_START wiki_contents LINK_END { $$ = Wiki.link($2); //js - //php $$ = JisonParser_Wiki_Handler::link($2); + //php $$ = $this->link($2); } | NP_START wiki_contents NP_END {$$ = $2;} | STRIKETHROUGH_START wiki_contents STRIKETHROUGH_END { $$ = Wiki.strikethrough($2); //js - //php $$ = JisonParser_Wiki_Handler::strikethrough($2); + //php $$ = $this->strikethrough($2); } | TABLE_START wiki_contents TABLE_END { $$ = Wiki.tableParser($2); //js - //php $$ = JisonParser_Wiki_Handler::tableParser($2); + //php $$ = $this->tableParser($2); } | TITLEBAR_START wiki_contents TITLEBAR_END { $$ = Wiki.titlebar($2); //js - //php $$ = JisonParser_Wiki_Handler::titlebar($2); + //php $$ = $this->titlebar($2); } | UNDERSCORE_START wiki_contents UNDERSCORE_END { $$ = Wiki.underscore($2); //js - //php $$ = JisonParser_Wiki_Handler::underscore($2); + //php $$ = $this->underscore($2); } | WIKILINK_START wiki_contents WIKILINK_END { $$ = Wiki.wikilink($2); //js - //php $$ = JisonParser_Wiki_Handler::wikilink($2); + //php $$ = $this->wikilink($2); } - ; + ; \ No newline at end of file Modified: trunk/lib/core/JisonParser/Wiki.js =================================================================== --- trunk/lib/core/JisonParser/Wiki.js 2012-01-24 17:05:26 UTC (rev 39638) +++ trunk/lib/core/JisonParser/Wiki.js 2012-01-24 17:06:52 UTC (rev 39639) @@ -16,27 +16,27 @@ case 4: this.$ = Wiki.join($$[$0-1], $$[$0]); //js - //php this.$ = JisonParser_Wiki_Handler::join($$[$0-1], $$[$0]); + //php this.$ = this->join($$[$0-1], $$[$0]); break; case 5: this.$ = Wiki.join($$[$0-2], $$[$0-1], $$[$0]); //js - //php this.$ = JisonParser_Wiki_Handler::join($$[$0-2], $$[$0-1], $$[$0]); + //php this.$ = this->join($$[$0-2], $$[$0-1], $$[$0]); break; case 6: this.$ = Wiki.plugin($$[$0]); //js - //php this.$ = JisonParser_Wiki_Handler::plugin($$[$0]); + //php this.$ = this->plugin($$[$0]); break; case 7: $$[$0].body = $$[$0-1]; //js this.$ = Wiki.plugin($$[$0]); //js - //php $$[$0]->body = $$[$0-1]; - //php this.$ = JisonParser_Wiki_Handler::plugin($$[$0]); + //php $$[$0]['body'] = $$[$0-1]; + //php this.$ = this->plugin($$[$0]); break; case 8:this.$ = $$[$0]; @@ -44,14 +44,14 @@ case 9: this.$ = Wiki.join($$[$0-1], $$[$0]); //js - //php this.$ = JisonParser_Wiki_Handler::join($$[$0-1], $$[$0]); + //php this.$ = this->join($$[$0-1], $$[$0]); break; case 10:this.$ = $$[$0]; break; case 11: this.$ = Wiki.html($$[$0]); //js - //php this.$ = JisonParser_Wiki_Handler::html($$[$0]); + //php this.$ = this->html($$[$0]); break; case 12:this.$ = $$[$0]; @@ -60,90 +60,89 @@ break; case 14: this.$ = Wiki.bold($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::bold($$[$0-1]); - + //php this.$ = this->bold($$[$0-1]); break; case 15: this.$ = Wiki.box($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::box($$[$0-1]); + //php this.$ = this->box($$[$0-1]); break; case 16: this.$ = Wiki.center($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::center($$[$0-1]); + //php this.$ = this->center($$[$0-1]); break; case 17: this.$ = Wiki.colortext($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::colortext($$[$0-1]); + //php this.$ = this->colortext($$[$0-1]); break; case 18: this.$ = Wiki.italics($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::italics($$[$0-1]); + //php this.$ = this->italics($$[$0-1]); break; case 19: this.$ = Wiki.header6($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header6($$[$0-1]); + //php this.$ = this->header6($$[$0-1]); break; case 20: this.$ = Wiki.header5($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header5($$[$0-1]); + //php this.$ = this->header5($$[$0-1]); break; case 21: this.$ = Wiki.header4($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header4($$[$0-1]); + //php this.$ = this->header4($$[$0-1]); break; case 22: this.$ = Wiki.header3($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header3($$[$0-1]); + //php this.$ = this->header3($$[$0-1]); break; case 23: this.$ = Wiki.header2($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header2($$[$0-1]); + //php this.$ = this->header2($$[$0-1]); break; case 24: this.$ = Wiki.header1($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::header1($$[$0-1]); + //php this.$ = this->header1($$[$0-1]); break; case 25: this.$ = Wiki.link($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::link($$[$0-1]); + //php this.$ = this->link($$[$0-1]); break; case 26:this.$ = $$[$0-1]; break; case 27: this.$ = Wiki.strikethrough($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::strikethrough($$[$0-1]); + //php this.$ = this->strikethrough($$[$0-1]); break; case 28: this.$ = Wiki.tableParser($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::tableParser($$[$0-1]); + //php this.$ = this->tableParser($$[$0-1]); break; case 29: this.$ = Wiki.titlebar($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::titlebar($$[$0-1]); + //php this.$ = this->titlebar($$[$0-1]); break; case 30: this.$ = Wiki.underscore($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::underscore($$[$0-1]); + //php this.$ = this->underscore($$[$0-1]); break; case 31: this.$ = Wiki.wikilink($$[$0-1]); //js - //php this.$ = JisonParser_Wiki_Handler::wikilink($$[$0-1]); + //php this.$ = this->wikilink($$[$0-1]); break; } @@ -455,7 +454,7 @@ case 0: yy_.yytext = Wiki.inlinePlugin(yy_.yytext); //js - //php $yy_.yytext = JisonParser_Wiki_Handler::inlinePlugin($yy_.yytext); + //php $yy_.yytext = $this->inlinePlugin($yy_.yytext); return 8 @@ -469,9 +468,9 @@ return 'CONTENT'; //js }//js - //php $yy->pluginStack = JisonParser_Wiki_Handler::stackPlugin($yy_.yytext, $yy->pluginStack); + //php $this->stackPlugin($yy_.yytext); - //php if (JisonParser_Wiki_Handler::size($yy.pluginStack) == 1) { + //php if ($this->size($this->pluginStack) == 1) { //php return 'PLUGIN_START'; //php } else { //php return 'CONTENT'; @@ -496,17 +495,17 @@ } //js return 'CONTENT'; //js - //php if ($yy->pluginStack) { + //php if (!empty($this->pluginStack)) { //php if ( - //php JisonParser_Wiki_Handler::size($yy->pluginStack) > 0 && - //php JisonParser_Wiki_Handler::substring($yy_.yytext, 1, -1) == $yy->pluginStack[JisonParser_Wiki_Handler::size($yy->pluginStack) - 1]->name + //php $this->size($this->pluginStack) > 0 && + //php $this->substring($yy_.yytext, 1, -1) == $this->pluginStack[$this->size($this->pluginStack) - 1]['name'] //php ) { - //php if (JisonParser_Wiki_Handler::size($yy->pluginStack) == 1) { - //php $yy_.yytext = $yy->pluginStack[JisonParser_Wiki_Handler::size($yy->pluginStack) - 1]; - //php $yy->pluginStack = JisonParser_Wiki_Handler::pop($yy->pluginStack); + //php if ($this->size($this->pluginStack) == 1) { + //php $yy_.yytext = $this->pluginStack[$this->size($this->pluginStack) - 1]; + //php $this->pluginStack = $this->pop($this->pluginStack); //php return 'PLUGIN_END'; //php } else { - //php $yy->pluginStack = JisonParser_Wiki_Handler::pop($yy->pluginStack); + //php $this->pluginStack = $this->pop($this->pluginStack); //php return 'CONTENT'; //php } //php } @@ -520,7 +519,7 @@ return 40; //js - //php $yy->npStack = JisonParser_Wiki_Handler::push($yy->npStack, true); + //php $this->npStack = $this->push($this->npStack, true); //php $this->npOn = true; //php return 'NP_START'; @@ -532,15 +531,15 @@ return 41; //js - //php $this->npStack = JisonParser_Wiki_Handler::pop($yy->npStack); - //php if (JisonParser_Wiki_Handler::size($yy->npStack) < 1) $yy->npOn = false; + //php $this->npStack = $this->pop($this->npStack); + //php if ($this->size($this->npStack) < 1) $this->npOn = false; //php return 'NP_END'; break; case 5: yy_.yytext = Wiki.hr(); //js - //php $yy_.yytext = JisonParser_Wiki_Handler::hr(); + //php $yy_.yytext = $this->hr(); return 14; @@ -549,8 +548,8 @@ yy_.yytext = Wiki.substring(yy_.yytext, 2, -2); //js yy_.yytext = Wiki.smile(yy_.yytext); //js - //php $yy_.yytext = JisonParser_Wiki_Handler::substring($yy_.yytext, 2, -2); - //php $yy_.yytext = JisonParser_Wiki_Handler::smile($yy_.yytext); + //php $yy_.yytext = $this->substring($yy_.yytext, 2, -2); + //php $yy_.yytext = $this->smile($yy_.yytext); return 15; @@ -558,281 +557,281 @@ case 7: yy_.yytext = Wiki.substring(yy_.yytext, 2, -1); //js - //php $yy_.yytext = JisonParser_Wiki_Handler::substring($yy_.yytext, 2, -1); + //php $yy_.yytext = $this->substring($yy_.yytext, 2, -1); return 12; break; case 8: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOLD_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOLD_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOLD_END'); + //php $this->popState(); + //php return ($this->npOn == true ? 'CONTENT' : 'BOLD_END'); break; case 9: this.begin('bold'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOLD_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOLD_START'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOLD_START'); + //php $this->begin('bold'); + //php return $this->npState($this->npOn, 'CONTENT', 'BOLD_START'); break; case 10: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOX_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOX_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOX_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'BOX_END'); break; case 11: this.begin('box'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'BOX_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'BOX_START'); //js - //php this.begin('box'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'BOX_START'); + //php $this->begin('box'); + //php return $this->npState($this->npOn, 'CONTENT', 'BOX_START'); break; case 12: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'CENTER_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'CENTER_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'CENTER_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'CENTER_END'); break; case 13: this.begin('center'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'CENTER_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'CENTER_START'); //js - //php this.begin('center'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'CENTER_START'); + //php $this->begin('center'); + //php return $this->npState($this->npOn, 'CONTENT', 'CENTER_START'); break; case 14: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'COLORTEXT_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'COLORTEXT_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'COLORTEXT_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'COLORTEXT_END'); break; case 15: this.begin('colortext'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'COLORTEXT_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'COLORTEXT_START'); //js - //php this.begin('colortext'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'COLORTEXT_START'); + //php $this->begin('colortext'); + //php return $this->npState($this->npOn, 'CONTENT', 'COLORTEXT_START'); break; case 16: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER6_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER6_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER6_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER6_END'); break; case 17: this.begin('header6'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER6_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER6_START'); //js - //php this.begin('header6'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER6_START'); + //php $this->begin('header6'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER6_START'); break; case 18: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER5_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER5_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER5_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER5_END'); break; case 19: this.begin('header5'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER5_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER5_START'); //js - //php this.begin('header5'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER5_START'); + //php $this->begin('header5'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER5_START'); break; case 20: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER4_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER4_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER4_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER4_END'); break; case 21: this.begin('header4'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER4_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER4_START'); //js - //php JisonParser_Wiki_Handler::begin('header4'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER4_START'); + //php $this->begin('header4'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER4_START'); break; case 22: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER3_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER3_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER3_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER3_END'); break; case 23: this.begin('header3'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER3_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER3_START'); //js - //php this.begin('header3'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER3_START'); + //php $this->begin('header3'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER3_START'); break; case 24: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER2_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER2_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER2_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER2_END'); break; case 25: this.begin('header2'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER2_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER2_START'); //js - //php this.begin('header2'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER2_START'); + //php $this->begin('header2'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER2_START'); break; case 26: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER1_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER1_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER1_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER1_END'); break; case 27: this.begin('header1'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'HEADER1_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'HEADER1_START'); //js - //php this.begin('header1'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'HEADER1_START'); + //php $this->begin('header1'); + //php return $this->npState($this->npOn, 'CONTENT', 'HEADER1_START'); break; case 28: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'ITALIC_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'ITALIC_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'ITALIC_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'ITALIC_END'); break; case 29: this.begin('italic'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'ITALIC_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'ITALIC_START'); //js - //php this.begin('italic'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'ITALIC_START'); + //php $this->begin('italic'); + //php return $this->npState($this->npOn, 'CONTENT', 'ITALIC_START'); break; case 30: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'LINK_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'LINK_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'LINK_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'LINK_END'); break; case 31: this.begin('link'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'LINK_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'LINK_START'); //js - //php this.begin('link'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'LINK_START'); + //php $this->begin('link'); + //php return $this->npState($this->npOn, 'CONTENT', 'LINK_START'); break; case 32: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'STRIKETHROUGH_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'STRIKETHROUGH_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_END'); break; case 33: this.begin('strikethrough'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'STRIKETHROUGH_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'STRIKETHROUGH_START'); //js - //php this.begin('strikethrough'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_START'); + //php $this->begin('strikethrough'); + //php return $this->npState($this->npOn, 'CONTENT', 'STRIKETHROUGH_START'); break; case 34: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TABLE_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'TABLE_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TABLE_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'TABLE_END'); break; case 35: this.begin('table'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TABLE_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'TABLE_START'); //js - //php this.begin('table'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TABLE_START'); + //php $this->begin('table'); + //php return $this->npState($this->npOn, 'CONTENT', 'TABLE_START'); break; case 36: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TITLEBAR_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'TITLEBAR_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TITLEBAR_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'TITLEBAR_END'); break; case 37: this.begin('titlebar'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'TITLEBAR_START'); //js + return (this.yy.npOn ? 'CONTENT' : 'TITLEBAR_START'); //js - //php this.begin('titlebar'); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'TITLEBAR_START'); + //php $this->begin('titlebar'); + //php return $this->npState($this->npOn, 'CONTENT', 'TITLEBAR_START'); break; case 38: this.popState(); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_END'); //js + return (this.yy.npOn ? 'CONTENT' : 'UNDERSCORE_END'); //js - //php JisonParser_Wiki_Handler::popState(); - //php return JisonParser_Wiki_Handler::npState($this->npOn, 'CONTENT', 'UNDERSCORE_END'); + //php $this->popState(); + //php return $this->npState($this->npOn, 'CONTENT', 'UNDERSCORE_END'); break; case 39: this.begin('underscore'); //js - return Wiki.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_START'); //js + return this.npState(this.yy.npOn, 'CONTENT', 'UNDERSCORE_START'); //js ... [truncated message content] |