Kakšne so naloge leksikalnega analizatorja, kako leksikalni analizator odstrani presledke iz izvorne datoteke?
Kakšne so naloge leksikalnega analizatorja, kako leksikalni analizator odstrani presledke iz izvorne datoteke?

Video: Kakšne so naloge leksikalnega analizatorja, kako leksikalni analizator odstrani presledke iz izvorne datoteke?

Video: Kakšne so naloge leksikalnega analizatorja, kako leksikalni analizator odstrani presledke iz izvorne datoteke?
Video: Почему у нас нет денег? 2024, April
Anonim

The naloga leksikalnega analizatorja (ali včasih imenovan preprosto skener) je ustvarjanje žetonov. To naredite preprosto tako, da skenirate celotno kodo (linearno tako, da jo na primer naložite v matriko) od začetka do konca simbol za simbolom in jih združite v žetone.

Prav tako se ljudje sprašujejo, kakšne so naloge leksikalnega analizatorja?

Kot prva faza prevajalnika je glavna nalogo od leksikalni analizator je prebrati vhodne znake izvornega programa, jih združiti v lekseme in ustvariti kot izhod zaporedje žetonov za vsak leksem v izvornem programu. Tok žetonov se pošlje v razčlenjevalnik za sintakso analiza.

Drugič, kakšen je rezultat leksikalnega analizatorja? (I) izhod od a leksikalni analizator je žetoni. (II) Skupno število žetonov v printf("i=%d, &i=%x", i, &i); je 10. (III) Tabela simbolov je lahko implementirana z uporabo matrike, razpršene tabele, drevesa in povezanih seznamov.

Kakšna so torej možna dejanja za odpravo napak v leksikalnem analizatorju?

Obnovitev napak v Leksikalni analizator Tukaj je nekaj najpogostejših obnovitev napak tehnike: odstrani en znak iz preostalega vnosa. V načinu panike so zaporedni znaki vedno prezrti, dokler ne dosežemo dobro oblikovanega žetona. Z vstavljanjem manjkajočega znaka v preostali vnos.

Kako implementiramo leksikalni analizator?

Leksikalna analiza je lahko izvaja z determinističnimi končnimi avtomati.

  1. Leksikalni analizator najprej prebere int in ugotovi, da je veljaven in sprejme kot žeton.
  2. max ga prebere in po branju ugotovi, da je veljavno ime funkcije (
  3. int je tudi žeton, nato spet i kot še en žeton in končno;

Priporočena: