Kontextfreie ''Grammatiken'' für Programmiersprachen können gewisse Anforderungen an ein gültiges Programm, wie etwa, dass jedem Zugriff auf eine Variable eine Deklaration derselben vorangehen müsse, nicht abbilden; insofern ist jede Beschreibung einer Programmiersprache allein durch eine kontextfreie Grammatik defizient.
''[[formale Sprache]]n'': Ein [[Semi-Thue-System]] aus Ersetzungsregeln in einem Syntaxbaum, das genau die Sätze einer bestimmten formalen Sprache zu generieren fähig ist