article

Bezkontextový jazyk je formální jazyk, který je akceptovaný nějakým zásobníkovým automatem. Bezkontextové jazyky mohou být vygenerovány bezkontextovými gramatikami (viz Chomského hierarchie).

Příklady


Typickým příkladem bezkontextového jazyka je L = \{a^nb^n:n\geq1\}, jazyk všech slov sudé délky ve kterých první polovinu tvoří znaky a a druhou polovinu znaky b. L je generovaný gramatikou S\to aSb ~|~ ab a je akceptovaný zásobníkovým automatem M=(\{q_0,q_1,q_f\}, \{a\}, \{a,b,z\}, \delta, q_0, \{q_f\}) kde \delta je definována následovně:

\delta(q_0, a, z) = (q_0, a)
\delta(q_0, b, ax) = (q_1, x)
\delta(q_1, b, ax) = (q_1, x)
\delta(q_1, b, bz) = (q_f, z)

Bezkontextové jazyky jsou využívány především v programovacích jazycích. Například dobře uzávorkovaný výraz (tj. výraz, kde počet '(' je stejný jako počet ')') je generován gramatikou S\to SS ~|~ (S) ~|~ \lambda nebo také S\to S(S) ~|~ \lambda

Uzávěrové vlastnosti


Bezkontextové jazyky jsou uzavřeny na zřetězení, sjednocení a rozdíl s regulárním jazykem, ale ne na průnik a rozdíl.

Podívejte se též na


Pro bezkontextové jazyky existuje lemma o vkládání (pumping lemma) které udává nezbytnou podmínku, kterou musí jazyk splňovat, aby byl bezkontextový.

Formální jazyky

Kontextfreie Sprache | Context-free language | Yhteydetön kieli | שפה חופשית הקשר | Linguaggio context-free | Język bezkontekstowy | Limbaje independente de context

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Bezkontextový jazyk".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld