Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pak0
    Registrato dal
    Dec 2004
    Messaggi
    263

    linuguaggi di programmazione: "come si creano?" e "come si modificano?"

    Ciao raga,

    mi sono sempre chiesto "ma come si creano i linguaggi di programmazione?", "con l'assemler o altro?" e "come si amplia un linguaggio, cioè creando nuove funzioni o altro?".

    Chi mi sa rispondere ?


  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    dipende, non è il linguaggio che crei, ma il compilatore.
    Il primo compilatore C fu fatto naturalmente in asm, l'unica cosa che raggiungeva un certo equilibrio tra semplicità di comprensione umana potenza nell'interfacciarsi con l'hw. Quando il C divenne lo strumento a quell'epoca più usato, più stabile ecc... ed hanno inventato il C++ hanno modificato il compilatore C, oppure hanno scritto totalmente un nuovo compilatore, ma non più in asm, in C visto che era a disposizione. Quando dopo hanno inventato Java oltre un compilatore, in C/C++ a questo punto, hanno fatto anche un interprete sempre in C/C++. Però è sempre stato possibile inserire un po di inline assembler, quando si deve andare molto in basso col livello di astrazione.

    Per creare nuove funzioni, o modifichi il compilatore o se intendi creare nuove api basta che le scrivi tu e le dai a disposizione ad altri developers sotto forma di sorgenti o di precompilati.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Da noi nell'esame di Linguaggi I abbiamo costruito un compilatore in C (per un linguaggio -molto semplice- inventato da noi).

    Fondamentalmente devi creare una serie di moduli che a partire dal file di input del tuo linguaggio cerchino di costruire i token (del tuo linguaggio) e facciano poi analisi sintattica, semantica, costruiscano la tavola dei simboli, la forma intermedia (albero) e la visitino in postordine (inoltre dovresti gestire gli errori, ...).

    Se nn erro in fondo al K&R dovresti trovare la grammatica del linguaggio (ma nn sono sicuro).

    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  4. #4
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Ma il compilatore non è un "semplice" convertitore da un qualsiasi linguaggio all'Assembly???

  5. #5
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Beh prima di convertire da x ad essembly il compilatore deve fare tante altre cosine
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.