[voikko] Erinäisiä Voikko-uutisia

Harri Pitkänen hatapitk at iki.fi
Fri Nov 18 23:40:10 EET 2011


Muutamia viime päivinä tehtyjä parannuksia Voikkoon liittyen:

- Joukahaisessa voi nyt merkitä verbejä vaillinaisesti taipuviksi. Tuettuja 
ovat yksitekijäiset verbit (näille olikin lippu jo aiemmin) sekä verbit, jotka 
taipuvat pelkästään yksikön ja monikon kolmannessa persoonassa. Molemmat 
taivutusmuotojen rajaukset on toteutettu myös Voikkoon.

- Joukahaiseen voi lisätä yrityksiä ja tuotemerkkejä. Näille tulee laittaa 
liput "erisnimi: luokittelematon erisnimi" ja "ala: organisaatiot ja 
tuotemerkit". Nämä sanat eivät tule mukaan Voikon oikolukusanastoon. Ne 
päätyvät kyllä Voikon morfologisen analyysin erikoissanastohin ja 
ymmärtääkseni myös Sukijan sanastoon. Voikon valmiit erikoissanastot on myös 
päivitetty:

  http://www.puimula.org/htp/testing/voikko-snapshot/

- Kieliopin tarkistimeen on lisätty joitakin lisätarkistuksia mm. 
virheelliseen sidesanojen käyttöön liittyen. Nämä eivät vielä ole Webvoikossa, 
päivitän ne sinne myöhemmin.

- Voikolla on nyt logo ja siihen liitten libreoffice-voikolla uusi kuvake. 
Kiitos näistä Tarja Lindforsille. Logo on käytössä www-sivujemme etusivulla ja 
kuvake löytyy SVN:stä ooovoikko-hakemiston alta. Logo ja kuvake ovat 
käytettävissä GPLv3+-lisenssillä, ja suosittelen käyttämään niitä tilanteissa, 
joissa tarvitsette Voikkoon liittyvää grafiikkaa.

- Löysin libvoikon Malaga-toteutuksesta sekä myös alkuperäisestä Malagasta 
bugin, joka aiheuttaa satunnaisia virheitä sanojen analyysissä. Libvoikossa 
nämä voivat johtaa jopa ohjelman kaatumiseen, jos kieliopin tarkistin on 
käytössä. Libvoikon osalta bugi on korjattu SVN:ssä. Malagan tekijälle Björn 
Beutelille olen myös lähettänyt korjauksen samaiseen bugiin, mutta en ole 
vielä saanut häneltä vastausta. Koska Malagan ja libvoikon koodit eroavat 
toisistaan niin paljon, ettei libvoikkoon tehty korjaus sovi Malagaan, laitan 
Malaga-korjauksen tämän viestin loppuun. On huomattava, että korjaus saattaa 
hiukan hidastaa Malagaa, mutta ainakaan Suomi-malagan kanssa vaikutus ei taida 
olla merkittävä.

Harri


--- malaga-7.12/rules.c 2006-05-01 12:04:59.000000000 +0300
+++ malaga-7.12+fix/rules.c     2011-11-15 17:35:44.734994188 +0200
@@ -231,9 +231,15 @@
       push_string_value( "", NULL );
     else if (start <= 0 || end > len)
       complain( "Substring indexes out of bounds." );
-    else 
-      push_string_value( g_utf8_offset_to_pointer( string, start - 1 ), 
-                        g_utf8_offset_to_pointer( string, end ) );
+    else
+    {
+      const char * start_ptr = g_utf8_offset_to_pointer( string, start - 1 );
+      const char * end_ptr = g_utf8_offset_to_pointer( string, end );
+      // Heap may need garbage collection
+      char * duplicate = strndup(start_ptr, (end_ptr - start_ptr));
+      push_string_value(duplicate, 0);
+      free(duplicate);
+    }
     value_stack[ top - 4 ] = value_stack[ top - 1 ];
     top -= 3;
     break;



More information about the voikko mailing list