AccueilđŸ‡«đŸ‡·Chercher

Diagramme syntaxique

Un diagramme syntaxique est une forme de reprĂ©sentation graphique utilisĂ©e dans le cadre des grammaires formelles. Il s'agit d'une alternative Ă  une reprĂ©sentation en forme de Backus-Naur (BNF). 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

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

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

<expression> ::= <term> | <term> "+" <expression>
<term>       ::= <factor> | <factor> "*" <term>
<factor>     ::= <constant> | <variable> | "(" <expression> ")"
<variable>   ::= "x" | "y" | "z" 
<constant>   ::= <digit> | <digit> <constant>
<digit>      ::= "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

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.