Newsgroup: it.comp.giochi.avventure.testuali
Titolo: Qualche domanda tecnica su INFORM / *FROTZ

- Il parser attuale scritto in Inform presenta parti ricorsive o è
prettamente iterativo?
- Qualcuno ha condotto test di stabilità, per quanto riguarda la gestione
della ricorsione, con Winfrotz, Frotz o altro? (mi riferisco a lentezza e
stack disponibile...è limitato, può essere aumentato?)
Ho deciso di fare qualche taglio qua e là e di convertire intarsi in Inform
rendendolo compatibile col codice già scritto, così potrò testarlo con
avventure testuali complete.
La grammatica però è tutta da scrivere (file .dat).
Mi farebbe comodo sapere quali verbi/forme grammaticali supporta il
parser/la grammatica attuale (devo leggermi tutto il sorgente o c'è un
metodo migliore?)

Quale delle 3 è più corretta?
1) non ve ne frega niente
2) non sapete rispondere
3) i più esperti non stanno leggendo il ng in questi giorni...in questo caso
aspetterò

nervosetto?  :)
comunque le informazioni sulla Z-Machine, sulla macchina Glulx, il parser, la grammatica e tutto
quanto sono online e facilissimamente reperibili con qualsiasi motore di ricerca. In generale lo
spazio di memoria della Z-machine è statico e limitato, e piccolo, mentre quello (almeno teorico)
della macchina Glulx (che sostituisce la Z-Machine come target del compilatore Inform) è parimenti
statico e limitato, mi pare, ma con un sup di vari GB (quindi di fatto non lo è). Sto parlando di
specifiche delle macchine virtuali, eh, non degli interpreti esistenti che sono ovviamente
tutt'altra roba.
ti consiglio prima di tutto di leggere le FAQ di rec.arts.int-fiction...
http://www.davidglasser.net/raiffaq/
un ottimo posto dove cominciare
e forse saprai che il repository globale dell'IF è qui
http://www.ifarchive.org/
e in particolare le specs della zmachine sono qui
http://www.ifarchive.org/if-archive/infocom/interpreters/specification/ZMachineSpec-1.0.zip
qui poi ci sono le specs di glulx
http://www.ifarchive.org/if-archive/programming/glulx/glulx-spec.txt
per le quali in generale ti rimando al sito di Zarf aka Plotkin, l'autore
http://www.eblong.com/zarf/glulx/index.html
questo per quanto riguarda le macchine virtuali, che a rigore di logica sono indipendenti da inform.
per info addizionali sul parser, invece, non ha senso cominiciare a parlare finché non si conosce
bene il manuale
http://www.ifarchive.org/if-archive/infocom/compilers/inform6/manuals/designers_manual_4.pdf
e magari il codice stesso (facciamoci del male...)
ciao
S


OK, grazie, ma non ho il tempo materiale per leggermi tutta questa roba.
Speravo che qualcuno avesse già provato a usare gli interpreti con qualche
programma non-AT, magari per testarne la velocità/solidità.
Comunque sto cercando di limitare la memoria usata dal mio parser...
P.S. non sono nervoso...ho fretta.

 P.S. non sono nervoso...ho fretta.
La fretta rende nervosi. Calma. Tranquillo. Non devi dimostrare niente a
nessuno. :)
Giovanni

 ha scritto nel messaggio
news:kc4m8.7873$pT1.1...@news1.tin.it...

Non potevi aspettare e basta?? Guarda che la maggior parte delle persone di
questo newsgroup ha anche una vita fuori dalla rete. Non passiamo il tempo
ad aspettare le tue domande per poi rispondere prontamente. Mica è un call
center questo. E poi di solito sui newsgroup funziona che ci si documenta
prima di porre una domanda. Se le informazioni che cerchi stanno su qualche
documento ti possiamo consigliare di leggerlo (come ha fatto Stefano). Poi,
se non  capisci qualche cosa basta chiedere con calma e gentilezza e le
risposte arrivano.
Giovanni

 documento ti possiamo consigliare di leggerlo (come ha fatto Stefano).
E allora a cosa mi servirebbe chiederlo?
E' ovvio che se voglio posso condurre esperimenti da parte mia o leggere
tutto Internet!
E' come se qualcuno mi chiedesse: "come si fa questa cosa?" e io gli
rispondessi "leggiti questi 10 libri sulla prg".

 Anch'io ho pochissimo tempo ma se ti interessa qualche cosa...
Prova su: 
http://lcg-www.uia.ac.be/conll2001/proceedings.html

 interprete perché il Winfrotz dà problemi con alcuni giochi.
E come pensi che potrebbero aiutarmi?
Non so come sono programmati e non eseguono statistiche :-(

 P.S. non sono nervoso...ho fretta.
no problem!
ciao
S

 Non so come sono programmati e non eseguono statistiche :-(
guarda che sono il codice di tutti gli interpreti è distribuito... non c'è neanche bisogno di
disassemblarli :)
ciao
S (blandamente sardonico)

 guarda che sono il codice 
ops, eliminare il "sono"

Raga, non vi ho chiesto se potevate dirmi COME fare ad eseguire test,
ecc..., ma vi ho chiesto se qualcuno di voi avesse già eseguito test di
questo genere.
Bastava rispondere "NO".

 ha scritto nel messaggio
news:Nlpm8.10946$pT1.3...@news1.tin.it...

Ok NO!
Ma per le informazioni che chiedevi in sintesi:
il parser di inform per riconoscere i comandi del giocatore è iterativo. Per
quanto riguarda lo stack per la ricorsione della Z-Machine si può arrivare
ad una profondità di 90 chiamate alla procedura. Riporto il passo del DM4
che lo spiega:
" Recursion and stack usage. The limit of this is rather technical (see
'Z-Machine Standards Document'). Roughly speaking, recursion is permitted to
a depht of 90 routines in almost all circumstances, and often much deeper.
Direct usage of the stack via assembly language must be modest.""
(Graham Nelson, 'The Inform Designer's Manual 4', pag. 338)
Suppongo che si può andare più oltre un livello di 80 nella pila di
ricorsione proprio con l'uso dell'assembly della Z-Machine (che qui è
sconsigliato, ma il DM4 è rivolto agli autori di IF e non ai programmatori).
Condera due cose:
1. Molti dei giochini che ti ho consigliato sono proprio programmati
direttamente in assembly, per testare le capacità della macchina virtuale.
2. Molto probabilmente utilizzando GLULX si possono superare tranquillamente
questi limiti. Inform compila anche per GLULX oltre che per la Z-Machine.
Giovanni
PS. Visto che tu non hai tempo, ho dedicato parte del mio a ricercare quel
passo del manuale visto che ricordavo che c'era un limite ma non
precisamente quale fosse. Contento?? :)

> Suppongo che si può andare più oltre un livello di 80 nella pila di
oops, intendevo 90
Giovanni

Grazie mille per il tuo tempo e per l'utile risposta :-)