This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
regen/regcomp.pl: Allow ';' in comments
[perl5.git]
/
regen
/
regcomp.pl
diff --git
a/regen/regcomp.pl
b/regen/regcomp.pl
index
63e070a
..
eef5533
100644
(file)
--- a/
regen/regcomp.pl
+++ b/
regen/regcomp.pl
@@
-34,7
+34,7
@@
while (<DESC>) {
next;
}
unless ($lastregop) {
next;
}
unless ($lastregop) {
- ($name[$ind], $desc, $rest[$ind]) = /^(\S+)\s+([^\t]+)\s*;\s*(.*)/;
+ ($name[$ind], $desc, $rest[$ind]) = /^(\S+)\s+([^\t]+
?
)\s*;\s*(.*)/;
($type[$ind], $code[$ind], $args[$ind], $flags[$ind], $longj[$ind])
= split /[,\s]\s*/, $desc;
++$ind;
($type[$ind], $code[$ind], $args[$ind], $flags[$ind], $longj[$ind])
= split /[,\s]\s*/, $desc;
++$ind;
@@
-125,10
+125,8
@@
EXTCONST U8 PL_${varname}_bitmask[] = {
EOP
}
EOP
}
-my $out = safer_open('regnodes.h-new', 'regnodes.h');
-
-print $out read_only_top(lang => 'C', by => 'regen/regcomp.pl',
- from => 'regcomp.sym');
+my $out = open_new('regnodes.h', '>',
+ { by => 'regen/regcomp.pl', from => 'regcomp.sym' });
printf $out <<EOP,
/* Regops and State definitions */
printf $out <<EOP,
/* Regops and State definitions */
@@
-264,6
+262,10
@@
foreach my $file ("op_reg_common.h", "regexp.h") {
foreach my $key (keys %definitions) {
s/\b$key\b/$definitions{$key}/g;
}
foreach my $key (keys %definitions) {
s/\b$key\b/$definitions{$key}/g;
}
+
+ # Remove the U suffix from unsigned int literals
+ s/\b([0-9]+)U\b/$1/g;
+
my $newval = eval $_; # Get numeric definition
$definitions{$define} = $newval;
my $newval = eval $_; # Get numeric definition
$definitions{$define} = $newval;