Language-Expr
view release on metacpan or search on metacpan
lib/Language/Expr/Compiler/js.pm view on Meta::CPAN
sub rule_bool {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{bool} eq 'true') { "true" } else { "false" }
}
sub rule_num {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{num} eq 'inf') { 'Infinity' }
elsif ($match->{num} eq 'nan') { 'NaN' }
else { $match->{num}+0 }
}
sub rule_var {
my ($self, %args) = @_;
my $match = $args{match};
if ($self->hook_var) {
my $res = $self->hook_var->($match->{var});
return $res if defined($res);
}
lib/Language/Expr/Compiler/perl.pm view on Meta::CPAN
sub rule_bool {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{bool} eq 'true') { "true" } else { "false" }
}
sub rule_num {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{num} eq 'inf') { '"Inf"' }
elsif ($match->{num} eq 'nan') { '"NaN"' }
else { $match->{num}+0 }
}
sub rule_var {
my ($self, %args) = @_;
my $match = $args{match};
if ($self->hook_var) {
my $res = $self->hook_var->($match->{var});
return $res if defined($res);
}
lib/Language/Expr/Interpreter/default.pm view on Meta::CPAN
sub rule_bool {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{bool} eq 'true') { true } else { false }
}
sub rule_num {
my ($self, %args) = @_;
my $match = $args{match};
if ($match->{num} eq 'inf') { "Inf"+0 }
elsif ($match->{num} eq 'nan') { "NaN"+0 }
else { $match->{num}+0 }
}
sub rule_var {
my ($self, %args) = @_;
my $match = $args{match};
$self->vars->{ $match->{var} };
}
sub rule_func {
( run in 0.240 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )