La grammaire sans contexte est une grammaire formelle, la syntaxe ou la structure d'un langage formel peut être décrite à l'aide de la grammaire sans contexte (CFG), un type de grammaire formelle. La grammaire comporte quatre tuples : (V,T,P,S).
V - It is the collection of variables or nonterminal symbols. T - It is a set of terminals. P - It is the production rules that consist of both terminals and nonterminals. S - It is the Starting symbol.>
Une grammaire est dite grammaire hors-contexte si toute production se présente sous la forme de :
G ->(V∪T)*, où G ∊ V>
- Et le côté gauche du G, ici dans l'exemple ne peut être qu'une variable, ce ne peut pas être un terminal.
- Mais sur le côté droit, il peut s'agir d'une variable ou d'un terminal ou des deux combinaisons de variable et de terminal.
L'équation ci-dessus indique que toute production contenant une combinaison de la variable « V » ou du terminal « T » est considérée comme une grammaire sans contexte.
Par exemple la grammaire A = { S, a,b, P,S} ayant la production :
- Ici S est le symbole de départ.
- {a,b} sont les terminaux généralement représentés par des petits caractères.
- P est variable avec S.
S->comme S-> bSa>
mais
a->bSa, ou a->ba n'est pas un CFG car sur le côté gauche il y a une variable qui ne suit pas la règle des CFG.>
Dans le domaine informatique, les grammaires hors contexte sont fréquemment utilisées, en particulier dans les domaines de la théorie du langage formel, du développement de compilateurs et du traitement du langage naturel. Il est également utilisé pour expliquer la syntaxe des langages de programmation et d’autres langages formels.
Limites de la grammaire sans contexte
Outre toutes les utilisations et l'importance de la grammaire sans contexte dans la conception du compilateur et dans le domaine de l'informatique, certaines limitations sont abordées, à savoir que les CFG sont moins expressifs et que ni l'anglais ni le langage de programmation ne peuvent être exprimés en utilisant la grammaire sans contexte. Grammaire. La grammaire sans contexte peut être ambiguë, ce qui signifie que nous pouvons générer plusieurs arbres d'analyse de la même entrée. Pour certaines grammaires, la grammaire sans contexte peut être moins efficace en raison de la complexité temporelle exponentielle. Et le rapport d'erreurs moins précis que le système de rapport d'erreurs CFG n'est pas aussi précis qu'il puisse donner des messages d'erreur et des informations plus détaillées.