JE
view release on metacpan or search on metacpan
lib/JE/toperl.pl view on Meta::CPAN
return ret_rv,'die(new JE\'Object\'Error\'ReferenceError $global,'
.'add_line_number"Cannot assign to a non-lvalue")'
if $cx == cx_lv;
$term eq'this'?
$cx == cx_str ? (ret_str, "\$this->to_string->value16") :
$cx == cx_bool ? (ret_bool, '$this') :
$cx == cx_num ? (ret_num, '(0+$this)') :
( ret_rv, '$this', 0)
:
$term =~ /^s/ ? do {
my $esc = _esc_str(my $str = substr $term,1);
$cx == cx_str ? (ret_str, $esc) :
$cx == cx_bool ? (ret_bool, 0+(length $term > 1)) :
$cx == cx_num ? (ret_num,
# ~~~ JE::Number probably needs a function for
# this, as it is a repeat of code found else- # where (in JE::String)
$str =~ /^[\p{Zs}\s\ck]*
(
[+-]?
(?:
(?=[0-9]|\.[0-9]) [0-9]* (?:\.[0-9]*)?
(?:[Ee][+-]?[0-9]+)?
|
Infinity
)
[\p{Zs}\s\ck]*
)?
\z
/ox ? defined $1 ? $1 eq 'Infinity' ? 9**9**9 : $1 : 0 :
$str =~ /^ [\p{Zs}\s\ck]* 0[Xx] ([A-Fa-f0-9]+)
[\p{Zs}\s\ck]*\z/ox
? hex $1 : nan
) : (
ret_str, _cached "_new JE'String \$global,$esc",
$esc
)
} :
$term eq 't' ?
$cx == cx_str ? (ret_str, '"true"') :
$cx == cx_bool ? (ret_bool, 1) :
$cx == cx_num ? (ret_num, 1) :
( ret_bool, '$global->true', 1)
:
$term eq 'f' ?
$cx == cx_str ? (ret_str, '"false"') :
$cx == cx_bool ? (ret_bool, 0) :
$cx == cx_num ? (ret_num, 0) :
( ret_bool, '$global->false', 0)
:
$term eq 'n' ?
$cx == cx_str ? (ret_str, '"null"') :
$cx == cx_bool ? (ret_bool, 0) :
$cx == cx_num ? (ret_num, 0) :
( ret_rv, '$global->null')
:
$cx == cx_str ? (ret_str,
$term == inf ? '"Infinity"' :
$term ==-+inf ? '"-Infinity"':
$term == $term? $term :
'"NaN"'
) :
$cx == cx_bool ? (ret_bool, 0+($term && $term == $term)) :
$cx == cx_num ? (ret_num, $term ) :
( ret_rv, _cached "JE'Number->new(\$global," . (
$term == inf ? '"inf"' : $term == -+inf ? '"-inf"':
$term == $term ? $term : '"nan"'
) . ')', $term )
}
sub JE::Code::Subscript::to_perl {
my $val = (my $self = shift)->[1];
ref $val ? $val->to_perl(cx_str) : _esc_str($val);
}
sub JE::Code::Arguments::to_perl {
my $self = shift;
join ',', map +(_term_to_perl($_,cx_rv))[1], @$self[1..$#$self];
}
1
( run in 1.961 second using v1.01-cache-2.11-cpan-5a3173703d6 )