View Full Version : come scrivere un linguaggio di programmazione
RaouL_BennetH
02-04-2005, 10:04
Salve a tutti :)
Avreste un pò di documentazione, oppure qualcuno che possa darmi qualche spunto su come 'nasce' un linguaggio di programmazione?
Mi stavo chiedendo infatti, per esempio, come vengono scritti i compilatori, gli ide, gli ambienti. Se nascono da un unico linguaggio oppure ognuno venga scritto a sua volta con un altro linguaggio.
Thx.
RaouL.
lombardp
02-04-2005, 11:43
Originariamente inviato da RaouL_BennetH
Salve a tutti :)
Avreste un pò di documentazione, oppure qualcuno che possa darmi qualche spunto su come 'nasce' un linguaggio di programmazione?
Mi stavo chiedendo infatti, per esempio, come vengono scritti i compilatori, gli ide, gli ambienti. Se nascono da un unico linguaggio oppure ognuno venga scritto a sua volta con un altro linguaggio.
Ovviamente compilatori e IDE sono programmi completamenti differenti. Il compilatore è qualcosa di strettamente legato al linguaggio (deve tradurlo nell'eseguibile), mentre l'IDE serve a mettere insieme e utilizzare il compilatore, l'editor di testi, il debugger, etc...
Tutti questi programmi (compilatore, debugger, editor, ...) possono essere scritti con qualsiasi linguaggio.
RaouL_BennetH
02-04-2005, 11:52
Originariamente inviato da lombardp
Ovviamente compilatori e IDE sono programmi completamenti differenti. Il compilatore è qualcosa di strettamente legato al linguaggio (deve tradurlo nell'eseguibile), mentre l'IDE serve a mettere insieme e utilizzare il compilatore, l'editor di testi, il debugger, etc...
Tutti questi programmi (compilatore, debugger, editor, ...) possono essere scritti con qualsiasi linguaggio.
Grazie per la risposta. Forse ho posto la domanda in maniera poco chiara :(
Mi piacerebbe capire (o almeno tentare di capire) se volessi realizzare il:
linguaggio "BennetH", oltre a studiare per i prossimi cento anni, da cosa dovrei partire? :D
Prima di tutto devi decidere le regole semantiche e sintattiche del linguaggio. Questo in genere si fa usando EBNF anche perchè se non ricordo male esistono dei programmi che dato in ingresso queste regole generano un piccolo parser da cui si puo partire per scrivere un compilatore.
ciao ;)
RaouL_BennetH
02-04-2005, 12:17
Originariamente inviato da VICIUS
Prima di tutto devi decidere le regole semantiche e sintattiche del linguaggio. Questo in genere si fa usando EBNF anche perchè se non ricordo male esistono dei programmi che dato in ingresso queste regole generano un piccolo parser da cui si puo partire per scrivere un compilatore.
ciao ;)
Grazie vicius, ho scaricato questo:
http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf
Comincio la lettura....... :)
end.is.forever
02-04-2005, 12:46
La cosa più importante da fare è stabilire cosa deve descrivere il linguaggio, poi si analizza e lo si cerca di scomporre in blocchi logici.
Dopo aver fatto questo si cerca il modo più semplice (per colui che dovra scrivere in quel linguaggio) di descrivere tutte le possibili situazioni del sistema.
Per tenere conto dell'efficienza di interpretazione nel fare questo bisogna conoscere un po di categorie dei linguaggi e di interpretazioni possibili (LL, LR...) e i vantaggi che ciascuna comporta a livello di efficienza del compilatore; e fare in modo che il linguaggio cada in una certa categoria, andando a verificare poi che tutte le regole siano rispettate.
Alla fine esprimi il linguaggio in una forma qualunque (regole, espressioni regolari, BNF, EBNF...).
Poi per interpretarlo o fai un parser (se hai rispettato particolari regole fai molto presto) oppure lo fai produrre da un generatore di parser o altre soluzioni runtime.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.