Concept

Symboles terminaux et non terminaux

Résumé
En informatique, et notamment en théorie des langages, on appelle symboles terminaux et non terminaux les symboles utilisés dans les règles de production d'une grammaire formelle. Les symboles terminaux et les symboles non terminaux font partie d'ensembles disjoints. Les symboles terminaux sont des caractères littéraux qui peuvent apparaître dans les règles de production (en entrée ou sortie) d'une grammaire formelle et ne peuvent pas être subdivisés en éléments plus petits. Ce sont plus précisément des éléments qui ne peuvent pas être changés via les règles de la grammaire. Par exemple, une grammaire définie par les deux règles : x peut devenir xa x peut devenir ax présente a comme symbole terminal parce qu'aucune règle n'existe pour le changer en autre chose (cependant x est non terminal puisqu'il accepte deux règles pour être modifié). Un langage formel défini (ou engendré) par une grammaire particulière est l'ensemble des chaînes ou mots de caractères terminaux produites par la grammaire ; les non-terminaux n'étant pas construits entièrement de terminaux ne peuvent pas apparaître comme lexèmes appartenant au langage. Dans un contexte d'analyse syntaxique, étant opposé à la théorie des langages de programmation et des compilateurs, les termes symbole terminal et jeton sont souvent considérés synonymes. Selon le Dragon book : Les symboles terminaux, ou juste terminaux, sont les symboles élémentaires du langage défini par une grammaire formelle. Les symboles non terminaux, ou non-terminaux, sont les symboles qui peuvent être remplacés ; il y a donc des chaînes composées de symboles terminaux et non terminaux. Ils peuvent également être appelés variables syntactiques ou variables. Une grammaire formelle inclut un symbole de départ, membre désigné de l'ensemble des non-terminaux à partir duquel toutes les chaînes de caractères du langage peuvent être dérivées par des applications ou des règles de production successives. En fait, le langage défini par une grammaire est précisément l'ensemble des chaînes terminales qui peuvent être ainsi dérivés.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.