Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - passi per creare un linguaggio di programmazione
Forum - Tutto e di + - passi per creare un linguaggio di programmazione

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
pfiore (Normal User)
Newbie


Messaggi: 16
Iscritto: 04/05/2009

Segnala al moderatore
Postato alle 15:08
Lunedì, 04/05/2009
non so se questa è il posto giusto dove scrivere xkè sono nuovo, cmq sto facendo delle ricerche sul web, su come si crea un linguaggio di programmazione. ho trovato delle informazioni, solo che sono un pò confuso. Mi potete spiegare ed elencare quali sono i vari passaggi ke si fanno in ordine. Io ho trovato questo:

1) Scrivere la grammatica e poi costruire il parsel e il lexer
2) Fare un compilatore da zero
3) Creare un compilatore, un assembler e il linker

Se voglio partire da zero, mi potete accennare quali sono i passaggi ke si fanno per primi o magari mi dite altro? tanto io a settembre vado all'università informatica, quindi voglio almeno sapere un pò già da ora.

per favore non date quelle risposte lunghe 1 rigo, io vorrei sapere...vi pregooo

PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 15:59
Lunedì, 04/05/2009
Testo quotato

Postato originariamente da pfiore:

non so se questa è il posto giusto dove scrivere xkè sono nuovo, cmq sto facendo delle ricerche sul web, su come si crea un linguaggio di programmazione. ho trovato delle informazioni, solo che sono un pò confuso. Mi potete spiegare ed elencare quali sono i vari passaggi ke si fanno in ordine. Io ho trovato questo:

1) Scrivere la grammatica e poi costruire il parsel e il lexer
2) Fare un compilatore da zero
3) Creare un compilatore, un assembler e il linker

Se voglio partire da zero, mi potete accennare quali sono i passaggi ke si fanno per primi o magari mi dite altro? tanto io a settembre vado all'università informatica, quindi voglio almeno sapere un pò già da ora.

per favore non date quelle risposte lunghe 1 rigo, io vorrei sapere...vi pregooo



Salve,

in realta' non mi sono mai occupato di un vero compilatore pero' per quel che ne so gli elementi da progettare dovrebbero essere:

1) grammatica del linguaggio ( non serve la programmazione per questo )
2) scanner ( inteso come lettore del codice )
3) analizzatore lessicale ( controlla le singole parole )
4) analizzatore sintattico ( controlla le "frasi" )
5) analizzatore semantico ( controlla, nel limite del possibile, il significato del codice; dovrebbe essere quello che scova i "warning" )
6) traduttore
7) linker

Ciao  :k:

Luigi

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 16:03
Lunedì, 04/05/2009
creare un linguaggio si programmazione è fuori dalla portata di molti programmatori, sicuramente non è semplice.
Se vuoi sapere già qualcosa prima di iniziare l'università piuttosto impara il C, credo che si studi in tutte le università di Ingegneria Informatica, ma non ne sono sicuro, mi mancano ancora 8 anni prima di andarci: io me lo sono imparato da solo a casa mia, con i libri di mia sorella, che fa quella facoltà.
Sicuramente non troverai un tutorial per creare un linguaggio di programmazione: forse qualche spunto, ma soprattutto ti servirà molta creatività per inventare qualcosa che ancora non esista, e quindi creare un linguaggio diverso da tutti gli altri.
Se ti vorrai cimentare in questa impresa mi piacerebbe partecipare alla creazione:D.

Ultima modifica effettuata da gio97 il 04/05/2009 alle 16:05
PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 17:08
Lunedì, 04/05/2009
si studia nel corso di laurea di Informatica (non ingegneria).. e più che tutorial troverai dei giganteschi libri...:rotfl:

io una idea per un linguaggio del tutto nuovo ce l'avrei.. ho anche cercato in giro e pare che nessuno ci abbia pensato! il problema è appunto la difficoltà (immensa) di scrivere un compilatore!!!

se qualcuno è interessato potremmo aprire un progetto... l'idea la espongosolo se se ne fa qualcosa!


Ultima modifica effettuata da eddiewrc il 04/05/2009 alle 17:12
PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 17:28
Lunedì, 04/05/2009
Salve,

l'idea del progetto per creare un compilatore sarebbe interessante ( sia per un linguaggio gia' esistente che per uno nuovo di zecca, naturalmente la seconda ipotesi sembra piu' stuzzicante ), se lo fate, tenetemi presente, tempo permettendo mi piacerebbe far parte del Team.
Per quanto riguarda tentativi precedenti, tempo fa' lessi un articolo riguardante un linguaggio creato da due studenti americani, si chiamava "Shakespeare" ( si proprio come lo scrittore ), tra le caratteristiche curiose c'e' che le variabili potevano avere solo il nome di un personaggio di una delle opere del suddetto, inoltre le istruzioni erano fatte in modo da sembrare battute di un copione ( con grammatica inglese )  :rotfl::rotfl::rotfl:

Ciao

Luigi

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 17:29
Lunedì, 04/05/2009
se proponi la tua idea innovativa io mi unisco, ma ad una condizione, se serve un altro linguaggio di programmazione si usa il C. :k:

PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 18:09
Lunedì, 04/05/2009
beh, era così ovvio che nn l'ho neanche detto.. il progetto sarebbe in C!

prendi il mio contatto di msn che ci accordiamo lì!

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:29
Lunedì, 04/05/2009
bah, più che un nuovo linguaggio(ne abbiamo fin troppi, ammettetelo)
servono nuove idee per il "modo" di programmare...
siamo andati dai linguaggi imperativi alla programmazione ad oggetti, passando anche per i linguaggi funzionali e per quelli logici. Ora serve qualcosa di nuovo per queste cose, non un altro linguaggio che di diverso ha solo il modo di dichiarare le variabili...


ps: non fraintendetemi, ognuno è libero di fare quello che vuole, però secondo me sarebbe più utile per tutti sprecare tempo ed energia in cose che serviranno poi a qualcosa e che non cadranno nel dimenticatoio dopo pochi mesi(se riescono a superare la fase di progettazione si intende, il 90% dei progetti amatoriali non arriva a compimento...vedi anche sezione progetti di questo stesso sito)

Ultima modifica effettuata da lorenzo il 04/05/2009 alle 18:34
PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 18:40
Lunedì, 04/05/2009
Testo quotato

Postato originariamente da lorenzo:

bah, più che un nuovo linguaggio(ne abbiamo fin troppi, ammettetelo)
servono nuove idee per il "modo" di programmare...
siamo andati dai linguaggi imperativi alla programmazione ad oggetti, passando anche per i linguaggi funzionali e per quelli logici. Ora serve qualcosa di nuovo per queste cose, non un altro linguaggio che di diverso ha solo il modo di dichiarare le variabili...


ps: non fraintendetemi, ognuno è libero di fare quello che vuole, però secondo me sarebbe più utile per tutti sprecare tempo ed energia in cose che serviranno poi a qualcosa e che non cadranno nel dimenticatoio dopo pochi mesi(se riescono a superare la fase di progettazione si intende, il 90% dei progetti amatoriali non arriva a compimento...)



Uhmm... non sono d'accordo, e' vero che di linguaggi ce n'e' fin troppi, ma mi sembra comunque un buon esercizio per programmare un po' piu' a basso livello e per capire meglio i "retroscena" della programmazione, sapendo come un programma passa per il compilatore si puo' ottimizzare il codice affinche' tale passaggio sia il piu' indolore possibile, e il risultato il piu' efficiente possibile, poi probabilmente il compilatore creato ( indipendentemente se di un linguaggio gia' esistente o di uno nuovo ) potrebbe non vedere mai la luce ( commercialmente parlando ), ma sarebbe comunque una bella esperienza.

Ciao.

Luigi

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo