Какви са задачите на лексикалния анализатор как лексикалния анализатор премахва белите пространства от изходния файл?
Какви са задачите на лексикалния анализатор как лексикалния анализатор премахва белите пространства от изходния файл?

Видео: Какви са задачите на лексикалния анализатор как лексикалния анализатор премахва белите пространства от изходния файл?

Видео: Какви са задачите на лексикалния анализатор как лексикалния анализатор премахва белите пространства от изходния файл?
Видео: Лексикографический порядок. Разбор. 2024, Ноември
Anonim

В задача на лексикален анализатор (или понякога наричан просто скенер) е да генерира токени. Това се прави просто чрез сканиране на целия код (по линеен начин чрез зареждането му например в масив) от началото до края символ по символ и групирането им в токени.

По същия начин хората питат какви са задачите на лексикалния анализатор?

Като първа фаза на компилатора, основната задача от лексикален анализатор е да прочете входните символи на изходната програма, да ги групира в лексеми и да произведе като изход поредица от токени за всяка лексема в изходната програма. Потокът от токени се изпраща до анализатор за синтаксис анализ.

Второ, какъв е изходът на лексикалния анализатор? (I) изход на а лексикален анализатор е токени. (II) Общ брой токени в printf("i=%d, &i=%x", i, &i); са 10. (III) Таблицата със символи може да бъде реализирана чрез използване на масив, хеш таблица, дърво и свързани списъци.

Следователно, какви са възможните действия за възстановяване на грешки в лексикалния анализатор?

Възстановяване на грешка в Лексикален анализатор Ето някои от най-често срещаните възстановяване на грешка техники: Премахва един знак от останалия вход. В режим на паника последователните знаци винаги се игнорират, докато стигнем до добре оформен жетон. Чрез вмъкване на липсващия знак в оставащия вход.

Как да внедрим лексикален анализатор?

Лексикален анализ може да бъде изпълнени с детерминираните крайни автомати.

  1. Лексикалният анализатор първо чете int и намира, че е валиден и приема като токен.
  2. max се чете от него и се установява, че е валидно име на функция след прочитане (
  3. int също е токен, след това отново i като друг токен и накрая;

Препоръчано: