Care sunt sarcinile analizorului lexical cum analizorul lexical elimină spațiile albe din fișierul sursă?
Care sunt sarcinile analizorului lexical cum analizorul lexical elimină spațiile albe din fișierul sursă?

Video: Care sunt sarcinile analizorului lexical cum analizorul lexical elimină spațiile albe din fișierul sursă?

Video: Care sunt sarcinile analizorului lexical cum analizorul lexical elimină spațiile albe din fișierul sursă?
Video: Compilation - Part Two: Lexical Analysis 2024, Noiembrie
Anonim

The sarcina de analizator lexical (sau uneori numit pur și simplu scaner) este de a genera jetoane. Acest lucru se face pur și simplu prin scanarea întregului cod (în mod liniar, încărcându-l, de exemplu, într-o matrice) de la început până la sfârșit simbol cu simbol și grupându-le în jetoane.

La fel, oamenii se întreabă, care sunt sarcinile analizorului lexical?

Ca primă fază a unui compilator, principalul sarcină al analizator lexical este să citiți caracterele de intrare ale programului sursă, să le grupați în lexeme și să produceți ca ieșire o secvență de jetoane pentru fiecare lexem din programul sursă. Fluxul de jetoane este trimis către analizator pentru sintaxă analiză.

În al doilea rând, care este rezultatul analizorului lexical? (I) Cel ieșire de a analizator lexical sunt jetoane. (II) Numărul total de jetoane în printf("i=%d, &i=%x", i, &i); sunt 10. (III) Tabelul de simboluri poate fi implementat prin utilizarea matricei, tabelului hash, arborelui și listelor legate.

În consecință, care sunt posibilele acțiuni de recuperare a erorilor în analizatorul lexical?

Recuperare eroare în Analizor lexical Iată câteva dintre cele mai comune recuperarea erorilor tehnici: elimină un caracter din intrarea rămasă. În modul de panică, personajele succesive sunt întotdeauna ignorate până ajungem la un token bine format. Prin introducerea caracterului lipsă în intrarea rămasă.

Cum implementăm analizatorul lexical?

Analiza lexicală poate fi implementate cu automatele finite deterministe.

  1. Analizorul lexical a citit mai întâi int și îl consideră valid și îl acceptă ca simbol.
  2. max este citit de acesta și s-a dovedit a fi numele funcției valide după citire (
  3. int este, de asemenea, un simbol, apoi din nou i ca un alt simbol și în final;

Recomandat: