Jaké jsou úkoly lexikálního analyzátoru, jak lexikální analyzátor odstraňuje mezery ze zdrojového souboru?
Jaké jsou úkoly lexikálního analyzátoru, jak lexikální analyzátor odstraňuje mezery ze zdrojového souboru?

Video: Jaké jsou úkoly lexikálního analyzátoru, jak lexikální analyzátor odstraňuje mezery ze zdrojového souboru?

Video: Jaké jsou úkoly lexikálního analyzátoru, jak lexikální analyzátor odstraňuje mezery ze zdrojového souboru?
Video: 3 проверенных лайфхака, как запомнить грамматику английского без зубрежки 2024, Listopad
Anonim

The úloha lexikálního analyzátoru (nebo někdy nazývaný jednoduše skener) je generovat tokeny. To se provádí jednoduše skenováním celého kódu (lineárním způsobem jeho načtením například do pole) od začátku do konce symbol po symbolu a seskupením do tokenů.

Stejně tak se lidé ptají, jaké jsou úkoly lexikálního analyzátoru?

Jako první fáze kompilátoru je hlavní úkol z lexikální analyzátor je číst vstupní znaky zdrojového programu, seskupovat je do lexémů a vytvářet jako výstup posloupnost tokenů pro každý lexém ve zdrojovém programu. Proud tokenů je odeslán do analyzátor pro syntaxi analýza.

Za druhé, jaký je výstup lexikálního analyzátoru? (I) The výstup z a lexikální analyzátor je tokeny. (II) Celkový počet tokenů v printf("i=%d, &i=%x", i, &i); je 10. (III) Tabulka symbolů může být implementována pomocí pole, hash tabulky, stromu a propojených seznamů.

Jaké jsou tedy možné akce pro obnovu chyb v lexikálním analyzátoru?

Obnovení po chybě v Lexikální analyzátor Zde je několik nejběžnějších zotavení po chybě techniky: Odebere jeden znak ze zbývajícího vstupu. V panickém režimu jsou po sobě následující postavy vždy ignorovány, dokud nedosáhneme dobře vytvořeného tokenu. Vložením chybějícího znaku do zbývajícího vstupu.

Jak implementujeme lexikální analyzátor?

Lexikální analýza může být implementováno s deterministickými konečnými automaty.

  1. Lexikální analyzátor nejprve přečte int a zjistí, že je platný a přijme jej jako token.
  2. čte max a po přečtení zjistí, že je platný název funkce (
  3. int je také token, pak opět i jako další token a nakonec;

Doporučuje: