diff options
Diffstat (limited to 'misc/fmtinsns.pl')
-rwxr-xr-x | misc/fmtinsns.pl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/misc/fmtinsns.pl b/misc/fmtinsns.pl new file mode 100755 index 00000000..831ead4c --- /dev/null +++ b/misc/fmtinsns.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +# +# Re-align the columns in insns.dat +# + +@cols = (0, 16, 40, 72); + +while ($line = <STDIN>) { + chomp $line; + if ($line !~ /^\s*(\;.*|)$/) { + ($ln = $line) =~ s/\s+$//; + @fields = split(/\s+/, $line); + if (scalar(@fields) == 4) { + $c = 0; + $line = ''; + for ($i = 0; $i < scalar(@fields); $i++) { + if ($i > 0 && $c >= $cols[$i]) { + $line .= ' '; + $c++; + } + while ($c < $cols[$i]) { + $line .= "\t"; + $c = ($c+8) & ~7; + } + $line .= $fields[$i]; + $c += length($fields[$i]); + } + } + } + print $line, "\n"; +} + + |