Newsgroup: it.comp.giochi.avventure.testuali
Titolo: Parser generico: il codice è pronto!

Premetto che è stato un lavoro svolto in fretta e furia (devo riprendere il
debugger e io non riesco a fare più cose contemporaneamente) quindi il
codice è un miscuglio tra C e C++ e, esclusa la classe SList (Single List)
che avevo scritto in precedenza, si trova in un unico file!
Il codice è lungo circa 1200 righe e contiene le versioni iterativa e
ricorsiva dell'algoritmo. L'idea di base è semplice, però l'algoritmo lo è
di meno, comunque, leggendo la versione ricorsiva, è facile capire
sommariamente come funziona.
Per capire la parte iterativa può essere utile conoscere l'assembly o
semplicemente la gestione dello stack da parte del compilatore (prolog,
epilog, locals, ecc...)
La struttura della grammatica e la sua semplice sintassi è descritta nel
file grammar.dat (sotto forma di commento iniziale).
La grammatica attuale è cortissima e riconosce appena qualche verbo: l'ho
usata semplicemente per testare l'algoritmo. Ho evitato di fare distinzioni
tra articoli maschili, femminili, ecc... e quindi il parser accetterà anche
frasi del tipo "prendi il tastiera", comunque la grammatica può essere
scritta in qualsiasi modo (può includere forme del tipo "prendila",
"prenderla", insomma qualsiasi cosa). Per scrivere la grammatica non è
neanche necessario conoscere le singole regole grammaticali, è sufficiente
saper parlare l'Italiano :-)
Domani controllerò che i commenti della grammatica siano abbastanza chiari e
non contengano errori.
P.S. A chi invio il codice???
P.P.S. Del codice fatene quello che volete...cancellatelo, prendetene spunto
per fare qualcos'altro, rispolveratelo tra tre mesi, insomma.....

...


 P.S. A chi invio il codice???
beh direi alla sezione "programmazione" di if italia...
 
ciao
S

 interessante concetto - ora capisco perché la gente parla strano  :)
quando e se leggerai il file grammar.dat, capirai...
Avevo un'idea e l'ho realizzata. Il parser è funzionante, ma richiederebbe
ancora lavoro...
Mi interessava solo verificare l'attuabilità della mia idea e nient'altro.
Ho deciso di pubblicare il codice perchè a qualcuno potrebbe interessare o
addirittura essere utile.

 addirittura essere utile.
ottima idea. Appena If-Italia lo posta ci siamo un'occhiata...
ciao
S

Ho contattato David Cappelli e mi ha assicurato che il codice sarà
pubblicato su IFItalia  entro Martedì (ritardo causato da vari problemi).


ma in questo parser cosa di specifico?
byez
--------------------------------
Inviato via 
http://usenet.iol.it
 



mi spiega meglio, questo parser che tipo di frasi riconosce...


> mi spiega meglio, questo parser che tipo di frasi riconosce...
In un certo senso, qualsiasi tipo di frase...lo si potrebbe utilizzare in un
compilatore, un assemblatore, un'avventura testuale, ecc...
Si serve di un file grammar.dat (semplice file testuale) che contiene le
costruzioni che dovrà riconoscere.
Ho già detto più di una volta che si tratta solo di un piccolo esperimento!
Non è completo, ma funzionante quel tanto che basta per capire l'idea di
fondo :-)
Per i non programmatori, è sufficiente leggere il file .dat in quanto è
praticamente autoesplicativo.