Aparté sur le succès de l'analyse syntaxique

Pour les langages de programmation, la BNF et les analyseurs LALR (Yacc/Lex) ont résolu le problème de manière satisfaisante. Le cadre général d'analyse des langages algébriques déterministes a été torché par Knuth avec les LR(k). Mais d'une part ça ne rend pas compte des aspects de sémantique statique plus dépendants du contexte que sont les règles de liaison et de typage. Et d'autre part (ou plutôt comme extension de ce problème de fond) ça ne suffit pas pour la langue naturelle, qui est inhéremment non-déterministe.

En fait le cadre décidable est trop restrictif. Il faut viser la complétude au sens de Turing, qui exprime qu'on a à notre disposition toute la puissance d'un langage de programmation universel.

The quest for a perfect parsing framework within controlled complexity bounds is a wild goose chase†.


† an attempt to accomplish something impossible or unlikely of attainment.
© Gérard Huet 2006 Top | MPRI fr | MPRI en | Previous | Next |