summaryrefslogtreecommitdiff
path: root/regen
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-11-02 20:18:15 -0700
committerFather Chrysostomos <sprout@cpan.org>2010-11-02 21:32:33 -0700
commit6342d5c50ab0a9493ebc0908c3a6ec88d18e183b (patch)
treecaeb2446493b1630b58b4192f7b6809ea1b0ced3 /regen
parent42b824d2b554088191c83ebebdc0d1598f5a4d9a (diff)
downloadperl-6342d5c50ab0a9493ebc0908c3a6ec88d18e183b.tar.gz
Add transr op type
for the upcoming y///r feature. There are not enough flag bits, hence the extra type.
Diffstat (limited to 'regen')
-rwxr-xr-xregen/opcode.pl8
1 files changed, 7 insertions, 1 deletions
diff --git a/regen/opcode.pl b/regen/opcode.pl
index 9369c2ecef..90c1bc0326 100755
--- a/regen/opcode.pl
+++ b/regen/opcode.pl
@@ -38,7 +38,8 @@ while (<DATA>) {
my ($key, $desc, $check, $flags, $args) = split(/\t+/, $_, 5);
$args = '' unless defined $args;
- warn qq[Description "$desc" duplicates $seen{$desc}\n] if $seen{$desc};
+ warn qq[Description "$desc" duplicates $seen{$desc}\n]
+ if $seen{$desc} and $key ne "transr";
die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
$seen{$desc} = qq[description of opcode "$key"];
$seen{$key} = qq[opcode "$key"];
@@ -106,6 +107,7 @@ my @raw_alias = (
Perl_pp_rv2av => ['rv2hv'],
Perl_pp_akeys => ['avalues'],
Perl_pp_rkeys => [qw(rvalues reach)],
+ Perl_pp_trans => [qw(trans transr)],
);
while (my ($func, $names) = splice @raw_alias, 0, 2) {
@@ -653,6 +655,7 @@ qr pattern quote (qr//) ck_match s/
subst substitution (s///) ck_match dis/ S
substcont substitution iterator ck_null dis|
trans transliteration (tr///) ck_match is" S
+# transr (the /r version) is further down.
# Lvalue operators.
# sassign is special-cased for op class
@@ -1105,3 +1108,6 @@ custom unknown custom operator ck_null 0
reach each on reference ck_each % S
rkeys keys on reference ck_each t% S
rvalues values on reference ck_each t% S
+
+# y///r
+transr transliteration (tr///) ck_match is" S