Exemple de grammaire contextuelle

Il est permis pour β d`être la chaîne vide, et dans ce cas, il est habituel de le désigner par ε. Pour toutes les chaînes u, v (V ∪ Σ) ∗, {displaystyle u, vin (Vcup Sigma) ^ {*},} nous disons u rendements v, écrit comme u ⇒ ∗ v {displaystyle u {stackrel {*} {Rightarrow}} v} (ou u ⇒ ⇒ v {displaystyle uRightarrow Rightarrow v ,} dans certains manuels), si ∃ k ≥ 1 ∃ u 1 , ⋯, u k (V ∪ Σ) ∗ {displaystyle exists kgeq 1 , exists , U_ {1}, cdots, U_ {k} in (Vcup Sigma) ^ {*}} tel que u = u 1 ⇒ u 2 ⇒ ⋯ ⇒ u k = V {displaystyle u = , U_ {1} Rightarrow U_ {2} Rightarrow cdots Rightarrow U_ {k} , = v}. Solution: S → aAbc → abAc → abBbcc → aBbbcc → aaAbbcc → aabAbcc → aabbAcc → aabbbbccc → aabbbbccc → aabbbbccc → aaabbbccc la langue générée par cette grammaire est {anbncn | n ≥ 1}. En effet, chaque production d`une grammaire sans contexte est de la forme V → w où V est un seul symbole non terminal, et w est une chaîne de terminaux et/ou de non-terminaux; w peut être vide. Cependant, il existe certaines langues qui ne peuvent être générées que par des grammaires ambiguës; ces langues sont appelées langages intrinsèquement ambigus. Les syntaxes de certains langages de programmation visuels peuvent être décrites par des grammaires de graphe sensibles au contexte. Mais au-delà de ce mensonge grammaires sans contexte. Les bornes ici sont a et b, tandis que le seul non-terminal est S. À partir de 2010 [Update], il reste une question ouverte de savoir si chaque langage sensible au contexte peut être accepté par un LBA déterministe.

Ici, le non terminal T peut générer toutes les chaînes avec le même nombre de a comme b, le non terminal U génère toutes les chaînes avec plus de a que b et le non terminal V génère toutes les chaînes avec moins de a que b. Équivalent «signifie ici que les deux grammaires génèrent la même langue. Cette version simplifiée de l`arborescence d`analyse est appelée une arborescence de syntaxe abstraite (AST). Chaque grammaire sans contexte qui ne génère pas la chaîne vide peut être transformée en une seule dans laquelle il n`y a pas de ε-production (c`est-à-dire, une règle qui a la chaîne vide comme un produit). C`est un concept simple avec un nom de fantaisie.