Com Escriure Un Intèrpret

Taula de continguts:

Com Escriure Un Intèrpret
Com Escriure Un Intèrpret

Vídeo: Com Escriure Un Intèrpret

Vídeo: Com Escriure Un Intèrpret
Vídeo: Escriure un correu electrònic 2024, Juliol
Anonim

Per crear un intèrpret, heu d'escriure un analitzador de codi font, un bucle d'execució de codis bytec i una gran quantitat de codi de biblioteca estàndard. No sempre és fàcil i divertit si no utilitzeu les eines que us generaran el compilador i l’analitzador. Amb ells, serà tan fàcil com desgranar peres escriure un intèrpret d’idiomes per a una persona coneixedora. Vegem un exemple d'escriptura d'un intèrpret amb JIT a PyPy.

Com escriure un intèrpret
Com escriure un intèrpret

Instruccions

Pas 1

Trieu un idioma per escriure. En aquest cas, és un fet de cervell. És molt senzill i consisteix en una cinta de enters, que s’inicialitzen a zero i 1 punter a la cel·la actual de la cinta. Només hi ha vuit ordres en l'idioma: ">": moveu el punter a la cel·la següent"

Pas 2

Escriviu un intèrpret en Python normal. El comptador d'instruccions emmagatzemarà indicacions sobre la instrucció actual. La primera expressió recuperarà la sentència, després de la qual diverses sentències determinaran com executar-la. Omet la implementació dels operadors "[" i "]", ja que han de canviar el comptador d'ordres a la posició del mateix parèntesi.

Pas 3

Implementar una classe de cinta que emmagatzemi un punter al número actual i una cinta de enters. La cinta creixerà segons sigui necessari. Analitzeu el codi font amb antelació per tal que no es llegeixin diversos comentaris d’un byte a la vegada. Creeu també un diccionari de parèntesi, de manera que hi pugueu trobar parèntesis coincidents si cal.

Pas 4

Executeu def parse (programa). Aquesta funció només retorna les cadenes de les ordres i del diccionari de parèntesi.

Pas 5

Poseu-ho tot en comú i teniu un intèrpret de pèls de cervell que funciona. Inicieu l'intèrpret de Python i assegureu-vos que funcioni. Això és només un cas únic d’escriure un intèrpret amb el llenguatge més senzill. Si ho desitgeu, podeu escriure en gairebé qualsevol idioma, ja que us heu familiaritzat amb les seves propietats i finalitats.

Recomanat: