DOMANDA Si può creare un linguaggio con un altro linguaggio

  • Autore discussione Autore discussione Lugio
  • Data d'inizio Data d'inizio
Pubblicità
Per creare un linguaggio bisogna come prima cosa definire una grammatica, ma forse non ho capito io bene la domanda. Forse tu intendi un linguaggio interpretabile prima attraverso un altro, ma farebbe le stesse cose sostanzialmente.

:boh: ...
 
è possibile creare un linguaggio tramite un altro linguaggio con non sia l'assembly o il macchina?
Si.

In teoria lo puoi creare con qualsiasi linguaggio, puoi fare un motore che lo interpreta o scrivere un compilatore.
Come esercizio di studio non è male, come utilità effettiva invece... :rolleyes:
 
Si.

In teoria lo puoi creare con qualsiasi linguaggio, puoi fare un motore che lo interpreta o scrivere un compilatore.
Come esercizio di studio non è male, come utilità effettiva invece... :rolleyes:
Beh, se riuscissi a creare un linguaggio di una facilità tipo ruby e con le funzionalità del c++ non sarebbe male.
Logicamente dovrei però prima padroneggiare bene il linguaggio di base?
Inoltre ciò farebbe diventare il linguaggio molto più lungo dovendo compilare 2 volte?

Inviato da HUAWEI VNS-L31 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
Appena saprai programmare crei un linguaggio?
ci sono talmente tante cose TEORICHE da sapere obbligatoriamente anche solo prima di pensare a farlo...
 
Saper programmare un linguaggio per crearne un altro non è minimamente sufficiente.
Serve tanta teoria sia sui linguaggi che sugli elaboratori che su algoritmi e computabilità.
Alla specialistica di informatica tipicamente si affrontano questi argomenti e il massimo che comunque si fa è creare l'interprete per un linguaggio minimale con grammatica libera dal contesto.
 
Non volevo creare un linguaggio da un altro linguaggio quando PADRONATO, ma volevo semplicemente sapere se si poteva.
Probabilmente però, quando avrò acquisito abbastanza informazioni ( devo ancora iniziare la facoltà di informatica alle superiori) ci proverò

Inviato da HUAWEI VNS-L31 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
Non volevo creare un linguaggio da un altro linguaggio quando PADRONATO, ma volevo semplicemente sapere se si poteva.
Probabilmente però, quando avrò acquisito abbastanza informazioni ( devo ancora iniziare la facoltà di informatica alle superiori) ci proverò
"facoltà di informatica" alle superiori?
Ho inquadrato solo ora il contesto... si comunque quello che dici te si può, ma penso che avrai modo di affrontare seriamente certi argomenti fra non meno di 10 anni, continuando a studiare informatica anche all'università. Quello che ti interessa è un argomento molto, molto avanzato.
 
"facoltà di informatica" alle superiori?
Ho inquadrato solo ora il contesto... si comunque quello che dici te si può, ma penso che avrai modo di affrontare seriamente certi argomenti fra non meno di 10 anni, continuando a studiare informatica anche all'università. Quello che ti interessa è un argomento molto, molto avanzato.
Non mi veniva indirizzo informatico :).
Lo so che è un argomento "molto in la", la mia era solo una domanda, ora sicuramente no ...

Inviato da HUAWEI VNS-L31 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
Non mi veniva indirizzo informatico :).
Lo so che è un argomento "molto in la", la mia era solo una domanda, ora sicuramente no ...

Inviato da HUAWEI VNS-L31 tramite App ufficiale di Tom\\\'s Hardware Italia Forum

Se il linguaggio è compilato, devi per forza conoscere l'architettura, in particolare quella 80X86 a 32-bit e a 64-bit, su cui andrai a far girare il tuo linguaggio, oltre naturalmente alla piattaforma software (Windows) :asd:
Quindi il linguaggio Assembly ma in ogni caso devi "padroneggiare" perfettamente la manipolazione delle stringhe e l'OOP :sisi:
Il compilatore è suddiviso in 3 parti che devi "progettare": lo "scanner", che legge i vari "token", il "parser", che analizza l'array di stringhe e produce il cosiddetto "albero di token", e infine devi scrivere il "code generator" in grado di analizzare l'albero di token e produrre l'Assembly (compilato poi con TASM o NASM) :asd:
Inutile che ti dica che per la gestione dell'I/O devi conoscere le API del S.O. utilizzato :D
Se invece il tuo linguaggio è interpretato, i passi sono più o meno gli stessi, l'unica differenza è che l'albero di token non passa attraverso il code-generator ma viene "dato in pasto" all'interprete senza alcuna traduzione in Assembly (per la gestione dell'I/O puoi utilizzare, in questo caso, le funzioni del linguaggio di programmazione) :sisi:
In caso di linguaggio pseudo-compilato verrà generato codice byte-code e non Assembly ma per la sua interpretazione avrai bisogno di una "macchina virtuale", devi quindi creare un simulatore di componenti quali la CPU, la RAM, ecc. :asd:
Hai parecchio da studiare, buon lavoro :D
 
Se il linguaggio è compilato, devi per forza conoscere l'architettura, in particolare quella 80X86 a 32-bit e a 64-bit, su cui andrai a far girare il tuo linguaggio, oltre naturalmente alla piattaforma software (Windows) :asd:
Quindi il linguaggio Assembly ma in ogni caso devi "padroneggiare" perfettamente la manipolazione delle stringhe e l'OOP :sisi:
Il compilatore è suddiviso in 3 parti che devi "progettare": lo "scanner", che legge i vari "token", il "parser", che analizza l'array di stringhe e produce il cosiddetto "albero di token", e infine devi scrivere il "code generator" in grado di analizzare l'albero di token e produrre l'Assembly (compilato poi con TASM o NASM) :asd:
Inutile che ti dica che per la gestione dell'I/O devi conoscere le API del S.O. utilizzato :D
Se invece il tuo linguaggio è interpretato, i passi sono più o meno gli stessi, l'unica differenza è che l'albero di token non passa attraverso il code-generator ma viene "dato in pasto" all'interprete senza alcuna traduzione in Assembly (per la gestione dell'I/O puoi utilizzare, in questo caso, le funzioni del linguaggio di programmazione) :sisi:
In caso di linguaggio pseudo-compilato verrà generato codice byte-code e non Assembly ma per la sua interpretazione avrai bisogno di una "macchina virtuale", devi quindi creare un simulatore di componenti quali la CPU, la RAM, ecc. :asd:
Hai parecchio da studiare, buon lavoro :D
:asd:
Credo di si, ho capito solo linguaggio compilato e interpretato, windows e cpu/ram
Grazie per gli auguri, magari tra 15 anni vedrete il mio linguaggio :asd:

Inviato da HUAWEI VNS-L31 tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
Pubblicità
Pubblicità
Indietro
Top