Compiler
Welche Grammatikart dient zur Beschreibung der Grammatik vieler Programmiersprachen und bildet die Grundlage der Syntaxanalyse?
- ANur reguläre Grammatiken
- BGrammatik natürlicher Sprachen
- CKontextfreie Grammatik
Antwort und Erläuterung anzeigen
Antwort: C. Kontextfreie Grammatik
Verschachtelte Klammern oder Strukturen wie eine if-Anweisung innerhalb einer if-Anweisung lassen sich mit regulären Ausdrücken nicht ausdrücken. Die Grammatik der meisten Programmiersprachen wird durch kontextfreie Grammatiken beschrieben, also Mengen von Ersetzungsregeln wie „Ausdruck → Ausdruck + Term“, und die Syntaxanalyse beruht auf ihnen. Es gibt Analyseverfahren wie LL, bei dem Regeln von oben angewendet werden, und LR, bei dem von unten aufgebaut wird, sowie Werkzeuge, die Parser automatisch aus der Grammatik erzeugen. Reguläre Grammatiken eignen sich für die lexikalische Analyse und können verschachtelte Strukturen nicht behandeln.