From: wessels <> Date: Thu, 20 Nov 1997 15:20:26 +0000 (+0000) Subject: adding X-Git-Tag: SQUID_3_0_PRE1~4511 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c0ba22d51f81b3ee75fb07863fc9e91bbf725fe3;p=thirdparty%2Fsquid.git adding --- diff --git a/src/mk-string-arrays.pl b/src/mk-string-arrays.pl new file mode 100755 index 0000000000..5fffd081fd --- /dev/null +++ b/src/mk-string-arrays.pl @@ -0,0 +1,54 @@ +#****************************************************************************** +# $Id: mk-string-arrays.pl,v 1.1 1997/11/20 08:20:26 wessels Exp $ +# +# File: mk-strs.pl +# +# Author: Max Okumoto +# +# Abstract: This perl script parses enums and builds an array of +# printable strings. +# +# Warning: The parser is very simplistic, and will prob not work for +# things other than squid. +#****************************************************************************** + +$pat{'err_type'} = "err_type_str"; +$pat{'icp_opcode'} = "icp_opcode_str"; + +$state = 0; # start state +while (<>) { + if ($state == 0) { + # Looking for start of typedef + if (/^typedef enum /) { + $count = 0; # enum index + $state = 1; + } + next; + + } elsif ($state == 1) { + # Looking for end of typedef + if (/^} /) { + ($b, $t) = split(/[ \t;]/, $_); + if (defined($pat{$t})) { + print "const char *$pat{$t}[] = \n"; + print "{\n"; + for ($i = 0; $i < $count; $i++) { + printf "\t\"%s\"%s\n", + $ea[$i], + $i == $count - 1 ? '' : ','; + } + print "};\n"; + print "\n"; + } + $state = 0; + } else { + ($e) = split(' ', $_); + $e =~ s/,//; + $ea[$count] = $e; + $count++; + } + next; + } +} + +exit 0;