Diagramme syntaxique

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Les diagrammes syntaxiques sont un moyen de représentation graphique utilisé dans le cadre des grammaires formelles. Ils constituent une alternative à une représentation en forme de Backus-Naur. Leur principal intérêt est d'ordre pédagogique puisqu'ils autorisent une perception souvent plus intuitive de la notion de grammaire que les représentations textuelles, qui sont elles mieux adaptées aux outils d'analyse syntaxique servant à la construction de compilateurs.

Principe[modifier | modifier le code]

Une grammaire exprimée sous la forme de diagrammes syntaxiques regroupera un ensemble de diagrammes. Chacun de ceux-ci correspond à un non-terminal. Un diagramme correspond au non-terminal principal auquel le texte doit correspondre pour faire partie du langage décrit par l'ensemble de diagrammes.

Chaque diagramme relie un point d'entrée à un point de sortie. Le diagramme décrit les chemins possibles entre ces deux points en passant par des formes faisant référence à des non-terminaux ou terminaux. Les non-terminaux sont représentés par des formes carrées alors que les terminaux sont représentés par des formes circulaires.

Exemple[modifier | modifier le code]

Un exemple classique de grammaire est celui des expressions arithmétiques. Donnons d'abord une grammaire simple en BNF :

<expression> ::= <terme> | <terme> "+" <expression>

<terme> ::= <facteur> | <facteur> "*" <facteur> 

<facteur> ::= <constante> | <variable> | "(" <expression> ")"
 
<variable> ::= "x" | "y" | "z" 

<constante> ::= <chiffre> | <chiffre> <constante>

<chiffre> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"


Cette grammaire peut aussi être exprimée en EBNF:

expression = terme, {"+" terme};

terme = facteur, {"*" facteur};

facteur = constante | variable | "(" , expression, ")";
 
variable = "x" | "y" | "z"; 

constante = chiffre, {chiffre};

chiffre = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";

Un ensemble de diagrammes syntaxiques équivalent :

Diagrammes pour une grammaire d'expressions simples

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]