Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Siamo stati a Londra per la premiazione dei Sony World Photography Awards 2026, l'evento a tema fotografia più prestigioso. Fra sorprese e novità, ne approfittiamo per fare il punto sulla fotografia contemporanea, in cui la didascalia è sempre più necessaria a cogliere il senso della quasi totalità degli scatti.
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
L'elettrica di casa Hyundai propone una versione AWD con estetica derivata dalla famiglia N. L'abbiamo provata per diversi giorni, per scoprire tutti i dettagli e la vera autonomia in autostrada
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2005, 18:34   #1
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
[SPIKE] Parser per un semplice linguaggio

Mi serve uno spike per esplorare diverse soluzioni del seguente problema:

Scrivere un parser per un semplice linguaggio che accetti comandi del tipo:

play sound XXX
play animation YYY
wait 10 seconds
draw XXXX at (X, Y)

Molto probabilmente non serviranno loop o branch complicati.

Vorrei analizzare le seguenti possibilita':

- scrivere il parser a mano
- usare librerie di parsing gia' fatte (ANTLR e' il piu' promettente: http://www.antlr.org/)
- usare un linguaggio tipo Jython, o integrare LUA o Ruby

Chi si offre volontario?

Ultima modifica di fek : 19-11-2005 alle 19:00.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 00:44   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
IO!!! O.o'
mi piace un sacco l'argomento del parsing, è logica pura, ferrea e brainfucking!!
se mi spieghi di preciso la sintassi vorrei provare io scrivendo il parser a mano
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 08:39   #3
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Anche a me piace l'idea, ma mi chiedevo: scriverlo in Python o Ruby a cosa servirebbe? In fondo andrebbe integrato con un progetto scritto in Java! (perdonate la niubbagine )
E, infine, mi chiedevo: si potrebbe provare a scriverlo in C++, in modo da utilizzare un linguaggio con una sintassi che si avvicina leggermente a Java?
Spero di non aver sparato solo ca**ate.

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 10:21   #4
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104
IO!!! O.o'
mi piace un sacco l'argomento del parsing, è logica pura, ferrea e brainfucking!!
se mi spieghi di preciso la sintassi vorrei provare io scrivendo il parser a mano
Abbiamo un volontario.
La sintassi del linguaggio te la inventi, quelli sono degli esempi. Ovviamente Jocchan ti dara' molte dritte su quello che potrebbe servrigli in futuro. E' uno spike e non un task perche' ancora non abbiamo un'idea precisa di cio' di cui abbiamo bisogno e di una possibile soluzione.

Valuta molto seriamente ANTLR perche' sono gia' disponibili i task per Ant per automatizzare la creazione dello scanner e del parser a partire dalla grammatica direttamente dal nostro build script.

Divertiti
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 10:25   #5
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da DanieleC88
Anche a me piace l'idea, ma mi chiedevo: scriverlo in Python o Ruby a cosa servirebbe? In fondo andrebbe integrato con un progetto scritto in Java! (perdonate la niubbagine )
E, infine, mi chiedevo: si potrebbe provare a scriverlo in C++, in modo da utilizzare un linguaggio con una sintassi che si avvicina leggermente a Java?
Spero di non aver sparato solo ca**ate.

ciao
L'idea di un linguaggio di scripting per un gioco come il nostro e' l'essere SEMPLICE tanto da non richiedere alcuna nozione di programmazione per essere usato. Non e' proprio il caso di C++

Python e Ruby potrebbero essere soluzioni interessanti. Ad esempio in Fable hanno deciso di usare LUA per lo scripting e per tutto il game code; e' una soluzione interessantissima, ma credo che non si adatti ad un progetto semplice come il nostro. Ed inoltre Python e Ruby potrebbero essere troppo complessi per chi e' a totale digiuno di programmazione.

Ti vuoi occupare tu di vedere quanto sarebbe complessa una tale integrazione?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 10:49   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da fek
Valuta molto seriamente ANTLR perche' sono gia' disponibili i task per Ant per automatizzare la creazione dello scanner e del parser a partire dalla grammatica direttamente dal nostro build script.
hum, e allora su cosa mi butto per primo? parser fatto a manina o questo ANTLR?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 11:04   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 71104
hum, e allora su cosa mi butto per primo? parser fatto a manina o questo ANTLR?
Libera scelta tua. Personalmente inizierei da Antlr, ma vorrei esplorare entrambe le possibilita'. Sceglieremo quella che ci fa risparmiare piu' tempo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 11:57   #8
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da fek
L'idea di un linguaggio di scripting per un gioco come il nostro e' l'essere SEMPLICE tanto da non richiedere alcuna nozione di programmazione per essere usato. Non e' proprio il caso di C++
*ahem*
Ritiro tutto. XD
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 18:51   #9
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112

questo mi sa che assomiglia un pò al linguaggio di scripting utilizzato da ron jeffries per i customer test
o sbaglio?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 20:31   #10
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Interessante. Non vedo l'ora di avere tra le mani qualche spike da guardare. Dite che ce la facciamo ad avere qualcosa con ruby?

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 20:45   #11
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da VICIUS
Interessante. Non vedo l'ora di avere tra le mani qualche spike da guardare. Dite che ce la facciamo ad avere qualcosa con ruby?

ciao
Ruby, anche se consente una libertà totale, probabilmente potrebbe essere troppo complesso per l'uso che faremo di questo linguaggio di scripting.
Forse la cosa migliore è qualcosa di "fatto a mano" o, come ha scritto prima Fek, usare Antlr (che è integrato con Ant).
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 20:52   #12
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da Jocchan
Ruby, anche se consente una libertà totale, probabilmente potrebbe essere troppo complesso per l'uso che faremo di questo linguaggio di scripting.
Forse la cosa migliore è qualcosa di "fatto a mano" o, come ha scritto prima Fek, usare Antlr (che è integrato con Ant).
Ma è cosi carino!!!
Uff. Vabbe vediamo che cosa combina 71104.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 21:57   #13
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
il linguaggio usato da ron jeffries era ESTREMAMENTE semplice...
in pratica lo usava per testare un editor xml....
il customer scriveva in un file di testo il testo normale...
e in + aggiungeva i comandi da eseguire...
ad esempio...
*newline
e cose del genere..
in + la posizione attuale del cursore veniva identificata da | che veniva correttamente riconosciuto dal parser....
così facendo il customer poteva testare il tutto senza avere la minima conoscenza di programmazione!
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 22:17   #14
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da ^TiGeRShArK^
il linguaggio usato da ron jeffries era ESTREMAMENTE semplice...
in pratica lo usava per testare un editor xml....
il customer scriveva in un file di testo il testo normale...
e in + aggiungeva i comandi da eseguire...
ad esempio...
*newline
e cose del genere..
in + la posizione attuale del cursore veniva identificata da | che veniva correttamente riconosciuto dal parser....
così facendo il customer poteva testare il tutto senza avere la minima conoscenza di programmazione!
Bingo! ^_^
Il nostro linguaggio di scripting deve anche consentire di creare, ad esempio, delle cutscene tra uno stage e l'altro dello story mode, più molto altro (creare situazioni di gioco complesse per i vari test, e - perchè no? - anche di cambiare qualche regola del gioco per aggiungere facilmente nuove modalità).
Deve essere, insomma, flessibile, ma non troppo complesso, ed utilizzabile anche da chi ha conoscenze blande di programmazione... un'utopia? Credo proprio di no
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 08:58   #15
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ho dato un'occhiata ad ANTLR ed è MOLTO promettente (una figata per chi sviluppa linguaggi ).

Non so di preciso quali sono gli obiettivi di questo linguaggio di script (Jocchan, sei stato troppo generico. ), quindi quali sono tutte le tipologie di istruzioni che dovranno essere presenti / supportate, ma penso che un criterio per decidere quale strumento utilizzare si possa abbozzare dalle seguenti questioni:

1) abbiamo bisogno di definire funzioni / subroutine e/o variabili tipizzate e/o espressioni con operatori (o altro)?
2) gli script saranno costituiti tutti da comandi del tipo "Variabile = valore" oppure "Comando [parametro1, parametro2, ..., parametro n]"?

Nel primo caso opterei per ANTLR (o qualche altro generatore di parser "classico", YACC-like).
Nel secondo caso sarebbe sufficiente scrivere un parserino semplice semplice in Java stesso.

Ovviamente la prima soluzione richiede (molto) più tempo della seconda.

P.S. Finalmente m'è tornato il router e sono disponibile la sera o la mattina presto per lavorare a Diamonds. Peccato sia arrivato tardi in questo caso...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 09:02   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cdimauro
1) abbiamo bisogno di definire funzioni / subroutine e/o variabili tipizzate e/o espressioni con operatori (o altro)?
2) gli script saranno costituiti tutti da comandi del tipo "Variabile = valore" oppure "Comando [parametro1, parametro2, ..., parametro n]"?
1) Assolutamente no
2) Ce lo deve dire Jocchan, io propenderei per un linguaggio molto simile all'inglese.


Quote:
P.S. Finalmente m'è tornato il router e sono disponibile la sera o la mattina presto per lavorare a Diamonds. Peccato sia arrivato tardi in questo caso...
Bene, abbiamo un volontario per Jython
fek è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 09:22   #17
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Anche io propenderei per un linguaggio semplice e simile all'inglese, magari con la possibilità di svilupparlo man mano che andiamo avanti.
Insomma, se volessimo iniziare dalla parte dedicata alle cutscene, potremmo partire dall'introduzione di comandi come:

- wait (xx) <--- inutile spiegarlo
- show bg (personaggio) <--- mostra lo sfondo del personaggio dato
- dialogue (nomepersonaggio) (testo) <--- mostra una finestra con dei dialoghi in basso ed una gif "nomepersonaggio.gif" per l'intestazione della finestra
- show character (codice) (nomepersonaggio) (xx, yy) <--- mostra un pg alle coordinate date dandogli un codice identificativo
- move character (codice) (coord.destinazione) (velocità) <--- semplice traslazione fino alle coordinate date, con velocità settabile
- anim character (codice) (xx) <--- mostra l'animazione xx per il personaggio specificato
- delete character (codice) <--- elimina il pg
- show picture (codice) (xx, yy) (trasparenza%) (dimensioni) <--- idem, ma per una png statica con una % variabile di trasparenza
- move picture (codice) (coord.destinazione) (velocità) (trasparenza%) (dimensioni) <--- per spostare e trasformare la png in questione
- delete picture (codice) <--- elimina la png
- show text (coordinate) (font) (testo) <--- mostra del testo generico, con font variabile, allineato a sinistra e partendo dalle coordinate date
- flash screen (colore) (durata) <--- non credo ci sia bisogno di spiegarlo
- shake screen (potenza) (durata) <--- idem

Già con questi comandi, da implementare poco alla volta, si potrebbero creare praticamente TUTTE le cutscene del gioco
Per i comandi relativi al gioco vero e proprio devo valutare bene cosa serve, magari con un pò di consulenza tecnica


Vabbè le cutscene potremmo anche girarle con l'engine di The Movies...
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 26-11-2005 alle 09:17.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 11:32   #18
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Interessante finalmente qualcosa su cui lavorare un po' mentre gli altri stanno smanettando con i Task
Se non ho niente da fare qusto pomeriggio vedo di tirare fuori qualcosa di funzionate.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 11:59   #19
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ma questo "task" non se l'era accalappiato 71104?

Comunque proporrei una sintassi senza parentesi per gli eventuali argomenti dei comandi. Del tipo:

Show Character 'Luke Skywalker', 320, 240

Simpler is better
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2005, 12:18   #20
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Quote:
Originariamente inviato da cdimauro
Ma questo "task" non se l'era accalappiato 71104?
Me ne ero scordato. Sara per la prossima volta.

Quote:
Originariamente inviato da cdimauro
Comunque proporrei una sintassi senza parentesi per gli eventuali argomenti dei comandi. Del tipo:

Show Character 'Luke Skywalker', 320, 240

Simpler is better
Visto che ci siamo evitiamo anche le ",". Ci sono gia gli spazi a fare da separatori. Poi per le stringhe proporrei di usare " invece di '. Cosi evitiamo di dover pensare a sequenze di escape se ci serve l'appostrofo.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Fino a 5 anni di reclusione per un'immag...
Nuova CUPRA Born esclusivamente elettric...
Le 7 offerte Amazon migliori di oggi: da...
Fibra ottica in casa da 50 Giga simmetri...
Google pronta a investire fino a 40 mili...
Xiaomi H40 a 199€: robot aspirapolvere b...
La nuova BMW iX3 cambia colore davvero: ...
Cloud VPS con WireGuard: da Aruba Cloud ...
Mova P50 Pro Ultra o DREAME L40 Ultra AE...
GPU gaming Intel Arc al capolinea? Non s...
Stop agli update forzati su Windows 11: ...
GWM ad Auto China 2026: l'intelligenza n...
Final Fantasy XIV arriva su Switch 2 ad ...
Hyundai IONIQ V: ora il mercato cinese d...
Alien: Isolation 2 si mostra con un teas...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v