Index: languages/apertium-srd/corpus/srd.crp.morf.disam.200.txt =================================================================== --- languages/apertium-srd/corpus/srd.crp.morf.disam.200.txt (revision 81378) +++ languages/apertium-srd/corpus/srd.crp.morf.disam.200.txt (revision 81380) @@ -83,7 +83,7 @@ "<,>" "," cm "" - "pro" cnjadv +; "pro" cnjadv "pro" pr "" "su" det def f pl @@ -208,7 +208,7 @@ "" "a" pr "" - "*SE" + "SE" np acr "" "Crabonaxa" np top f sg "" @@ -315,7 +315,6 @@ "perìodu" n m sg "" "maju" n m sg - - "" ; "làmpada" n f pl "làmpadas" n m sp @@ -405,7 +404,7 @@ ; "est" n m sg "èssere" vbser pri p3 sg "" -: "unu" num f sp +; "unu" num f sp ; "unire" vblex prs p1 sg "unu" prn tn f sg ; "unu" det ind f sg @@ -568,7 +567,7 @@ "" "de" pr "" - "tipu" adj mf sp +; "tipu" adj mf sp "tipu" n m sg "" "polìticu" adj m sg @@ -783,16 +782,16 @@ "," cm "" "bi" prn pro adv - "bi" prn pro p3 mf sp +; "bi" prn pro p3 mf sp "" "nde" prn pro adv "" "àere" vblex pri p3 sg - "àere" vbhaver pri p3 sg +; "àere" vbhaver pri p3 sg "" "duos" num f sp "" - "chi" cnjsub +; "chi" cnjsub "chi" rel an mf sp "" "dare" vblex prs p3 pl @@ -830,11 +829,11 @@ "" "o" cnjcoo "" -; "comente" adv + "comente" adv ; "comente" cnjsub - "comente" cnjadv +; "comente" cnjadv ; "comente" adv itg - "comente" rel adv +; "comente" rel adv "" "nàrrere" vblex pri p3 pl @@ -887,7 +886,7 @@ "<'e>" "de" pr "" - "giosso" + "giosso" adv "" ; "chi" cnjsub "chi" rel an mf sp @@ -933,7 +932,7 @@ "" "a" pr "" - "pàrrere" n m s + "pàrrere" n m sg "" "de" pr "" Index: languages/apertium-srd/corpus/comprovar_disam.pl =================================================================== --- languages/apertium-srd/corpus/comprovar_disam.pl (nonexistent) +++ languages/apertium-srd/corpus/comprovar_disam.pl (revision 81380) @@ -0,0 +1,101 @@ +#!/usr/bin/perl + +use strict; +use utf8; + +my $L_TRACE = 0; # Trace a partir de la línia indicada del fitxer d'entrada (si no és 0) + +binmode(STDIN, ":encoding(UTF-8)"); +binmode(STDOUT, ":encoding(UTF-8)"); +binmode(STDERR, ":encoding(UTF-8)"); + +my $linia; +my $falta_analisi_ant = 0; + +while (tractar_element()) { + ; +} + +exit 0; + +sub tractar_element { + # inici element + while ($linia !~ m|^"<|o) { + print "Error 001 en l. $.: espai o tabulador en inici de línia\n" if $linia =~ m|^\s|o && $linia !~ m|^\s"+\s*$|o; + print "Error 002 en l. $.: ; en inici de línia\n" if $linia =~ m|^;|o; + $linia = ; + chop $linia; + } + my $element = $linia; + my $n_linia = $.; + + # resseguim les anàlisis + my @analisis = (); + my @n_linies = (); + my $falta_analisi = 1; + $linia = ; + chop $linia; + while (($linia =~ m|^\s|o || $linia =~ m|^;|o) && $linia !~ m|^\s\-\s*$|o && $linia !~ m|^\s"+\s*$|o) { +print "$.. linia=<$linia>\n" if $L_TRACE && $. >= $L_TRACE; + if ($linia =~ m|^\s+|o) { +print "$.. 1\n" if $L_TRACE && $. >= $L_TRACE; + # verificació de la línia + if ($linia =~ m|^\s+$|o) { + # a vegades hi ha línies en blanc, ves a saber per què + } elsif ($linia =~ m|^\s+"[^"]*"\s*$|o) { + print "Error 120 en l. $.: falta anàlisi per a $linia\n"; + } elsif ($linia =~ m|^\s+"[^"]*" n\s*$|o) { + print "Error 121 en l. $.: anàlisi parcial per a $linia\n"; + } elsif ($linia =~ m|^\s+"[^"]*" n ([a-z]*) ([a-z]*)$|o) { +print "$.. 1.3\n" if $L_TRACE && $. >= $L_TRACE; + my $gen = $1; + my $nbr = $2; + if (($gen ne 'm' && $gen ne 'f' && $gen ne 'mf') || ($nbr ne 'sg' && $nbr ne 'pl' && $nbr ne 'sp')) { + print "Error 122 en l. $.: anàlisi parcial per a $linia (gen = $gen, nbr = $nbr)\n" + } else { + push @analisis, $linia; + push @n_linies, $.; + } + } elsif ($linia =~ m|^\s+"[^"]*" adj\s*$|o) { + print "Error 123 en l. $.: anàlisi parcial per a $linia\n"; + } elsif ($linia =~ m|^\s+"[^"]*" adj ([a-z]*) ([a-z]*)$|o) { + my $gen = $1; + my $nbr = $2; + if (($gen ne 'm' && $gen ne 'f' && $gen ne 'mf') || ($nbr ne 'sg' && $nbr ne 'pl' && $nbr ne 'sp')) { + print "Error 124 en l. $.: anàlisi parcial per a $linia (gen = $gen, nbr = $nbr)\n" + } else { + push @analisis, $linia; + push @n_linies, $.; + } + } else { +print "$.. 1.6\n" if $L_TRACE && $. >= $L_TRACE; + push @analisis, $linia; + push @n_linies, $.; + } + } else { # $linia =~ m|^;|o +print "$.. 2\n" if $L_TRACE && $. >= $L_TRACE; + $falta_analisi = 0; + } + $linia = ; + chop $linia; + } + if ($#analisis == 0) { + $falta_analisi_ant = 0; + return 1; + } elsif ($#analisis == -1) { + print "Error 101 en l. $n_linia: falta anàlisi per a $element\n"; +#exit 0; + if ($falta_analisi_ant) { + print "Fi de la anàlisi en l. $. (1)\n"; + return 0; + } + $falta_analisi_ant = 1; + } else { # $#analisis > 0 + printf "Error 110 en l. $n_linia: %d anàlisis per a $element\n", $#analisis + 1; + if ($falta_analisi && $falta_analisi_ant) { + print "Fi de la anàlisi en l. $. (2)\n"; + return 0; + } + $falta_analisi_ant = 1; + } +} Property changes on: languages/apertium-srd/corpus/comprovar_disam.pl ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property