Kaip Rašyti Vertėją

Turinys:

Kaip Rašyti Vertėją
Kaip Rašyti Vertėją

Video: Kaip Rašyti Vertėją

Video: Kaip Rašyti Vertėją
Video: Kaip rašyti rusiškai per google vertėją 2024, Balandis
Anonim

Yra daugybė programavimo kalbų, turinčių savo unikalias savybes. Bet norint, kad kuri nors iš jų parašyta programa veiktų, turite ją transliuoti. Kartais programavimo kalbos yra kuriamos jų pačių poreikiams (pavyzdžiui, automatizavimo palaikymas didelėse programose), tada reikia rašyti vertėją.

Kaip rašyti vertėją
Kaip rašyti vertėją

Būtinas

  • - originalo kalbos natūrali gramatika arba BNF;
  • - kūrimo priemonės.

Nurodymai

1 žingsnis

Paruoškite duomenis leksinei teksto analizei šaltinio kalba. Išvardinkite visus kalbos žetonus. Suskirstykite juos į kategorijas (raktiniai žodžiai, skaitiniai ir eilučių literalai, identifikatoriai, tarpai, skyrybos ženklai ir kt.).

2 žingsnis

Įdiegti modulį ar leksiką. Įvesties metu jis turėtų gauti „neapdorotą“duomenų srautą, o išvestyje suformuoti elementų, kuriuose yra žetonai ir jų tipo identifikatoriai, sąrašą tokia seka, kokia jie yra šaltinio tekste. Analizavimo programa gali būti gana paprasta. vieno lygio skaitytuvas. Klaidų atkūrimo įgyvendinimas nėra prasmingas. Neteisingi simboliai turėtų būti traktuojami kaip klaidos.

3 žingsnis

Paruoškite duomenis analizuoti. Remdamiesi natūralia šaltinio kalbos gramatika arba BNF, sudarykite jos LL1 gramatiką. Remdamiesi šio tipo gramatika, paruoškite analizės schemą pagal galiojančius žetonų ir kalbos prasminių konstrukcijų kategorijas.

4 žingsnis

Įdiekite modulį ar analizatorių. Įvesties metu jis turėtų gauti žetonų sąrašą, parengtą leksinio analizavimo etape. Sukurkite rekursinius sintaksės tikrinimo algoritmus naudodami schemą, kurią sukūrėte atlikdami trečią žingsnį. Jei reikia, įdiekite klaidų atkūrimo mechanizmus. Pridėkite funkcijų prie analizavimo algoritmų, kad sukurtumėte funkcijų, klasės metodų skaičiavimo medį. Tinkamai analizuojant algoritmus, šią funkciją galima įgyvendinti be jokių problemų. Taip išvengiama poreikio jį įgyvendinti kaip atskirą modulį. Sukurtose duomenų struktūrose turėtų būti nurodymai „plokščių“sekų pavidalu (aritmetinės išraiškos, išplėstos į postfix formą, tinkamos skaičiuoti kamino mašinoje, kilpos, paverstos skaičiavimo instrukcijų sekų deriniais ir sąlyginiais ar besąlyginiais šuoliais ir kt.).

5 žingsnis

Jei reikia, sukurkite optimizavimo modulį. Ji turėtų apdoroti ir transformuoti ankstesniame etape parengtas duomenų struktūras. Optimizavimo algoritmai ir metodai yra labai įvairūs.

6 žingsnis

Sukurkite kodų generatorių. Apdorodamas ketvirtame ar penktame etape paruoštas struktūras, jis tiesiog turėtų transformuoti abstrakčių instrukcijų sekas į instrukcijas, skirtas vykdyti konkrečioje platformoje.

7 žingsnis

Jei reikia, sukurkite segtuvų programą (susiejimą). Jis turėtų suformuoti gautą vykdomąjį modulį, pasirinkdamas kodo segmentų vietą, apskaičiuodamas etikečių adresus ir kt.

Rekomenduojamas: