Aké sú úlohy lexikálneho analyzátora, ako lexikálny analyzátor odstraňuje prázdne miesta zo zdrojového súboru?
Aké sú úlohy lexikálneho analyzátora, ako lexikálny analyzátor odstraňuje prázdne miesta zo zdrojového súboru?

Video: Aké sú úlohy lexikálneho analyzátora, ako lexikálny analyzátor odstraňuje prázdne miesta zo zdrojového súboru?

Video: Aké sú úlohy lexikálneho analyzátora, ako lexikálny analyzátor odstraňuje prázdne miesta zo zdrojového súboru?
Video: Что такое сроки 2024, Marec
Anonim

The úloha lexikálneho analyzátora (alebo niekedy nazývaný jednoducho skener) je generovať tokeny. To sa robí jednoducho skenovaním celého kódu (lineárne načítaním napríklad do poľa) od začiatku po koniec symbol po symbole a ich zoskupením do tokenov.

Ľudia sa tiež pýtajú, aké sú úlohy lexikálneho analyzátora?

Ako prvá fáza kompilátora je hlavná úloha z lexikálny analyzátor je čítať vstupné znaky zdrojového programu, zoskupovať ich do lexém a vytvárať ako výstup sekvenciu symbolov pre každú lexému v zdrojovom programe. Prúd tokenov sa odošle do syntaktický analyzátor pre syntax analýza.

Po druhé, aký je výstup lexikálneho analyzátora? (I) The výkon z a lexikálny analyzátor je tokeny. (II) Celkový počet tokenov v printf("i=%d, &i=%x", i, &i); sú 10. (III) Tabuľka symbolov môže byť implementovaná pomocou poľa, hašovacej tabuľky, stromu a prepojených zoznamov.

Aké sú teda možné akcie na obnovu chýb v lexikálnom analyzátore?

Obnova po chybe v Lexikálny analyzátor Tu je niekoľko najbežnejších zotavenie po chybe techniky: Odstráni jeden znak zo zostávajúceho vstupu. V režime paniky sú nasledujúce postavy vždy ignorované, kým nedosiahneme dobre vytvorený token. Vložením chýbajúceho znaku do zostávajúceho vstupu.

Ako implementujeme lexikálny analyzátor?

Lexikálna analýza môže byť implementovaná s deterministickými konečnými automatmi.

  1. Lexikálny analyzátor najprv prečíta int a zistí, že je platný a akceptuje ho ako token.
  2. prečíta ho max a po prečítaní zistí, že je platný názov funkcie (
  3. int je tiež token, potom opäť i ako ďalší token a nakoniec;

Odporúča: