OBTESIL: Programa per obtenir la descomposició en síl·labes d'una paraula segons les normes del català. Autor: Josep M. Piqué Permisos d'ús i modificacions: segons un dels criteris més usats dins el món del programari lliure: la llicència GPL. Com obtenir-lo: http://baseinf.com/jmpique/obtesil Història (o històries?) ----------------------- Aquest programa és un intent de recuperar, encara que sigui pam a pam i per peces, la tasca intel·lectual que hi havia al darrera d'un corrector ortogràfic que vaig fer ara ja fa 15 anys. Parlo de tasca intel·lectual en lloc d'eina d'ajut, de meravella de la informàtica, de joguina, d'heroicitat en aquell context (no sols ni principalment informàtic), de curiositat realment incomprensible o qualsevol altre qualificatiu que segur que seria més popular i ho faig expressament. En la construcció d'una eina informàtica hi ha una primera tasca de definició, de concreció suficient dels criteris com perquè a partir d'unes determinades dades o actuacions es produeixin uns determinats resultats; i quan parlo de resultats no m'estic referint als que ja estaran pensant molts: els diners que en sortiran, sigui comercialment, sigui en CV o tesi o com sigui, és clar. És per això que crec interessant posar-lo com a programari lliure, sotmès a la millora gràcies a l'aportació col·laborativa de qualsevol que s'hi interessi suficientment, i aquí tampoc em refereixo als sentits usuals de la paraula 'interessi', sinó a alguns altres que a vegades m'ha donat la impressió que ja s'estaven oblidant, que de fet ni se'n copsava o sospitava el possible significat, el que jo li donava i li dono. La llicència GPL és un vehicle per a aquest objectiu: permet que tothom en faci el què vulgui llevat de restringir aquesta llibertat als altres: la tasca que permet és oberta a tothom i considerada amb tothom que hi vulgui participar. També parlo d'una tasca empresa fa 15 anys, la qual cosa vol dir molts canvis tècnics entre mig. Des d'uns inicis usant un BASIC avançat com a eina de programació, passant per un programa que ho va traduir al llenguatge C, continuant per canvis diversos en les versions del llenguatge C, també les diferents plataformes com ara l'antic DOS i el primitiu Windows per acabar en el Linux, tot plegat ha estat un camí llarg i feixuc que ha deixat la seva empremta en el codi del programa que ens ocupa: l'Obtesil. L'Obtesil és una part del què havia estat un corrector ortogràfic pel català, l'ApS, que vaig intentar usar com a eina no sols per a facilitar l'escriptura més correcta del català sinó per promoure un projecte de treball i recerca viable, això en uns camps intel·lectualment i econòmicament molt actius. No vaig aconseguir convèncer a prou gent, o més aviat prou 'pesant' llavors, com per a poder continuar la tasca. En l'Obtesil es reflexa aquesta història doncs llegint el codi es pot veure que estava imbricat amb altres funcions que en aquesta versió que he fet independent ja queden apart. També l'ús actualment innecessari de tipus de punters que en poden dificultar la lectura i que acabaré traient si veig que no tenen cap utilitat en sistemes operatius menys usats (Beos...). D'altra banda hi ha un tractament de macros i tipus de variable (principalment el tipus 'uchar') que no són més que maniobres per el·ludir els efectes dels canvis de versions de C/C++ i dels canvis de compiladors, que també caldrà deixar en una situació coherent amb les últimes versions dels compiladors i del mateix llenguatge C, segurament que de pas incorporant el tractament de l'Unicode i el format UTF-8. Perquè l'Obtesil? ----------------- A banda dels motius genèrics que es desprenen del paràgraf anterior, hi ha altres motius que poden fer interessant l'Obtesil. Veient la descomposició sil·làbica que ens dóna podem apreciar com en la parla estem fent diftongs que en català són fonèticament incorrectes, que són propis del castellà. També podem veure, o incorporar en altres programes amb llicència GPL o compatible, la descomposició sil·làbica per determinar els llocs on podem trencar una paraula a final de línia, encara que amb els processadors de textos actuals cada vegada s'usa menys això; tot i així en textos de validesa legal o altres pot ser necessari escriure així per tal de no deixar espais en blanc intercalats entre les paraules. L'Obtesil no sols obté la descomposició sil·làbica del mot sinó que també informa de quina és la síl·laba tònica i quin tipus de lletra és la primera lletra. Això segurament ens permetrà veure accents mal posats (normalment no posats) i si cal apostrofar un article 'la' que vagi al davant en les paraules en femení, tant com a consulta manual com incorporat en un corrector ortogràfic; per exemple podrem veure que "l'Universitat" està mal escrit (i parlat) havent de ser "la Universitat" i que "la única" també està malament i hauria de ser "l'única", etc.; el tipus de lletra de la primera lletra ens permetrà veure que "la història" és un cas similar al de "la Universitat". També ho permetrà veure a un programa corrector ortogràfic, com ho veia l'ApS, del qual l'Obtesil en formava part. Coses que hi falten i que tenia ------------------------------- En les paraules compostes, aquest fet pot determinar la descomposició sil·làbica en alguns casos. En aquesta versió la funció que hauria de buscar al diccionari no fa res i respon dient que no ha trobat la paraula. On i com funciona ----------------- Primera versió provant-se en Linux, hauria d'acabar funcionant en qualsevol plataforma compatible amb *nix (Linux, Sun, FreeBsd, OpenBSD, etc.) o des de MinGW en Windows, fent la seqüència de comandes: tar xzvf obtesil.tar.gz cd obtesil ./configure make make install ja es podrà executar: obtesil1 que va demanant programes a descompodre sil·làbicament, o bé: obtesil2 paraula-a-descompondre que escriurà la descomposició sil·làbica. Alternativament, potser més fàcilment en Linux, es podrà fer: tar xzvf obtesil-bin-linux.tar.gz cd obtesil-bin-linux i ja es podran executar obtesil1 i obtesil2: ./obtesil1 ./obtesil2 paraula-a-descompondre Coses a fer amb l'Obtesil ------------------------- Les tasques més immediates que queden per fer són: 0) Posar-lo com a projecte a sourceforge 1) Adaptar-lo de manera que sigui utilitzable des de les eines de programari obert: OpenOffice, Lyx, compatibilitat amb l'Ispell i l'Aspell, etc. De pas fer millores trivials com eliminar variables globals i estàtiques que ja han deixat de tenir sentit i porten limitacions a l'entorn on s'ha d'usar. 2) Incorporar una petita interfície gràfica multiplataforma que permeti usar-lo. També una pàgina web des d'on es pugui consultar. 3) Netejar el codi deixant-lo a una situació 'neta' en base al llenguatge C actual i als sistemes operatius i compiladors actuals. 4) Considerar la seva adaptabilitat a altres llenguatges i sentit d'incorporar-hi el tractament d'Unicode i UTF-8. 5) Reconsideració teòrica, de fet el vaig fer tal com està com a una solució momentània i ràpida d'executar (principalment en els ordinadors que hi havia llavors). 6) Mirar d'anar recuperant les altres peces del trenqueclosques que és ara l'ApS.