Context-Free Grammar
In einer kontextfreien Grammatik ist die linke Seite jeder Produktion ein einzelnes Nichtterminal; sie kann rekursive Strukturen beschreiben und bildet die Grundlage der Syntax der meisten Programmiersprachen.
Zweck
Die syntaktische Struktur von Programmiersprachen beschreiben und das Parser-Design leiten.
Mechanismus
Regeln der Form A→α, wobei A ein Nichtterminal und α eine Zeichenkette aus Terminalen/Nichtterminalen ist. Kann Verschachtelung beschreiben (z. B. ausgeglichene Klammern, Ausdrücke), aber keine Kontextabhängigkeiten (z. B. Deklaration vor Verwendung von Variablen). Eine Chomsky-Grammatik vom Typ 2.
Anwendungsfälle
- Sprachdesign
- Parser
- Syntaxanalyse