Tõlgi loomiseks peate kirjutama lähtekoodi parseri, baitkoodi täitmise tsükli ja tohutul hulgal standardset raamatukogu koodi. See pole alati lõbus ja lihtne, kui te ei kasuta tööriistu, mille kompilaator ja parser teie jaoks genereerivad. Nende abil on teadmistega inimesele keeletõlgi kirjutamine sama lihtne kui pirnide koorimine. Vaatame PyPy-s JITiga tõlgi kirjutamise näidet.
Juhised
Samm 1
Valige kirjutamiseks keel. Sel juhul on see ajurünnak. See on väga lihtne ja koosneb täisarvude lindist, mis initsialiseeritakse nulli, ja ühest kursorist lindi praegusele lahtrile. Keeles on ainult kaheksa käsku: ">" - viige kursor järgmisesse lahtrisse,"
2. samm
Kirjutage tõlk tavalisse Pythoni. Käskude loendur salvestab praeguse juhise viited. Esimene avaldus otsib lause, mille järel mitu lauset määravad, kuidas seda täita. Jätke operaatorite "[" ja "]" juurutamine välja, kuna nad peavad muutma käsuluguri samasse sulgudesse.
3. samm
Rakendage lindiklass, mis salvestab kursori praegusele numbrile ja täisarvude lindi. Lint kasvab vastavalt vajadusele. Sõeluge lähtekood enne tähtaega, nii et mitu kommentaari ei loeta üks bait korraga. Looge ka sulgude sõnastik, nii et vajadusel leiate sealt sobivad sulgud.
4. samm
Käivitage def parsimine (programm). See funktsioon tagastab stringid ainult käskudest ja sulgude sõnastikust.
5. samm
Pange kõik kokku ja teil on töötav ajurünnaku tõlk. Käivitage Pythoni tõlk ja veenduge, et see töötab. See on vaid üks kord, kui tõlgiks kirjutatakse kõige lihtsamat keelt. Soovi korral võite kirjutada peaaegu igas keeles, olles tutvunud selle omaduste ja eesmärgiga.