Je ne m'attends pas à ce que vous trouviez une grande collection de grammaires organisées de cette façon à dessein. Que gagnerait l'organisateur en retour ?
Ce que vous pourriez faire, c'est de trouver des générateurs d'analyseurs qui correspondent à chaque famille (par exemple, LL(1)), et de chercher des instances d'entrées pour ce générateur d'analyseur, qui seront toutes LL(1) par définition. Par exemple, les grammaires d'ANTLR sont toutes des versions différentes de LL(k) selon la version d'ANTLR que vous choisissez (la description de la version d'ANTLR indiquera quel k elle accepte) ; les grammaires de Bison sont toutes LALR(1) [ignorant la récente option GLR]. Si vous allez sur mon site web (voir bio), vous verrez une liste de grammaires qui sont toutes à peu près sans contexte (c'est-à-dire, pas dans l'une des classes que vous décrivez).
EDIT : Notez la clarification de @Bart Kier que ANTLR peut explicitement marquer une grammaire comme LL(k) pour un k spécifique.
0 votes
Il s'agit d'algorithmes d'analyse syntaxique et non de grammaires. Voulez-vous dire des exemples de syntaxe qui nécessitent un type d'analyseur syntaxique ou un autre ?
12 votes
I pensez à que techniquement parlant, LL(1) etc. sont en fait des familles de grammaires. Les algorithmes d'analyse syntaxique qui portent leur nom sont des algorithmes qui peuvent analyser n'importe quelle grammaire faisant partie de la famille de langages.
0 votes
Je vous suggère de jeter un coup d'œil au site web d'ANTLR. Il contient de bonnes grammaires de langue ;)
0 votes
Si vous aviez une telle liste, que feriez-vous ? La liste des noms de chaque catégorie ne semble pas très intéressante en soi ; vous ne voulez sûrement pas traiter le contenu de toutes ces grammaires ?
4 votes
@Ira Baxter- J'enseigne actuellement un cours sur les compilateurs et je dois constamment voler des grammaires d'exemple à partir d'autres sources lorsque je veux montrer divers algorithmes d'analyse syntaxique. Il est délicat (mais faisable) de créer des grammaires non triviales dans ces catégories, et extrêmement difficile de faire des grammaires qui sont LR(1) mais pas LALR(1) ou LALR(1) mais pas SLR(1). J'espérais trouver des exemples de grammaires du monde réel qui correspondent à ces descriptions afin que je puisse me concentrer sur la présentation du matériel plutôt que sur la mise au point de grammaires.
0 votes
@Prashant Bhate, peut-être qu'il a disparu parce que vous le vouliez trop.
0 votes
Le livre dans ma réponse ci-dessous semble avoir de bons exemples qui conviendraient bien à une classe de compilateur.
2 votes
Les éléments suivants lien vers mon dépôt GitHub personnel contient 4 grammaires LL(1), une grammaire LR(0) qui n'est PAS LL(1), une SLR(1) qui n'est PAS LR(0) et une LR(1) qui n'est PAS SLR(1). TOUS les exemples peuvent être compilés et exécutés en écrivant simplement "make" dans le terminal de tout système d'exploitation de type *.nix.