Kako Napisati Prevajalca

Kazalo:

Kako Napisati Prevajalca
Kako Napisati Prevajalca

Video: Kako Napisati Prevajalca

Video: Kako Napisati Prevajalca
Video: Kako napisat @ na kompjuteru ali laptopu 2024, Maj
Anonim

Obstaja veliko programskih jezikov, ki imajo svoje edinstvene značilnosti. Da pa bo program, napisan v katerem koli od njih, deloval, ga morate predvajati. Včasih se programski jeziki razvijejo za lastne potrebe (na primer podpora avtomatizaciji v velikih aplikacijah) in potem je treba napisati prevajalca.

Kako napisati prevajalca
Kako napisati prevajalca

Potrebno

  • - naravna slovnica ali BNF izvornega jezika;
  • - razvojna orodja.

Navodila

Korak 1

Pripravite podatke za leksikalno analizo besedila v izvornem jeziku. Naštejte vse žetone v jeziku. Razdelite jih na kategorije (ključne besede, številske in nizovne dobesedne oznake, identifikatorji, presledki, ločila itd.).

2. korak

Namestite modul ali lexer. Na vhodu bi moral prejeti "surovi" podatkovni tok, na izhodu pa seznam elementov, ki vsebujejo žetone in identifikatorje njihovih vrst v zaporedju, v katerem se pojavljajo v izvornem besedilu. Program za razčlenjevanje je lahko dokaj preprost " enonivojski "skener. Izvajanje obnovitve napak ni smiselno. Neveljavne znake je treba obravnavati kot napake.

3. korak

Pripravite podatke za razčlenitev. Na podlagi naravne slovnice ali BNF izvornega jezika sestavite njegovo slovnico LL1. Na podlagi te slovnice sestavite shemo razčlenjevanja glede na kategorije veljavnih žetonov in semantičnih konstruktov jezika.

4. korak

Izvedite modul ali razčlenjevalnik. Na vhodu mora prejeti seznam žetonov, pripravljenih v fazi leksikalnega razčlenjevanja. Razvijte algoritme rekurzivnega preverjanja skladnje z uporabo sheme, ki ste jo ustvarili v tretjem koraku. Če je potrebno, uporabite mehanizme za obnovo napak. Algoritmom za razčlenjevanje dodajte funkcionalnost, da sestavite drevo za izračun funkcij in metode razreda. S pravilno strukturo algoritmov za razčlenjevanje lahko to funkcionalnost izvedemo brez težav. S tem se izognemo potrebi po izvedbi kot ločenega modula. Ustvarjene podatkovne strukture morajo vsebovati sezname navodil v obliki "ravnih" zaporedij (aritmetični izrazi, razširjeni v obliko postfix, primerni za izračun na stroju skladov, zanke pretvorjene v kombinacije zaporedij računskih ukazov in pogojni ali brezpogojni preskoki itd.).

5. korak

Po potrebi ustvarite optimizacijski modul. Obdelati in preoblikovati mora podatkovne strukture, pripravljene v prejšnjem koraku. Algoritmi in metode optimizacije so zelo raznoliki.

6. korak

Razvijte generator kod. Pri obdelavi struktur, pripravljenih v četrtem ali petem koraku, mora preprosto pretvoriti zaporedja abstraktnih navodil v navodila za izvajanje na določeni platformi.

7. korak

Po potrebi ustvarite povezovalni program (povezovalnik). Nastali izvršljivi modul naj tvori z izbiro lokacije segmentov kode, izračunavanjem naslovov nalepk itd.

Priporočena: