summaryrefslogtreecommitdiff
path: root/Porting/regcharclass.pl
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-04-23 15:31:48 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2007-04-23 15:31:48 +0000
commit0ccab2bc1ed9d8d9446194047fec5d4b241a67bf (patch)
treea15b688925b1f25ba7b2b38fdcf4449ac03e4d7f /Porting/regcharclass.pl
parent7cd34c574e0ec69b213965d5f60d415cf5b25f64 (diff)
downloadperl-0ccab2bc1ed9d8d9446194047fec5d4b241a67bf.tar.gz
Switch to hex format for integer constants in regcharclass.h
(Yves Orton). Also, avoid trailing spaces. p4raw-id: //depot/perl@31037
Diffstat (limited to 'Porting/regcharclass.pl')
-rw-r--r--Porting/regcharclass.pl14
1 files changed, 9 insertions, 5 deletions
diff --git a/Porting/regcharclass.pl b/Porting/regcharclass.pl
index 21372dad11..c895440585 100644
--- a/Porting/regcharclass.pl
+++ b/Porting/regcharclass.pl
@@ -5,6 +5,8 @@ use Text::Wrap qw(wrap);
use Encode;
use Data::Dumper;
+our $hex_fmt="0x%02X";
+
# Author: Yves Orton (demerphq) 2007.
=pod
@@ -222,9 +224,9 @@ sub _cond {
# map the ranges into conditions
@r= map {
# singleton
- $_->[0] == $_->[1] ? "$alu==$_->[0]" :
+ $_->[0] == $_->[1] ? sprintf("$alu == $hex_fmt",$_->[0]) :
# range
- "($_->[0]<=$alu && $alu<=$_->[1])"
+ sprintf("($hex_fmt <= $alu && $alu <= $hex_fmt)",@$_)
} @r;
# return the joined results.
return '( ' . join( " || ", @r ) . ' )';
@@ -242,8 +244,8 @@ sub combine {
my $alu=shift;
local $_ = shift;
my $txt= $_->[0] == $_->[1]
- ? "$alu==$_->[0]"
- : "($_->[0]<=$alu && $alu<=$_->[1])";
+ ? sprintf("$alu == $hex_fmt",$_->[0])
+ : sprintf("($hex_fmt <= $alu && $alu <= $hex_fmt)",@$_);
return $txt unless @_;
return "( $txt || ( $alu > $_->[1] && \n".combine($alu,@_)." ) )";
}
@@ -362,7 +364,9 @@ sub _optree_to_ternary {
sub _macro($) {
my $str= shift;
my @lines= split /[^\S\n]*\n/, $str;
- return join( "\\\n", map { sprintf "%-76s", $_ } @lines ) . "\n\n";
+ my $macro = join( "\\\n", map { sprintf "%-76s", $_ } @lines );
+ $macro =~ s/ *$//;
+ return $macro . "\n\n";
}
# default type extensions. 'uln' dont have one because normally