Thèse soutenue

LR (K) parsing by reverse action

FR
Auteur / Autrice : JOSE FORTES GALVEZ
Direction : Olivier Lecarme
Type : Thèse de doctorat
Discipline(s) : Sciences et techniques
Date : Soutenance en 1999
Etablissement(s) : Nice

Résumé

FR

Depuis l'invention de la methode d'analyse lr(k) par donald knuth - il s'agit de la methode pratique la plus puissante pour analyser le texte source en meme temps qu'il est lu - de gros efforts de recherche se sont portes sur le developpement de techniques efficaces qui maitrisent le probleme de taille des analyseurs quand k1. Aucune n'a ete trouvee assez satisfaisante en pratique, alors que la methode lalr(1), moins puissante mais plus simple, est solidement etablie. Cette these pretend que cette situation n'est pas entierement satisfaisante pour la generation d'analyseurs syntaxiques pour des langages de programmation. Elle propose une nouvelle approche dite discriminante retrograde pour l'analyse syntaxique completement lr(k), qui procede par construction d'un automate d'etats finis qui explore un suffixe minimal de la pile d'analyse en partant de son sommet, de maniere a choisir les actions d'analyse ascendante a effectuer. La validite et les performances lineaires d'analyse de cette methode sont demontrees dans la these. La methode a ete implementee et evaluee pour des grammaires du monde reel. Elle produit des analyseurs de puissance lr(1) qui sont considerablement plus petits que les analyseurs produits par un generateur de type lalr(1), tel que yacc, et avec un cout supplementaire d'exploration de la pile qui s'avere negligeable. Tout ceci est possible parce que les analyseurs directs classiques construisent un automate de reconnaissance de la configuration formee de la pile entiere, analysee de bas en haut, et du prefixe du texte restant a lire, alors que l'automate discriminant retrograde n'utilise que tres peu des symboles du sommet de la pile, ou le maximum d'information d'analyse se trouve concentre. Cette idee avait deja ete utilisee par les concepteurs des analyseurs de precedence, il y a plus de trente ans.