Theory: LBA
Kontextsensitive Sprachen

Kontextsensitive Sprachen vom Sprachtyp 1 der Chomsky-Hierarchie bestehen aus überlappenden Abhängigkeiten zwischen den einzelnen Satzteilen. Es genügt daher kein PDA, um diese Strukturen zu erkennen, da die Abarbeitungsfolge nicht symmetrisch angeordnet ist (d.h. es besteht keine zentrale Einbettung). Sie ist beliebig und verlangt daher nach einem Automaten mit einem beliebigen Speicherzugriff.

Definition einer kontextsensitiven Grammatik:

 Eine Kette von Terminalen oder Nichtterminalen darf durch eine andere solche Kette ersetzt werden,
 sofern keine verkürzenden Regeln vorkommen.

Beispiel einer kontextsensitiven Grammatik (aus [Lin97 ]  , p.302):

 S -> abc
 S -> aAbc
 Ab-> bA
 Ac-> Bbcc
 bB-> Bb
 aB-> aa
 aB-> aaA

Die Grammatik erzeugt eine kontextsensitive Sprache der Form L = {an  bn cn; n >=1}

Beispiel der Abarbeitung für a3  b3  c3  :

S -> aAbc -> abAc -> abBbcc -> aBbbcc -> aaAbbcc -> aabAbcc -> aabbAcc -> aabbBbccc -> aabBbbccc -> aaBbbbccc -> aaabbbccc.

A und B werden dabei als "Boten" eingesetzt. Das A wandert zum ersten c, wodurch ein b und c kreiert wird. Das B wird dann nach links zum letzten a geschickt, worauf ein weiteres a entsteht. An diesem Beispiel sieht man auch die asymmetrische Abarbeitungsfolge.