Domanda

Qual è l'implementazione di Ericsson di Erlang e Erlang / OTP scritto e compilato in? E 'è il montaggio, C o Erlang stessa?

Aggiornamento 1: Grazie a DrJokepu. Se ho capito bene, Erlang source-to-VM compilatore è scritto in Erlang sé. Ma la VM è scritto in C.

Aggiornamento 2: Hynek-Pichi-Vychodil rilevare un sacco di dettagli

.
  • VM e HW driver che interagiscono:. In C
  • Compiler (a VM) e le librerie:. In Erlang
  • Estensioni:. Possibile in qualsiasi lingua, la scrittura di una porta o di un nodo Erlang in quella lingua
È stato utile?

Soluzione

Erlang stesso è scritto in Erlang. Sembra strano? Sì, perché è vero solo in parte. OK guardare più in dettaglio:

  1. Erlang preprocessore è scritto in Erlang.
  2. Erlang parser è scritto in Erlang.
  3. Erlang compilatore di BEAM (byte-code VM) è scritto in Erlang.
  4. Erlang compilatore di Hipe (estensione nativa VM) è scritto in Erlang.
  5. Erlang VM BEAM e Hipe è scritto principalmente in C.
  6. Linked-in driver sono scritti per lo più in C. (Essi sono collegati al VM e serve la comunicazione con il mondo esterno.)
  7. OTP è scritto in Erlang.
  8. Un altro porti o nodi possono essere scritti in qualsiasi lingua.

Altri suggerimenti

Erlang FAQ :

  

10,7 Come ha fatto il primo compilatore di Erlang ottenere scritto?

     

(o:? come è stato Erlang bootstrap ) In   Le parole di Joe:

     

Per prima cosa ho progettato una macchina astratta   per eseguire Erlang. Questo è stato chiamato il   Macchina JAM; Estratto JAM = Joe   Macchina.

     

Poi ho scritto un compilatore da Erlang a   Marmellata e un emulatore per vedere se il   macchina funzionava. Entrambi questi erano   scritto in Prolog.

     

Al tempo stesso Mike Williams ha scritto una   C emulatore per l'inceppamento.

     

Poi ho riscritto la marmellata erlang-to-   compilatore di Erlang e utilizzato prologo   compilatore per compilarlo. la risultante   codice oggetto è stato eseguito nell'emulatore C.   Poi abbiamo buttato via Prolog.

  • 65,9% del codice di Erlang è scritto in Erlang.
  • 13,4% di Erlang è scritto in XML.
  • 13,6% di Erlang è scritto in C.
  • 1,4% di Erlang è scritto in C ++
  • ...

Si può vedere un live e aggiornare le statistiche in Ohloh sito, questo rapporto genera da principale Erlang repository git.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top