From: nuffer Date: Mon, 12 Jan 2004 04:36:46 +0000 (+0000) Subject: Adding cleanup.pl script from yasm. X-Git-Tag: 0.13.6~748 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=994aac0b5edc293458f9e9ec912916158c159163;p=re2c Adding cleanup.pl script from yasm. --- diff --git a/cleanup.pl b/cleanup.pl new file mode 100644 index 00000000..928783a5 --- /dev/null +++ b/cleanup.pl @@ -0,0 +1,32 @@ +#! /usr/bin/env perl +my @sourcelines = <>; +my %usedlabel; +my %usedvar; +my $lastusedvarline = 0; +my $level = 0; +my $line = 1; +for (@sourcelines) { + $usedlabel{"$1:"} = "$1:" if m/goto\s+(yy[0-9]*)\s*;/; + $level = $level + 1 if m/\{/; + $level = $level - 1 if m/\}/; + if ($level < $usedvar{$lastusedvarline}) { + $lastusedvarline = 0; + } + if (m/int\s+yyaccept/) { + $usedvar{$line} = $level; + $lastusedvarline = $line; + } elsif (m/yyaccept/) { + $usedvar{$lastusedvarline} = 1000; + } + $line = $line + 1; +} +$line = 1; +for (@sourcelines) { + s/^(yy[0-9]*:)/$usedlabel{$1}/; + if ($usedvar{$line} != 0 && $usedvar{$line} != 1000) { + print "\n"; + } else { + print; + } + $line = $line + 1; +}