1 line
1.7 KiB
Plaintext
Executable File
1 line
1.7 KiB
Plaintext
Executable File
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('Ľ',$_[0]);
|
|
printf DEFS "#define %s\t%d\t/*%s*/\t//%s\n",$name,$str + ++$elem,$_[1],$_[2];
|
|
($help,$geek) = split('ŠŠ',$_[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";
|