Grammar
Eine Grammatik definiert über Produktionsregeln die legalen Satzstrukturen einer Sprache; verbreitete Formen sind BNF, EBNF und PEG.
Zweck
Die Syntax einer Sprache präzise definieren und damit Parser-Generierung und Syntaxvalidierung vorantreiben.
Mechanismus
BNF: Nichtterminal → Folge von Terminalen/Nichtterminalen. EBNF fügt syntaktischen Zucker für Wiederholung/Optional/Gruppierung hinzu. Kontextfreie Grammatiken (CFG) beschreiben die meisten Programmiersprachen. Die Teilklassen LL/LR sind effizient parsebar.
Anwendungsfälle
- Sprachdesign
- Parser-Generierung
- Syntaxvalidierung