Лексик анализатор нь эх файлаас хоосон зайг хэрхэн арилгах талаар лексик анализатор ямар үүрэг гүйцэтгэдэг вэ?
Лексик анализатор нь эх файлаас хоосон зайг хэрхэн арилгах талаар лексик анализатор ямар үүрэг гүйцэтгэдэг вэ?

Видео: Лексик анализатор нь эх файлаас хоосон зайг хэрхэн арилгах талаар лексик анализатор ямар үүрэг гүйцэтгэдэг вэ?

Видео: Лексик анализатор нь эх файлаас хоосон зайг хэрхэн арилгах талаар лексик анализатор ямар үүрэг гүйцэтгэдэг вэ?
Видео: Хятад хэл - Анхан шат - Үгсийн сан №06 2024, Дөрөвдүгээр сар
Anonim

The лексик анализаторын даалгавар (эсвэл заримдаа зүгээр л сканнер гэж нэрлэдэг) нь жетон үүсгэх явдал юм. Энэ нь кодыг бүхэлд нь (жишээ нь массив руу ачаалах замаар шугаман хэлбэрээр) эхнээс нь төгсгөл хүртэл тэмдэг тус бүрээр нь сканнердаж, тэмдэгт болгон бүлэглэх замаар л хийдэг.

Үүний нэгэн адил хүмүүс лексик анализатор ямар үүрэг гүйцэтгэдэг вэ?

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

Хоёрдугаарт, лексик анализаторын гаралт юу вэ? (I) The гаралт -ийн а лексик анализатор жетон юм. (II) printf("i=%d, &i=%x", i, &i) дахь токенуудын нийт тоо; нь 10. (III) Тэмдэгт хүснэгт нь массив, хэш хүснэгт, мод болон холбосон жагсаалтуудыг ашиглан хэрэгжилт байж болно.

Тиймээс лексик анализатор дахь алдааг сэргээх ямар арга хэмжээнүүд байж болох вэ?

Алдаа сэргээх in Лексик анализатор Энд хамгийн нийтлэг хэд хэдэн байна алдаа сэргээх техник: Үлдсэн оролтын нэг тэмдэгтийг устгана. Үймээн самууны горимд бид сайн тогтсон тэмдэгт хүрэх хүртэл дараалсан тэмдэгтүүдийг үл тоомсорлодог. Үлдсэн оролтод дутуу тэмдэгт оруулах замаар.

Бид лексик анализаторыг хэрхэн хэрэгжүүлэх вэ?

Лексик анализ байж болно хэрэгжүүлсэн Детерминист төгсгөлтэй автоматаар.

  1. Лексик анализатор эхлээд int-г уншаад түүнийг хүчинтэй гэж үзээд токен болгон хүлээн авна.
  2. max-ыг уншаад уншсаны дараа функцийн нэр хүчинтэй болох нь тогтоогдсон (
  3. int нь мөн тэмдэг бөгөөд дараа нь дахин i өөр тэмдэг болон эцэст нь;

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