|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 24
|
Inventare un linguaggio
Ciao a tutti!
Non so se questa è la sezione giusta, ma volevo levarmi una curiosità, anke se forse è un po' stupida. Mi sapete spiegare come si fa (a grandi linee) a creare un linguaggio di programmazione? Capisco che i programmi sono scritti coi linguaggi, ma questi come nascono? E' una curiosità che ho da tempo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Credo sia tutta una questione di compilatori. Il primo deve necessariamente essere il prodotto di un altro linguaggio. A questo punto il minimo è scrivere le funzioni di lettura e scrittura di byte in un file. Usi il compilatore estraneo per tradurre il tutto in codice macchina. Dopodichè, potendo leggere e scrivere byte una prima volta, puoi ricreare gli stessi flussi attraverso sorgenti scritti nel tuo linguaggio. Rimpiazzi il codice macchina prodotto dal compilatore alieno e hai tutto quello che ti serve.
In sostanza, una volta che puoi scrivere e leggere dei byte, sei autonomo anche in via retroattiva. |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
Quote:
- il codice viene compilato e quindi tradotto in linguaggio macchina (producendo un eseguibile) - il codice viene tradotto al volo durante l'esecuzione e dato in pasto alla macchina pezzo per pezzo ps. ci sono infinite sfumature in mezzo |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 24
|
Quindi dite che è legale se io creo un mio linguaggio che si posa su un altro linguaggio?
Ad esempio in un linguaggio che conosco per fare che viene mostrato un messaggio c'è la funzione show_message. Posso creare, ad esempio, una mia funzione mostra_msg che si basa su show_message? Grazie nuovamente |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Sep 2005
Messaggi: 24
|
vedi sopra
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Nov 2005
Messaggi: 151
|
sulla legalità credo che cambi da linguaggio a linguaggio, ma in ogni caso se ti fai un tuo linguaggio e lo usi solo tu non credo che faresti niente di male... però boh...
cmq in linea di massima mi pare che i vari compilatori che ci sono in giro prima trasformano il codice in linguaggio assembly, il quale poi viene tradotto in linguaggio macchina e quindi viene generato il file eseguibile (e ovviamente questo cambia in base all'architettura ed al sistema operativo usato)
__________________
ka0s |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:36.



















