diff --git a/template.lime b/template.lime index 2061e95..d9a5f52 100644 --- a/template.lime +++ b/template.lime @@ -84,8 +84,8 @@ template = chunks { $$ = ''; } . -chunks = chunk { - $$ = $1; +chunks = { + $$ = ''; } | chunks chunk { $$ = $1 . $2; diff --git a/template.parser.php b/template.parser.php index c277381..1c7b76c 100644 --- a/template.parser.php +++ b/template.parser.php @@ -1325,20 +1325,19 @@ class VMXTemplateParser extends lime_parser { public $i = array( array( 'chunks' => 's 1', - 'chunk' => 's 108', - 'literal' => 's 3', - '' => 's 113', - 'IF' => 's 157' + '-->' => 's 112', + 'IF' => 's 156' ), array( - 'chunk' => 's 108', - 'chunks' => 's 114', - 'literal' => 's 3', - '' => 's 121', + '=' => 's 118', + '-->' => 's 120', 'varpart' => 's 74', '.' => 's 57', '[' => 's 59' ), array( - 'exp' => 's 120', + 'exp' => 's 119', 'p10' => 's 48', 'p11' => 's 49', '-' => 's 50', @@ -2884,19 +2876,17 @@ class VMXTemplateParser extends lime_parser { '-->' => 'r 18' ), array( - 'chunk' => 's 108', - 'chunks' => 's 122', - 'literal' => 's 3', - '' => 's 132' + '=' => 's 129', + '-->' => 's 131' ), array( - 'exp' => 's 131', + 'exp' => 's 130', 'p10' => 's 48', 'p11' => 's 49', '-' => 's 50', @@ -2986,19 +2976,17 @@ class VMXTemplateParser extends lime_parser { '-->' => 'r 20' ), array( - 'chunk' => 's 108', - 'chunks' => 's 133', - 'literal' => 's 3', - '' => 's 140', + '-->' => 's 139', '..' => 's 12', '||' => 's 14', 'OR' => 's 16', @@ -3080,19 +3068,17 @@ class VMXTemplateParser extends lime_parser { '%' => 's 46' ), array( - 'chunk' => 's 108', - 'chunks' => 's 141', - 'literal' => 's 3', - '' => 's 160', + '-->' => 's 159', '..' => 's 12', '||' => 's 14', 'OR' => 's 16', @@ -3248,19 +3234,17 @@ class VMXTemplateParser extends lime_parser { '' => 'r 30' ), array( - 'chunk' => 's 108', - 'chunks' => 's 164', - 'literal' => 's 3', - '' => 's 168', - 'IF' => 's 157' + '-->' => 's 167', + 'IF' => 's 156' ), array( - 'chunk' => 's 108', - 'chunks' => 's 169', - 'literal' => 's 3', - '' => 's 174', + '-->' => 's 173', '..' => 's 12', '||' => 's 14', 'OR' => 's 16', @@ -3438,10 +3420,10 @@ class VMXTemplateParser extends lime_parser { } function reduce_1_chunks_1($tokens, &$result) { - // (1) chunks := chunk + // (1) chunks := ε $result = reset($tokens); - $result = $tokens[0]; + $result = ''; } function reduce_2_chunks_2($tokens, &$result) { @@ -3874,7 +3856,7 @@ class VMXTemplateParser extends lime_parser { $e = &$tokens[1]; $p = &$tokens[3]; - $result = [ '('.$e[0].')'.$p, $e[1] ]; + $result = [ '('.$e[0].')'.$p, false ]; } function reduce_54_p11_3($tokens, &$result) { @@ -4232,7 +4214,7 @@ class VMXTemplateParser extends lime_parser { ), array( 'symbol' => 'chunks', - 'len' => 1, + 'len' => 0, 'replace' => true ), array( @@ -4658,5 +4640,5 @@ class VMXTemplateParser extends lime_parser { ); } -// Time: 1,94818210602 seconds -// Memory: 11303052 bytes +// Time: 2,08367991447 seconds +// Memory: 11242844 bytes