Adloun

Quel langage cette grammaire engendre-t-elle ?

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 30 — Grammaires non contextuelles

Énoncé

Toujours avec et :

Corrigé

1. Une énumération exhaustive de tous les mots sur jusqu'à la longueur , chacun soumis à un analyseur, donne quatre mots :

Aucun mot de longueur , , , , .

2. Par induction mutuelle sur les dérivations. Notons la longueur.

Donc . Le pas d'induction est le milieu : un bloc ajoute toujours un multiple de .

3. Le langage est celui des textes balisés : une suite de blocs, chaque bloc étant un contenu entre une balise ouvrante a et sa fermante b, le tout terminé par un c — et le contenu d'un bloc est lui-même un texte de ce genre. C'est exactement la structure d'un document XML ou html, avec c pour « fin de la liste » et a…b pour une paire de balises.

Pourquoi cette grammaire est l'exemple du programme. Elle exhibe l'imbrication non bornée — la seule chose qu'un automate fini ne sait pas faire — sur trois lettres et deux règles. Et l'intersection avec donne à un c près : c'est le langage du chapitre chap:automates, habillé.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.