Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа

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

Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа

Видео: Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа

Видео: Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Видео: дээрээс доош чиглэсэн хандлага ба доороос дээш хандлага[C][C++]| дээрээс доош, доороос дээш хандлагатай програмчлал 2024, Долдугаар сарын
Anonim

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

Дээд түвшний хэл нь компьютерийн программ бичихэд тусалдаг. Тэдгээрийг программист ойлгоход хялбар боловч компьютерээр ойлгохгүй. Тиймээс өндөр түвшний програм нь машины код руу хөрвүүлдэг. Хөрвүүлэгчийн даалгавар бол хүний унших боломжтой эх кодыг машинд уншигдах машин код болгон хөрвүүлэх явдал юм. Програм нь машины код руу хөрвүүлэхийн тулд хэд хэдэн үе шат дамждаг. Энэ бүх үйл явцыг хэл боловсруулах систем гэж нэрлэдэг. Үүний нэг нь эмхэтгэл юм. Синтакс анализатор эсвэл задлан шинжлэгч нь хөрвүүлэгчид байгаа бөгөөд энэ нь задлан шинжлэх ажлыг гүйцэтгэдэг.

Дээрээс доош задлах гэж юу вэ?

Програмчлалын хэл бүр тухайн хэлийг төлөөлөх дүрэмтэй байдаг. Синтакс анализатор эсвэл задлан шинжлэгч нь оролтын мөрийг авч, дүрмийн дагуу байгаа эсэхийг шалгадаг. Өөрөөр хэлбэл, дүрэм нь задлан шинжлэх мод ашиглан уг мөрийг үүсгэх ёстой.

Дээрээс доош задлан шинжлэхэд эхлэлийн тэмдэгтээс эхлэн задлан шинжилдэг бөгөөд өгөгдсөн оролтын мөрөнд хүрнэ. Дараах дүрмийн үйлдвэрлэлийн дүрмийг анхаарч үзээрэй. Оролтын мөр (w) нь cad.

S -> cЗар

A -> ab /a

Дээрээс доош задлан шинжилсний дараа задлах мод дараах байдалтай байна.

Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа

Зураг 01: Мод 1-ийг дээрээс доош задлан шинжлэх

S c A d, A нь b-г үүсгэдэг. Мөр нь cabd. Энэ нь шаардлагатай мөр биш юм. Тиймээс буцаах, өөрөөр хэлбэл бусад хувилбаруудыг ашиглах шаардлагатай.

Үүнтэй адил S нь c A d үйлдвэрлэдэг. А-д өөр сонголтыг хэрэглэснээр а. Одоо энэ нь шаардлагатай мөрийг өгдөг. Тиймээс задлан шинжлэгч энэ оролтын мөрийг хүлээн авдаг. Дээрээс доош задлан шинжилсний дараа задлах мод дараах байдалтай байна.

Дээшээ доошоо ба доороос дээшээ ялгах ялгаа 2-р зураг
Дээшээ доошоо ба доороос дээшээ ялгах ялгаа 2-р зураг
Дээшээ доошоо ба доороос дээшээ ялгах ялгаа 2-р зураг
Дээшээ доошоо ба доороос дээшээ ялгах ялгаа 2-р зураг

Зураг 02: Мод 2-ыг дээрээс доош задлан шинжлэх

Оролтын мөр (w) abbcde үед

Доорх дүрмийн үйлдвэрлэлийн дүрмийг анхаарч үзээрэй.

S -> aABe

A -> Abc/b

B -> d

Дээрээс доош задлан шинжилж, S -> aABe (A -> Abc орлуулах)

S -> aAbcBe (A -> b-г орлуулах)

S -> abbcBe (Б ->d орлуулж байна)

S -> abbcde

Орлуулалт нь эхлээд хамгийн зүүн талын хувьсагчаас эхэлж, дараа нь дараагийн баруун байрлал руу орно гэх мэт. Тиймээс энэ нь хамгийн зүүн гарал үүслийн аргыг баримталдаг. Цаашилбал, хувьсагч байгаа үед ямар үйлдвэрлэлийн дүрмийг сонгохоо шийдэх нь чухал.

