Cum funcționează un analizator lexical?
Cum funcționează un analizator lexical?

Video: Cum funcționează un analizator lexical?

Video: Cum funcționează un analizator lexical?
Video: Lec-3: Lexical Analysis in Compiler Design with Examples 2024, Aprilie
Anonim

Analiza lexicală este prima fază a unui compilator. The analizator lexical descompune aceste sintaxe într-o serie de jetoane, eliminând orice spațiu alb sau comentarii din codul sursă. Dacă analizator lexical găsește un simbol invalid, generează o eroare. The analizorul lexical funcționează strâns cu sintaxa analizor.

În mod corespunzător, ce face un analizator lexical?

Lexerul, numit și analizor lexical sau tokenizer, este un program care defalcă intrare codul sursă într-o succesiune de lexeme. Se citește intrare codul sursă caracter cu caracter, recunoaște lexemele și emite o secvență de jetoane care descriu lexemele.

În mod similar, care este diferența dintre analizatorul lexical și cel de sintaxă? Principalul diferența dintre analiza lexicală și analiza sintaxei este asta analiza lexicala citește codul sursă câte un caracter și îl convertește în lexeme semnificative (token-uri), în timp ce analiza sintaxei ia acele jetoane și produce un arbore de analiză ca rezultat.

Ulterior, întrebarea este, 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.

Cum funcționează un Lexer?

The lexer doar transformă șirul fără sens într-o listă plată de lucruri precum „număr literal”, „șir literal”, „identificator” sau „operator” și poate do lucruri precum recunoașterea identificatorilor rezervați („cuvinte cheie”) și eliminarea spațiilor albe. Formal, a lexer recunoaște un set de limbi obișnuite.

Recomandat: