3. Analyse syntaxique
Le type de reconnaissance que permet l’analyse lexicale est limité et dès qu’on a des constructions un peu complexes dans un langage, il est indispensable de recourir à une analyse plus élaborée. Par exemple, dans l’instruction conditionnelle vue précédemment, les instructions autorisées après la condition parenthésée ou le mot else, peuvent, à leur tour, être des instructions conditionnelles. On dit dans un tel cas qu’on a une définition récursive. Et dès qu’une notion est définie récursivement dans un langage, c’est‐à‐dire dès que sa définition fait appel à la notion elle‐même, il y a nécessité d’utiliser des grammaires plus puissantes dans leur pouvoir d’expression et donc de recourir à des analyseurs plus puissants que les automates simples que nous venons de voir.
3.1 Grammaires algébriques ou non contextuelles
Nous avons déjà vu une portion de grammaire algébrique avec la règle BNF (on parle de production BNF) décrivant l’instruction conditionnelle de C.
Une grammaire algébrique regroupe toutes les définitions des symboles non terminaux qui y figurent, à...
La suite de cet article est réservée aux abonnés
Vous n'êtes pas abonné ?
Consultez gratuitement cet article.
votre période de consultation gratuite
Découvrez le plus important corpus scientifique et technique francophone
Plus de 8 000 articles, 13 univers, 400 bases documentaires, les plus grands auteurs, un enrichissement permanent et un éventail de services associés.
