1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#!/usr/bin/perl -w
$id="";
$name="";
sub doprint() {
$def =~ s/\\n/\n# /g;
print "# $def";
if($cc ne "") {
$cc =~ s/;$//;
$ =~ s/;/\n# cc: /g;
print "# cc: $cc\n";
}
if($synonym ne "") {
$synonym =~ s/;$//;
$synonym =~ s/;/\n# synonym: /g;
print "# synonym: $synonym\n";
}
if($subset ne "") {
$subset =~ s/;$//;
$subset =~ s/;/\n# subset: /g;
print "# subset: $subset\n";
}
if($isa ne "") {
$isa =~ s/;$//;
$isa =~ s/;/\n# isa: /g;
print "# isa: $isa\n";
}
if($altid ne "") {
$altid =~ s/;$//;
$altid =~ s/;/\n# altid: /g;
print "# altid: $altid\n";
}
print "\n";
print "$name $id\n";
print "\n";
$id=$name=$def=$cc=$synonym=$altid=$isa=$subset="";
}
while(<>) {
if(/^id: (\S+)/) {
doprint();
$id = $1;
}
elsif(/^name: (\S+)/) {$name=$1;}
elsif(/^alt_id: (\S+)/) {$altid=$1;}
elsif(/^def: (.*)/) {$def=$1;}
elsif(/^comment: (.*)/) {$cc=$1;}
elsif(/^subset: ()/) {$ubset.="$1;"}
elsif(/^synonym: ()/) {$synonym.="$1;"}
elsif(/^is_a: (\S+)/) {$isa.="$1;"}
elsif(/^[\[]Term[\]/) {next}
elsif(/^$/) {next}
else {print "Unknown line type: $_\n"}
}
doprint();
|