A lineáris nyelvtan olyan környezetfüggetlen nyelvtan , amelynek bármely következtetési szabályának jobb oldala legfeljebb egy nem terminált tartalmaz.
A lineáris nyelv egy lineáris nyelvtan által generált nyelv.
Egy egyszerű példa a lineáris nyelvtanra egy nemterminális készlettel , egy ábécével , egy kezdő nemterminálissal és következtetési szabályokkal.
Ez a nyelvtan szabálytalan nyelvet generál .
A lineáris nyelvtanoknak speciális típusai vannak:
Ezen típusok mindegyike külön-külön pontosan leírja a reguláris nyelvek osztályát . A szabályos nyelvtan egy olyan nyelvtan, amely vagy bal-lineáris vagy jobb-lineáris.
A lineáris nyelvtan egy másik speciális típusa:
Új nem terminálok hozzáadásával bármely lineáris nyelvtan a fent leírt formára redukálható anélkül, hogy a nyelvtan által generált nyelv megváltozna. Például formába hozható
Így az ilyen típusú lineáris nyelvtanok ugyanazt a nyelvosztályt generálják, mint az önkényes lineáris nyelvtanok.
Minden reguláris nyelv lineáris. A lineáris, de nem reguláris nyelv klasszikus példája a fent leírt nyelv . Minden lineáris nyelv környezetfüggetlen . A környezetfüggetlen, de nem lineáris nyelvre példa a Dyck nyelv , amely szabályos zárójelsorozatokból áll. Így a reguláris nyelvek a lineáris nyelvek saját részhalmazai , amelyek viszont a kontextusmentes nyelvek saját részhalmazai.
Míg minden reguláris lineáris nyelv determinisztikus , vannak nem determinisztikus lineáris nyelvek. Ilyen nyelv például az ábécé feletti egyenletes hosszúságú palindromok nyelve , amelyet egy lineáris nyelvtan ad meg . Egy adott nyelv tetszőleges szavát nem tudja egy lenyomó automata elemezni anélkül, hogy elolvasná az összes szimbólumát, ezért a nyelv nem determinisztikus [1] . Az a probléma, hogy egy adott kontextusmentes nyelv lineáris-e, megoldhatatlan [2] .