Come Scrivere Un Interprete

Sommario:

Come Scrivere Un Interprete
Come Scrivere Un Interprete

Video: Come Scrivere Un Interprete

Video: Come Scrivere Un Interprete
Video: #cosafauntraduttore: Martina Lunardelli, interprete di conferenza e traduttrice 2024, Novembre
Anonim

Per creare un interprete, devi scrivere un parser del codice sorgente, un ciclo di esecuzione del bytecode e un'enorme quantità di codice della libreria standard. Non è sempre facile e divertente se non usi gli strumenti che il compilatore e il parser genereranno per te. Con loro, sarà facile come sgusciare le pere scrivere un interprete linguistico per una persona esperta. Diamo un'occhiata a un esempio di scrittura di un interprete con JIT in PyPy.

Come scrivere un interprete
Come scrivere un interprete

Istruzioni

Passo 1

Scegli una lingua per la scrittura. In questo caso, è un brainfuck. È molto semplice e consiste in un nastro di numeri interi, inizializzati a zero, e 1 puntatore alla cella corrente nel nastro. Ci sono solo otto comandi nella lingua: ">" - sposta il puntatore sulla cella successiva,"

Passo 2

Scrivi un interprete in semplice Python. Il contatore delle istruzioni memorizzerà i puntatori all'istruzione corrente. La prima espressione recupererà l'istruzione, dopodiché diverse istruzioni determineranno come eseguirla. Omettere l'implementazione degli operatori "[" e "]", poiché devono modificare il contatore dei comandi nella posizione della stessa parentesi.

Passaggio 3

Implementa una classe Tape che memorizzi un puntatore al numero corrente e un nastro di numeri interi. Il nastro crescerà secondo necessità. Analizza il codice sorgente in anticipo in modo che più commenti non vengano letti un byte alla volta. Crea anche un dizionario di parentesi, in modo da poter trovare le parentesi corrispondenti se necessario.

Passaggio 4

Eseguire def parse (programma). Questa funzione restituisce le stringhe solo dai comandi e dal dizionario delle parentesi.

Passaggio 5

Metti tutto insieme e avrai un fottuto interprete funzionante. Avvia l'interprete Python e assicurati che funzioni. Questa è solo una singola istanza di scrittura di un interprete usando il linguaggio più semplice. Se lo desideri, puoi scrivere in quasi tutte le lingue, avendo familiarizzato con le sue proprietà e il suo scopo.

Consigliato: