Commit f03ba64a authored by POTTIER Francois's avatar POTTIER Francois

Recoded a couple old files to UTF8.

parent 5982bc98
This diff is collapsed.
http://www.i3s.unice.fr/langages/pub/these-fortes.ps.gz
le générateur lalr produit des tables (et non du code) et va 2-3 fois plus vite que yacc;
le générateur lalr produit des tables (et non du code) et va 2-3 fois plus vite que yacc;
accepte l'EBNF; explique mieux les conflits que yacc. Cf J. Grosch, `Lalr---a generator for
efficient parsers', Software Practice & Experience 20(11):1115--1135, nov 1990. J'ai lu
l'article, il est sans intérêt. L'algorithme de rapport des conflits est celui de DeRemer
l'article, il est sans intérêt. L'algorithme de rapport des conflits est celui de DeRemer
et Pennello (1982).
Jean Gallier et Karl Schimpf ont écrit un outil nommé LR1GEN, mentionné
dans le CV en ligne de Gallier. Où le trouver? Cf. la thèse de Schimpf.
Le code semble identique à celui de Menhir en ce qui concerne l'algo de
Jean Gallier et Karl Schimpf ont écrit un outil nommé LR1GEN, mentionné
dans le CV en ligne de Gallier. Où le trouver? Cf. la thèse de Schimpf.
Le code semble identique à celui de Menhir en ce qui concerne l'algo de
Pager.
[Pager77]
......@@ -45,12 +45,12 @@ Pfahler: `Optimizing directly executable LR parsers', in Compiler Compilers (199
+ Aho and Ullman, `A technique for speeding up LR(k) parsers', SIAM J. Comput. 2(2), June 1973, 106-127.
Aho and Ullman, `Optimization of LR(k) parsers', J. Comput. Syst. Sci 6(6), December 1972, 573-602.
La notion de "don't care error entry" est apparemment importante pour éliminer les "single productions".
La notion de "don't care error entry" est apparemment importante pour éliminer les "single productions".
Soisalon-Soininen, `Inessential error entries and their use in LR parser optimization'.
Compression des tables:
Optimization of parser tables for portable compilers (Dencker, Dürre, Heuft)
Optimization of parser tables for portable compilers (Dencker, Dürre, Heuft)
Minimizing Row Displacement Dispatch Tables (Karel Driesen and Urs Holzle)
Autres outils:
......@@ -59,12 +59,12 @@ Jacc (Mark Jones) pour Java (http://web.cecs.pdx.edu/~mpj/jacc/index.html)
Merr (Clinton Jeffery) pour la gestion des erreurs (http://doi.acm.org/10.1145/937563.937566)
(http://unicon.sourceforge.net/merr/)
+ Idée d'optim pour la vitesse: mémoriser le suffixe de la pile dont la forme est connue
à l'aide de paramètres supplémentaires aux fonctions run (donc, si tout va bien, dans
les registres). Du coup, on alloue seulement lorsqu'on fait un décalage avec oubli, et
on accède à la mémoire seulement lorsqu'on fait une réduction avec redécouverte. Ca
+ Idée d'optim pour la vitesse: mémoriser le suffixe de la pile dont la forme est connue
à l'aide de paramètres supplémentaires aux fonctions run (donc, si tout va bien, dans
les registres). Du coup, on alloue seulement lorsqu'on fait un décalage avec oubli, et
on accède à la mémoire seulement lorsqu'on fait une réduction avec redécouverte. Ca
permettrait d'avoir gratuitement quelques optimisations du style "si on sait qu'on va
réduire tout de suite, alors on n'alloue pas de cellule sur la pile (shiftreduce)".
réduire tout de suite, alors on n'alloue pas de cellule sur la pile (shiftreduce)".
Quelques liens en vrac:
......@@ -83,7 +83,7 @@ http://compilers.iecc.com/comparch/article/94-03-067
Produire des tables. Voir
"Optimization of parser tables for portable compilers",
http://portal.acm.org/citation.cfm?id=1802&coll=portal&dl=ACM
(La compression peut-elle remplacer une erreur par une réduction?)
(La compression peut-elle remplacer une erreur par une réduction?)
Tarjan & Yao, "Storing a Sparse Table",
http://doi.acm.org/10.1145/359168.359175
Approche de Bison,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment