[Tech] tcl? altro? aiuto per script!
Marco Ermini
markoer@usa.net
Gio 31 Lug 2003 11:30:11 CEST
Alessio Chemeri disse:
> ciao,
> per hobby e allenamento sto scrivendo un giochino militare in c, avrei
> bisogno di poter lanciare un interprete di un linguaggio di scripting
> per definire i comportamenti delle unita' , in modo da evitare di
> ricompilare tuttto ogni volta che voglio cambiare o modificare le AI ...
> ho visto che il tlc lo si puo' usare nel c... ora io non lo conosco
> proprio.. avete libri on line da suggerire per incrementare la mia
> scarsa conoscenza? (o siti con demo.sorgenti.altrecosesimili?)
1) Io ho fatto una cosa simile MOOOLTI anni fa (non dai... non moltissimi
;-) col Python. Il famoso librone sul Python ha (aveva, quello che ho io
e' vecchio, ma se ti serve...) una sezione appositamente dedicata alle
"interazioni" Python/C (Python embedded nel C, estendere il Python con C
ecc.).
2) Se non ti interessa usare linguaggi cosi' complessi come Python e Tcl,
un'altra cosa che ho usato e che e' molto facile da usare e' la libreria
slang, che tra l'altro e' usata anche da jed, slrn, e mutt.
http://space.mit.edu/~davis/slang/
3) Altrimenti, la terza cosa che ho utilizzato (un po' piu' difficile ma
fattibile, e magari utile da vedere in un progetto per hobby perche'
istruttivo: io l'ho usato in un motore SQL custom che abbiamo modificato)
e' utilizzare il parser Yacc direttamente nel tuo applicativo per generare
un tuo linguaggio "custom" pensato esattamente per quello che ti serve.
Ovviamente puoi prendere i file di definizione di linguaggi gia' esistenti
che trovi con Yacc e su Internet, vedere come sono fatti e come
funzionano, e modificarli (non e' difficile, io per esempio ho esteso la
sintassi SQL). Il tuo linguaggio viene cosi' "tokenizzato" e dovrai
implementare le funzioni che corrispondono a questi token. Puoi prendere
programmi gia' fatti ed ispirarti.
Spero di esserti stato utile.
ciao
--
Marco Ermini
http://macchi.markoer.org
Maggiori informazioni sulla lista
flug-tech