Kā Rakstīt Tulku

Satura rādītājs:

Kā Rakstīt Tulku
Kā Rakstīt Tulku

Video: Kā Rakstīt Tulku

Video: Kā Rakstīt Tulku
Video: #25 Vai hiphopa valoda ir liela māksla? (ar subtitriem) | ansis 2024, Novembris
Anonim

Ir daudzas programmēšanas valodas, kurām ir savas unikālās īpašības. Bet, lai kādā no tām rakstītā programma darbotos, tā jāpārraida. Dažreiz programmēšanas valodas tiek izstrādātas viņu pašu vajadzībām (piemēram, automatizācijas atbalstam lielās lietojumprogrammās), un tad ir nepieciešams rakstīt tulku.

Kā rakstīt tulku
Kā rakstīt tulku

Nepieciešams

  • - pirmvalodas dabiskā gramatika vai BNF;
  • - izstrādes rīki.

Instrukcijas

1. solis

Sagatavojiet datus teksta leksiskai analīzei avota valodā. Uzskaitiet visus marķierus valodā. Sadaliet tos kategorijās (atslēgvārdi, ciparu un virkņu literāļi, identifikatori, atstarpes, pieturzīmes utt.).

2. solis

Ieviesiet moduli vai leksiku. Ievades laikā tam jāsaņem "neapstrādāta" datu straume, un izvadē jāveido saraksts ar elementiem, kas satur marķierus un to tipa identifikatorus secībā, kādā tie rodas avota tekstā. Parsēšanas programma var būt diezgan vienkārša " vienlīmeņa "skeneris. Kļūdu atkopšanas ieviešanai nav jēgas. Nederīgas rakstzīmes jāuzskata par kļūdām.

3. solis

Sagatavojiet datus parsēšanai. Balstoties uz avota valodas dabisko gramatiku vai BNF, sastādiet tās LL1 gramatiku. Pamatojoties uz šāda veida gramatiku, sastādiet parsēšanas shēmu attiecībā uz derīgo marķieru kategorijām un valodas semantiskajiem konstruktiem.

4. solis

Ieviesiet moduli vai parsētāju. Pēc ievades tam jāsaņem žetonu saraksts, kas sagatavots leksiskās parsēšanas stadijā. Izstrādājiet rekursīvos sintakses pārbaudes algoritmus, izmantojot shēmu, kuru izveidojāt trešajā solī. Ja nepieciešams, ieviesiet kļūdu atkopšanas mehānismus. Pievienojiet parsēšanas algoritmiem funkcionalitāti, lai izveidotu koku funkciju, klases metožu aprēķināšanai. Ar pareizu parsēšanas algoritmu struktūru šo funkcionalitāti var ieviest bez problēmām. Tas ļauj izvairīties no nepieciešamības to ieviest kā atsevišķu moduli. Izveidotajās datu struktūrās jāietver instrukciju saraksti "plakanu" secību veidā (aritmētiskās izteiksmes, kas paplašinātas postfix formā, kas piemērota skaitļošanai kaudzes mašīnā, cilpas, kas pārveidotas par skaitļošanas instrukciju secību kombinācijām un nosacītiem vai beznosacījuma lēcieniem utt.).

5. solis

Ja nepieciešams, izveidojiet optimizācijas moduli. Tam vajadzētu apstrādāt un pārveidot iepriekšējā posmā sagatavotās datu struktūras. Optimizācijas algoritmi un metodes ir ļoti dažādas.

6. solis

Izstrādājiet kodu ģeneratoru. Apstrādājot ceturtajā vai piektajā posmā sagatavotās struktūras, tam vienkārši jāpārveido abstraktu instrukciju secības instrukcijās izpildei noteiktā platformā.

7. solis

Ja nepieciešams, izveidojiet saistvielu programmu (saiti). Tam vajadzētu veidot iegūto izpildāmo moduli, izvēloties koda segmentu atrašanās vietu, aprēķinot etiķešu adreses utt.

Ieteicams: