Cum Se Scrie Un Interpret

Cuprins:

Cum Se Scrie Un Interpret
Cum Se Scrie Un Interpret

Video: Cum Se Scrie Un Interpret

Video: Cum Se Scrie Un Interpret
Video: Cum se scrie o ecuație chimică 2024, Noiembrie
Anonim

Pentru a crea un interpret, trebuie să scrieți un analizor de cod sursă, o buclă de execuție a unui cod de bytec și o cantitate imensă de cod de bibliotecă standard. Nu este întotdeauna distractiv și ușor dacă nu utilizați instrumentele pe care compilatorul și analizorul le vor genera. Cu ei, va fi la fel de ușor ca decojirea perelor să scrieți un interpret de limbă pentru o persoană cu cunoștințe. Să vedem un exemplu de scriere a unui interpret cu JIT în PyPy.

Cum se scrie un interpret
Cum se scrie un interpret

Instrucțiuni

Pasul 1

Alegeți o limbă pentru scriere. În acest caz, este o prostie. Este foarte simplu și constă dintr-o bandă de numere întregi, care sunt inițializate la zero și 1 indicator către celula curentă din bandă. Există doar opt comenzi în limbă: ">" - mutați indicatorul în celula următoare"

Pasul 2

Scrieți un interpret în Python simplu. Contorul de instrucțiuni va stoca indicii pentru instrucțiunea curentă. Prima expresie va prelua declarația, după care mai multe instrucțiuni determină cum să o execute. Omiteți implementarea operatorilor „[” și „]”, deoarece aceștia trebuie să schimbe contorul de comandă în poziția aceleiași paranteze.

Pasul 3

Implementați o clasă de bandă care stochează un pointer către numărul curent și o bandă de numere întregi. Banda va crește după cum este necesar. Analizați din timp codul sursă, astfel încât mai multe comentarii să nu fie citite câte un octet. Creați și un dicționar de paranteză, astfel încât să puteți găsi paranteze potrivite, dacă este necesar.

Pasul 4

Executați def parse (program). Această funcție returnează șiruri numai din comenzi și din dicționarul de paranteză.

Pasul 5

Puneți totul împreună și aveți un interpret care lucrează la creier. Porniți interpretul Python și asigurați-vă că funcționează. Aceasta este doar o singură instanță de a scrie un interpret folosind cel mai simplu limbaj. Dacă doriți, puteți scrie în aproape orice limbă, familiarizându-vă cu proprietățile și scopul său.

Recomandat: