Waarom is een lexicale analysator vereist?

Waarom is een lexicale analysator vereist?
Waarom is een lexicale analysator vereist?
Anonim

De lexicale analysator heeft nodig om alleen een eindige set geldige string/token/lexeme te scannen en te identificeren die bij de betreffende taal horen. Het zoekt naar het patroon dat wordt gedefinieerd door de taalregels. Reguliere expressies kunnen eindige talen uitdrukken door een patroon te definiëren voor eindige tekenreeksen.

Waarom hebben we een lexicale analysator nodig?

De rol van de Lexical Analyzer

De eerste fase van een compiler. Lexicale analyse: proces van het nemen van een invoerreeks van karakters (zoals de broncode van een computerprogramma) en het produceren van een reeks symbolen die lexicale tokens worden genoemd, of gewoon tokens, die gemakkelijker kunnen worden afgehandeld door een parser.

Wat is de rol van de lexicale analysator in de compiler?

Na ontvangst van een get-next-tohen-commando van de parser, leest de lexicale analysator invoertekens totdat hij het volgende token kan identificeren. de tokens beïnvloeden parseerbeslissingen, … de attributen beïnvloeden de vertaling van tokens.

Wat genereert een lexicale analysator?

De lexicale analysator (automatisch gegenereerd door een tool zoals lex, of met de hand gemaakt) leest een stroom tekens in, identificeert de lexemen in de stream en categoriseert ze in tokens. Dit wordt tokeniseren genoemd. Als de lexer een ongeldig token vindt, zal hij een fout rapporteren.

Wat is de behoefte van lexicale analysator en syntaxanalysator in verschillende fasen?

Een lexicale analysator is een patroonvergelijker. Een syntaxisanalyse omvat het vormen van een boom om misvormingen in de syntaxis van het programma te identificeren. Voor lexicale analyse worden vaak minder complexe benaderingen gebruikt. Syntaxisanalyse vereist een veel complexere aanpak.

Aanbevolen: