eudora-mac/Bits/ProcessStrings

1 line
1.7 KiB
Plaintext
Raw Normal View History

2018-05-23 09:59:15 +00:00
Perl -x "{0}" {"parameters"} ; exit #!/usr/local/bin/perl open(DEFS,">:include:$ARGV[0].h") || die; open(RFIL,">$ARGV[0].strn") || die; open(DOC,">$ARGV[0]H.strn") || die; open(ACAP,">$ARGV[0].acap") || die; open(XSET,">$ARGV[0].xset") || die; $str=5400; $gran=20; $elem=$gran+1; print DEFS "#ifndef STRINGDEFS_H\n#define STRINGDEFS_H\n\n"; #print DOC "Type 'STH#' as 'STR#' ;\n"; while (<>) { if (/^#/) { if ($elem && $elem<=$gran) { print RFIL '}};' . "\n"; print DOC '}};' . "\n"; } $elem=$gran+1; print RFIL; print DOC; print DEFS; } elsif (/^=/) { if ($elem && $elem<=$gran) { print RFIL '}};' . "\n"; print DOC '}};' . "\n"; } chop; split; $str = $_[1]-200; if ($str>32000) {$gran = 99;} $elem = $gran+1; } else { if ($elem>=$gran) { if ($elem && $elem<=$gran) { print RFIL '}};' . "\n"; print DOC '}};' . "\n"; } $elem = 0; $str += 200; printf RFIL "resource 'STR#' (%d,purgeable) {{\n",$str; printf DOC "resource 'STH#' (%d,purgeable) {{\n",$str; } chop; split(/\t/); ($name,$acap,$func) = split('<27>',$_[0]); printf DEFS "#define %s\t%d\t/*%s*/\t//%s\n",$name,$str + ++$elem,$_[1],$_[2]; ($help,$geek) = split('<27><>',$_[2]); print RFIL ' "' . $_[1] . '",' . "\n"; print DOC '/*' . ($str+$elem) . '*/ "' . $help . '",' . "\n"; if ($_[2] ne "" && !($_[2] =~ /don.t touch/i)) {print XSET '<x-eudora-setting:' . ($str+$elem) . "> $_[2]\n";} if ($acap ne "") {print ACAP ($str+$elem) . "\t$acap\t$func\n";} if ($geek ne "") {$geekList .= "resource 'GSTR' (" . ($str+$elem). ",purgeable) {\"$geek\"};\n";} } } if ($elem && $elem<=$gran) { print RFIL '}};' . "\n"; print DOC '}};' . "\n"; } if ($geekList ne "") {print DOC $geekList;} print DEFS "\n\n#endif\n";