Zum Inhalt springen
uencoder

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

Verwandte Begriffe

References