Grammar
Une grammaire définit la structure légale des phrases d'un langage via des règles de production ; les formes courantes incluent BNF, EBNF et PEG.
Objectif
Définir précisément la syntaxe d'un langage, pilotant la génération d'analyseurs et la validation syntaxique.
Mécanisme
BNF : non-terminal → séquence de terminaux/non-terminaux. EBNF ajoute du sucre syntaxique pour répétition/optionnel/groupement. Les grammaires hors-contexte (CFG) décrivent la plupart des langages de programmation. Les sous-classes LL/LR s'analysent efficacement.
Cas d’usage
- Conception de langages
- Génération d'analyseurs
- Validation syntaxique