Compilers

Welke uitspraak over de rol van lexicale analyse in een compiler is juist?

  1. AEr wordt in de vorm van een boom gecontroleerd of de statements van het programma voldoen aan de grammatica van de taal
  2. BDe reeks tekens van de broncode wordt in tokens verdeeld, zoals identifiers en operatoren
  3. CEr wordt gecontroleerd of de types van variabelen kloppen en of geen ongedefinieerde namen worden gebruikt
Antwoord en toelichting tonen

Antwoord: B. De reeks tekens van de broncode wordt in tokens verdeeld, zoals identifiers en operatoren

Lexicale analyse is de eerste fase van de compiler en verdeelt bijvoorbeeld "count = count + 1;" in de tokens identifier count, symbool =, identifier count, symbool +, getal 1 en symbool ;. Ook witruimte en commentaar worden hier verwijderd. Omdat de regels voor tokens met reguliere expressies kunnen worden geschreven, kunnen ze snel met eindige automaten worden verwerkt. Het in boomvorm controleren van de grammatica is de taak van de volgende fase, parsing (syntactische analyse), en het controleren van types en namen is de taak van semantische analyse.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. Wat doet de parsing (syntactische analyse) van een compiler?
  2. Welke fout wordt het best gevonden door de semantische analyse van een compiler?
  3. Welke uitspraak over een abstracte syntaxisboom (AST) is juist?
  4. Wat is het belangrijkste voordeel van het gebruik in een compiler van een tussenrepresentatie (IR) die niet van de brontaal en niet van de CPU afhangt?
  5. Welke uitspraak over een basisblok (basic block) is juist?

Vergelijkingen bij dit onderwerp