Орчуулагч хэрхэн бичих

Агуулгын хүснэгт:

Орчуулагч хэрхэн бичих
Орчуулагч хэрхэн бичих

Видео: Орчуулагч хэрхэн бичих

Видео: Орчуулагч хэрхэн бичих
Видео: Орчуулга хийхэд юунд анхаарах вэ? /Д.Жаргалсайхан/ 2024, May
Anonim

Өөрийн гэсэн өвөрмөц шинж чанартай програмчлалын олон хэл байдаг. Гэхдээ тэдгээрийн аль нэгэнд нь бичсэн хөтөлбөрийг ажиллуулахын тулд та үүнийг нэвтрүүлэх хэрэгтэй. Заримдаа програмчлалын хэлийг өөрсдийн хэрэгцээнд зориулж боловсруулдаг (жишээлбэл, том програмууд дахь автоматжуулалтыг дэмжих), дараа нь орчуулагч бичих шаардлагатай болдог.

Орчуулагч хэрхэн бичих
Орчуулагч хэрхэн бичих

Шаардлагатай

  • - эх хэлний байгалийн дүрмийн буюу BNF;
  • - хөгжлийн хэрэгсэл.

Зааварчилгаа

1-р алхам

Эх хэл дээр текстийг lexical дүн шинжилгээ хийх өгөгдлийг бэлтгэ. Хэл дээрх бүх жетонуудыг жагсаана уу. Тэдгээрийг ангилалд хуваана уу (түлхүүр үгс, тоон ба мөрний үсэг, таних тэмдэг, хоосон зай, цэг таслал гэх мэт).

Алхам 2

Модуль эсвэл lexer хэрэгжүүлнэ. Оролтод энэ нь "түүхий" өгөгдлийн урсгалыг хүлээн авах бөгөөд гаралт дээр токен агуулсан элементийн жагсаалт, тэдгээрийн эх танигч дахь дарааллын дарааллаар тэдгээрийн төрөл танигчийг бүрдүүлэх болно. Задлах програм нь нэлээд энгийн байж болно " нэг түвшний "сканнер. Алдааг сэргээх ажлыг хэрэгжүүлэх нь утгагүй юм. Буруу тэмдэгтүүдийг алдаа гэж үзэх хэрэгтэй.

Алхам 3

Өгөгдлийг задлан шинжлэхэд бэлтгэ. Эх хэлний байгалийн дүрмээр эсвэл BNF дээр үндэслэн LL1 дүрмээ зохио. Энэ төрлийн дүрмийг үндэслэн тухайн хэлний хүчин төгөлдөр жетон ба семантик бүтцийн ангиллын хувьд задлан шинжлэх схемийг гарга.

Алхам 4

Модуль эсвэл задлагчийг хэрэгжүүлэх. Оролтод энэ нь үг хэллэгийг задлах шатанд бэлтгэсэн жетоны жагсаалтыг хүлээн авах ёстой. Гурав дахь алхам дээр үүсгэсэн схемээ ашиглан синтакс шалгах рекурсив алгоритмуудыг боловсруул. Шаардлагатай бол алдаа засах механизмыг хэрэгжүүлнэ үү. Функц, ангийн аргуудыг тооцоолох модыг бүтээхдээ алгоритм дээр функциональ функцийг нэмж оруулаарай. Шинжилгээний алгоритмын зөв бүтэцтэй бол энэхүү ажиллагааг ямар ч асуудалгүйгээр хэрэгжүүлэх боломжтой. Энэ нь тусдаа модуль болгон хэрэгжүүлэх шаардлагаас зайлсхийдэг. Үүсгэсэн өгөгдлийн бүтцэд "хавтгай" дараалал хэлбэрээр зааврын жагсаалтыг агуулсан байх ёстой (арифметик илэрхийлэлийг стекийн машин дээр тооцоолоход тохиромжтой постфикс хэлбэрээр өргөжүүлсэн, гогцоонууд нь тооцооллын зааврын дарааллын хослол болон хөрвүүлэгдсэн нөхцөлт буюу болзолгүй үсрэлт гэх мэт)..

Алхам 5

Шаардлагатай бол оновчлолын модулийг бий болгох. Энэ нь өмнөх шатанд бэлтгэсэн өгөгдлийн бүтцийг боловсруулж, хувиргах ёстой. Оновчлолын алгоритм ба арга нь маш олон янз байдаг.

Алхам 6

Код үүсгэгчийг хөгжүүлэх. Дөрөв, тав дахь шатанд бэлтгэсэн бүтцийг боловсруулахдаа хийсвэр зааврын дарааллыг тодорхой платформ дээр гүйцэтгэх заавар болгон хувиргах хэрэгтэй.

Алхам 7

Шаардлагатай бол холбогч програм (холбогч) үүсгэх. Энэ нь кодын сегментүүдийн байршлыг сонгох, шошгуудын хаягийг тооцоолох гэх мэт үр дүнд бий болох модулийг бүрдүүлэх ёстой.

Зөвлөмж болгож буй: