summaryrefslogtreecommitdiff
path: root/scripts/mk2knr.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/mk2knr.pl')
-rwxr-xr-xscripts/mk2knr.pl84
1 files changed, 0 insertions, 84 deletions
diff --git a/scripts/mk2knr.pl b/scripts/mk2knr.pl
deleted file mode 100755
index aaf4963..0000000
--- a/scripts/mk2knr.pl
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/perl -w
-#
-# @(#) mk2knr.pl - generates a perl script that converts lexemes to K&R-style
-#
-# How to use this script:
-# - In the busybox directory type 'scripts/mk2knr.pl files-you-want-to-convert'
-# - Review the 'convertme.pl' script generated and remove / edit any of the
-# substitutions in there (please especially check for false positives)
-# - Type './convertme.pl same-files-as-before'
-# - Compile and see if it works
-#
-# BUGS: This script does not ignore strings inside comments or strings inside
-# quotes (it probably should).
-
-# set this to something else if you want
-$convertme = 'convertme.pl';
-
-# internal-use variables (don't touch)
-$convert = 0;
-%converted = ();
-
-# if no files were specified, print usage
-die "usage: $0 file.c | file.h\n" if scalar(@ARGV) == 0;
-
-# prepare the "convert me" file
-open(CM, ">$convertme") or die "convertme.pl $!";
-print CM "#!/usr/bin/perl -p -i\n\n";
-
-# process each file passed on the cmd line
-while (<>) {
-
- # if the line says "getopt" in it anywhere, we don't want to muck with it
- # because option lists tend to include strings like "cxtzvOf:" which get
- # matched by the "check for mixed case" regexps below
- next if /getopt/;
-
- # tokenize the string into just the variables
- while (/([a-zA-Z_][a-zA-Z0-9_]*)/g) {
- $var = $1;
-
- # ignore the word "BusyBox"
- next if ($var =~ /BusyBox/);
-
- # this checks for javaStyle or szHungarianNotation
- $convert++ if ($var =~ /^[a-z]+[A-Z][a-z]+/);
-
- # this checks for PascalStyle
- $convert++ if ($var =~ /^[A-Z][a-z]+[A-Z][a-z]+/);
-
- # if we want to add more checks, we can add 'em here, but the above
- # checks catch "just enough" and not too much, so prolly not.
-
- if ($convert) {
- $convert = 0;
-
- # skip ahead if we've already dealt with this one
- next if ($converted{$var});
-
- # record that we've dealt with this var
- $converted{$var} = 1;
-
- print CM "s/\\b$var\\b/"; # more to come in just a minute
-
- # change the first letter to lower-case
- $var = lcfirst($var);
-
- # put underscores before all remaining upper-case letters
- $var =~ s/([A-Z])/_$1/g;
-
- # now change the remaining characters to lower-case
- $var = lc($var);
-
- print CM "$var/g;\n";
- }
- }
-}
-
-# tidy up and make the $convertme script executable
-close(CM);
-chmod 0755, $convertme;
-
-# print a helpful help message
-print "Done. Scheduled name changes are in $convertme.\n";
-print "Please review/modify it and then type ./$convertme to do the search & replace.\n";