diff options
| author | bjorn <bjorn@bringert.net> | 2008-11-26 14:35:35 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-11-26 14:35:35 +0000 |
| commit | a61a6d5d43de1a7b45d530c32932b96d28e2e21f (patch) | |
| tree | 45e7a54d4cb92f93976893bed8368c9bff5b459c /next-lib/src/parse/oald/asc2gf | |
| parent | d0116c395839cd53dd24cfe1cb26b3f64ddc9430 (diff) | |
OALD: split lexicon into two: one for open classes and one for closed classes.
Diffstat (limited to 'next-lib/src/parse/oald/asc2gf')
| -rw-r--r-- | next-lib/src/parse/oald/asc2gf | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/next-lib/src/parse/oald/asc2gf b/next-lib/src/parse/oald/asc2gf index 3b27e3022..d3db827f8 100644 --- a/next-lib/src/parse/oald/asc2gf +++ b/next-lib/src/parse/oald/asc2gf @@ -367,10 +367,15 @@ while ( my $line = <STDIN> ) { my $absfile = "Oald.gf"; my $cncfile = "OaldEng.gf"; +my $abs_structfile = "OaldStructural.gf"; +my $cnc_structfile = "OaldStructuralEng.gf"; open (ABS, '>', $absfile); open (CNC, '>', $cncfile); +open (ABS_STRUCTURAL, '>', $abs_structfile); +open (CNC_STRUCTURAL, '>', $cnc_structfile); + # print a nice comment at the top @@ -396,26 +401,45 @@ my $header = "-- English lexicon for GF, produced from:\n" . "-- http://www.stanford.edu/~mpurver/software.html\n" . "\n"; print ABS $header; -print CNC $header; - print ABS "abstract Oald = Cat ** {\n"; + +print CNC $header; print CNC "--# -path=.:alltenses\n"; print CNC "concrete OaldEng of Oald = CatEng ** open ParadigmsEng, IrregEng in {\n"; +print ABS_STRUCTURAL $header; +print ABS_STRUCTURAL "abstract OaldStructural = Cat ** {\n"; + +print CNC_STRUCTURAL $header; +print CNC_STRUCTURAL "--# -path=.:alltenses\n"; +print CNC_STRUCTURAL "concrete OaldStructuralEng of OaldStructural = CatEng ** open ParadigmsEng in {\n"; + foreach my $name (sort (keys %words)) { (my $cat = $name) =~ s/.*_([A-Z][A-Za-z\d]*)$/$1/; my $lin = $words{$name}; - print ABS "fun $name : $cat;\n"; - print CNC "lin $name = $lin;\n"; + if ( $cat =~ /^(A)|(N)|(V)|(V2)$/ ) { + print ABS "fun $name : $cat;\n"; + print CNC "lin $name = $lin;\n"; + } else { + print ABS_STRUCTURAL "fun $name : $cat;\n"; + print CNC_STRUCTURAL "lin $name = $lin;\n"; + } } print ABS "}"; print CNC "}"; +print ABS_STRUCTURAL "}"; +print CNC_STRUCTURAL "}"; + +close(ABS_STRUCTURAL); +close(CNC_STRUCTURAL); + close(ABS); close(CNC); -print "\nWrote lexicon to $absfile and $cncfile\n"; +print "\nWrote open lexicon to $absfile and $cncfile\n"; +print "Wrote closed lexicon to $abs_structfile and $cnc_structfile\n"; |