Доороос дээш задлан шинжилдэг гэж юу вэ?

Доороос дээш задлан шинжлэх нь өөр аргаар явагдана. Шинжилгээ нь оролтын мөрөөс эхлэлийн тэмдэг хүртэл явагдана. Дараах дүрмийн үйлдвэрлэлийн дүрмийг анхаарч, оролтын мөрийг w ɛ cad болго.

S -> cЗар

A -> ab /a

Доороос дээш задлан шинжилсний дараа задлах мод дараах байдалтай байна.

Дээшээ доошоо ба доороос дээшээ ялгах гол ялгаа: Зураг 03
Дээшээ доошоо ба доороос дээшээ ялгах гол ялгаа: Зураг 03
Дээшээ доошоо ба доороос дээшээ ялгах гол ялгаа: Зураг 03
Дээшээ доошоо ба доороос дээшээ ялгах гол ялгаа: Зураг 03

Зураг 03: Модыг доороос дээш задлан шинжлэх

Өгөгдсөн мөр нь cad. a-г A үүсгэнэ. c, A, d нь нийлж S эхлэл тэмдгийг авна.

Оролтын мөр(w) abbcde үед

Доорх дүрмийн үйлдвэрлэлийн дүрмийг анхаарч үзээрэй.

S -> aABe

A -> Abc/b

B -> d

Доороос дээш задлан шинжлэхэд, S -> aABe (Б ->d орлуулж байна)

S -> aAde (A -> Abc орлуулах)

S -> aAbcde (Орлуулах A -> b)

S -> abbcde

Орлуулалт нь эхлээд баруун хамгийн их хувьсагчаас эхэлж, дараа нь дараагийн зүүн байрлал руу шилжинэ гэх мэт. Иймээс энэ нь зүүн зүүнээс гарган авах аргыг дагадаг.

Дээрээс доош болон доороос дээш задлан шинжлэх хоёрын ялгаа нь юу вэ?

Дээрээс доош задлан задлан шинжлэх нь эхлээд задлан шинжлэх модны хамгийн дээд түвшнийг харж, албан ёсны дүрмийн дүрмийг ашиглан задлан задлах модыг доош нь хийдэг задлан шинжлэх стратеги юм. Доороос дээш задлан шинжлэх нь задлан шинжлэх модны хамгийн доод түвшинг эхлээд харж, албан ёсны дүрмийн дүрмийг ашиглан задлан шинжлэх модыг дээшлүүлдэг. Шинжилгээ нь эхлэлийн тэмдэгээс эхлээд оролтын мөр хүртэл, дээрээс доош задлан шинжилнэ. Нөгөөтэйгүүр, задлан шинжлэх нь оролтын мөрөөс эхлэл тэмдэг хүртэл, доороос дээш задлан шинжилдэг.

Цаашилбал, дээрээс доош задлан шинжлэхэд гол шийдвэр нь мөрийг бүтээхийн тулд ямар үйлдвэрлэлийн дүрмийг сонгох, харин доороос доош задлан шинжлэхэд мөрийг багасгахын тулд үйлдвэрлэлийн дүрмийг хэзээ ашиглахыг сонгох явдал юм. эхлэл тэмдгийг авна. Түүнээс гадна дээрээс доош задлан шинжлэхэд зүүн гарал үүслийн ихэнх хэсгийг, доороос доош задлан шинжлэхэд баруун ихэнх деривацийг ашигладаг.

Хүснэгт хэлбэрээр дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Хүснэгт хэлбэрээр дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Хүснэгт хэлбэрээр дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа
Хүснэгт хэлбэрээр дээрээс доош болон доороос дээш задлан шинжлэлийн ялгаа

Хураангуй – Дээшээ доош, доороос дээш задлан шинжилнэ

Дээшээ доошоо болон доороос дээш задлан задлах хоёрын ялгаа нь дээрээс доош задлан шинжлэх нь хардаг тэмдэгтээс оролтын мөр хүртэл задлан шинжилдэг бол доороос доош задлах нь оролтын тэмдэгтээс эхлэл тэмдэг хүртэл задлан шинжилдэгт оршино.

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