}
sub begin_endwiring () {
- my ($seg,$segv,$pt,$ptv, $delim);
- for $seg (keys %segs) {
- $segv= $segs{$seg};
- next unless $segv->{FeatCount};
- o("static const MovFeatInfo mfi_${seg}[]= {");
- $delim='';
- for $pt (keys %{ $segv->{Feats} }) {
- $ptv= $segv->{Feats}{$pt};
- next if exists $ptv->{Fixed};
- o("$delim\n");
- o(" { \"$seg/$pt\", $ptv->{Posns}, $ptv->{Weight} }");
- $delim=',';
- }
- o("\n};\n");
- }
}
# o("static const SegPosCombInfo spci_${seg}[]= {");
print STDERR "ditching unwired $seg$subspec\n";
return;
}
+ for ($end=0; $end<2; $end++) {
+ $ns[$end] =~ m/^([a-z]\w+)\.([01])$;
+ ($node,$side)=($1,$2);
+ if (exists $nodes{$node}
+ }
}
sub o ($) {
}
sub mainread () {
- o("/* autogenerated - do not edit */\n\n");
while (<>) {
next if m/^\#/;
chomp;
}
}
+sub writeout () {
+ my ($seg,$segv,$pt,$ptv, $delim);
+ o("/* autogenerated - do not edit */\n\n");
+ for $seg (keys %segs) {
+ $segv= $segs{$seg};
+ next unless $segv->{FeatCount};
+ o("static const MovFeatInfo mfi_${seg}[]= {");
+ $delim='';
+ for $pt (keys %{ $segv->{Feats} }) {
+ $ptv= $segv->{Feats}{$pt};
+ next if exists $ptv->{Fixed};
+ o("$delim\n");
+ o(" { \"$seg/$pt\", $ptv->{Posns}, $ptv->{Weight} }");
+ $delim=',';
+ }
+ o("\n};\n");
+ }
+}
+
mainread();
+writeout();