diff options
Diffstat (limited to 'libsi/gendescr.pl')
-rwxr-xr-x | libsi/gendescr.pl | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/libsi/gendescr.pl b/libsi/gendescr.pl deleted file mode 100755 index 8273f640..00000000 --- a/libsi/gendescr.pl +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/perl - -# $Id: gendescr.pl 1.2 2003/12/13 10:42:05 kls Exp $ - -print "Name (ohne ...Descriptor):"; -$name=<STDIN>; -$name =~ s/\n$//; -$inner = ($name =~ s/ä$//); -$name .= "Descriptor" unless ($inner); - -print "Struct:"; -$struct=<STDIN>; -$struct =~ s/\n$//; - -mm: -$index=0; -$which=1; -print "Variablen:"; -while ( <STDIN> ) { - if (/ä/) { - goto vv; - } elsif (/ü/) { - $which=1; - next; - } - $eingabe=$_; - $eingabe =~ s/(.{75,120} )/\1\n/g; - $eingabe =~ s/\n$//; - if ($which) { - $members[$index]=$eingabe; - } else { - $members_comments[$index]=$eingabe; - $index++; - print "Jep!\n"; - } - $which= (! $which); -} - -vv: -$filename_h="tempdescr.h"; -$filename_c="tempdescr.c"; -schreib(); - -sub schreib { - print "Danke.\n"; - open(OUTPUT_H, ">>".$filename_h) or die "Could not open file!!"; - open(OUTPUT_C, ">>".$filename_c) or die "Could not open file!!"; - - if ($inner) { - $offset=" "; - } else { - $offset=""; - } - print(OUTPUT_H $offset."class ".$name); - if ($inner) { - print(OUTPUT_H " : public LoopElement {\n".$offset."public:"); - } else { - print(OUTPUT_H " : public Descriptor {\n".$offset."public:"); - } - #for ($i=0; $i<=$#vars;$i++) { - # print (OUTPUT "/*\n".$vars_comments[$i]." */\n".$vars[$i].";\n\n\n"); - #} - for ($i=0; $i<=$#members;$i++) { - print (OUTPUT_H "\n".$offset." int get".$members[$i]."() const;"); - } - print(OUTPUT_H "\n".$offset."virtual int getLength() { return sizeof(".$struct."); }") if ($inner); - - print(OUTPUT_H "\n".$offset."protected:\n".$offset." virtual void Parse();"); - print(OUTPUT_H "\n".$offset."private:\n".$offset." const ".$struct." *s;") if ($struct ne ""); - print(OUTPUT_H "\n".$offset."};\n\n"); - for ($i=0; $i<=$#members_comments;$i++) { - print (OUTPUT_C "int ".$name."::get".$members[$i]."() const {\n"); - if ($members_comments[$i] =~ /^(.+)_hi$/) { - $varbase=$1; - print (OUTPUT_C " return HILO(s->".$varbase.");\n}\n\n"); - } else { - print (OUTPUT_C " return s->".$members_comments[$i].";\n}\n\n"); - } - } - print (OUTPUT_C "void ".$name."::Parse() {\n}\n\n"); - print (OUTPUT_C "\n\n\n"); - exit; -} |