Use standalone yapp parse driver

databind
Vitaliy Filippov 2014-12-05 15:32:07 +03:00
parent 6e4713ac83
commit c86ac3e832
3 changed files with 1956 additions and 1479 deletions

File diff suppressed because it is too large Load Diff

View File

@ -10,9 +10,10 @@
package VMXTemplate::Parser;
use strict;
use base qw(Parse::Yapp::Driver VMXTemplate::Compiler);
use VMXTemplate::Compiler;
use VMXTemplate::Utils;
<<$driver>>
our @ISA = qw(Parse::Yapp::Driver VMXTemplate::Compiler);
<<$head>>
sub new
@ -26,7 +27,7 @@ sub new
<<$states>>,
yyrules =>
<<$rules>>,
#line 29 "template.skel.pm"
#line 30 "template.skel.pm"
), $class;
$self->{options} = $options;
return $self;

View File

@ -1,6 +1,6 @@
# Контекстно-свободная Parse::Yapp-грамматика шаблонизатора
#
# Компилировать так: yapp -o VMXTemplate/Parser.pm -t template.skel.pm template.yp
# Компилировать так: yapp -s -o VMXTemplate/Parser.pm -t template.skel.pm template.yp
#
# {{ двойные скобки }} нужно исключительно чтобы маркеры начала и конца подстановки
# были уникальны в грамматике. Вместо них обычно используются { одинарные }, а