@String{acta   = "Acta Informatica"}

@String{aw     = "Addison-Wesley"}

@String{cacm   = "Communications of the {ACM}"}

@String{cc     = "Compiler Construction (CC)"}

@String{cup    = "Cambridge University Press"}

@String{entcs  = "Electronic Notes in Theoretical Computer Science"}

@String{jfla   = "Journées Francophones des Langages Applicatifs (JFLA)"}

@String{sle    = "Software Language Engineering"}

@String{spe    = "Software: Practice and Experience"}

@String{toplas = "ACM Transactions on Programming Languages and
                 Systems"}

@Misc{compcert-github,
  author       = "Xavier Leroy",
  title        = "The {CompCert C} verified compiler",
  year         = "2014",
  howpublished = "\url{https://github.com/AbsInt/CompCert}",
}

@Misc{obelisk,
  author       = {L\'elio Brun},
  title        = {Obelisk},
  howpublished = {\url{https://github.com/Lelio-Brun/Obelisk}},
  year         = {2017},
}

@Book{aho-86,
  author       = "Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman",
  title        = "Compilers: Principles, Techniques, and Tools",
  publisher    = aw,
  year         = "1986",
}

@Book{appel-tiger-98,
  author       = "Andrew Appel",
  title        = "Modern Compiler Implementation in {ML}",
  publisher    = cup,
  year         = "1998",
  URL          = "http://www.cs.princeton.edu/~appel/modern/ml/",
}

@Article{bhamidipaty-proebsting-98,
  author       = "Achyutram Bhamidipaty and Todd A. Proebsting",
  title        = "Very Fast {YACC}-Compatible Parsers (For Very Little
                 Effort)",
  journal      = spe,
  year         = "1998",
  volume       = "28",
  number       = "2",
  pages        = "181--190",
  URL          = "http://www.cs.arizona.edu/people/todd/papers/TR95-09.ps",
}

@Article{dencker-84,
  author       = "Peter Dencker and Karl Dürre and Johannes Heuft",
  title        = "Optimization of parser tables for portable compilers",
  journal      = toplas,
  volume       = "6",
  number       = "4",
  year         = "1984",
  pages        = "546--572",
  URL          = "http://doi.acm.org/10.1145/1780.1802",
}

@Article{deremer-pennello-82,
  author       = "Frank DeRemer and Thomas Pennello",
  title        = "Efficient Computation of ${LALR}(1)$ Look-Ahead Sets",
  journal      = toplas,
  volume       = "4",
  number       = "4",
  year         = "1982",
  pages        = "615--649",
  URL          = "http://doi.acm.org/10.1145/69622.357187",
}

@Manual{bison,
  title        = "Bison",
  author       = "Charles Donnelly and Richard Stallman",
  year         = "2015",
  URL          = "http://www.gnu.org/software/bison/manual/",
}

@Book{hopcroft-motwani-ullman-00,
  author       = "John E. Hopcroft and Rajeev Motwani and Jeffrey D.
                 Ullman",
  title        = "Introduction to Automata Theory, Languages, and
                 Computation",
  publisher    = aw,
  year         = "2000",
  URL          = "http://www-db.stanford.edu/~ullman/ialc.html",
}

@Article{horspool-faster-90,
  author       = "R. Nigel Horspool and Michael Whitney",
  title        = "Even Faster {LR} Parsing",
  journal      = spe,
  year         = "1990",
  volume       = "20",
  number       = "6",
  pages        = "515--535",
  URL          = "http://www.cs.uvic.ca/~nigelh/Publications/fastparse.pdf",
}

@Article{jeffery-03,
  author       = "Clinton L. Jeffery",
  title        = "Generating {LR} syntax error messages from examples",
  journal      = toplas,
  volume       = "25",
  number       = "5",
  year         = "2003",
  pages        = "631--640",
  URL          = "http://doi.acm.org/10.1145/937563.937566",
}

@InCollection{johnson-yacc-79,
  author       = "Steven C. Johnson",
  title        = "{Yacc}: Yet Another Compiler Compiler",
  booktitle    = "{UNIX} Programmer's Manual",
  volume       = "2",
  publisher    = "Holt, Rinehart, and Winston",
  pages        = "353--387",
  year         = "1979",
  URL          = "http://dinosaur.compilertools.net/",
}

@InProceedings{jourdan-leroy-pottier-12,
  author       = "Jacques-Henri Jourdan and François Pottier and Xavier
                 Leroy",
  title        = "Validating ${LR}(1)$ Parsers",
  year         = "2012",
  booktitle    = esop,
  publisher    = springer,
  series       = lncs,
  volume       = "7211",
  pages        = "397--416",
  URL          = "http://gallium.inria.fr/~fpottier/publis/jourdan-leroy-pottier-validating-parsers.pdf",
}

@Article{klint-laemmel-verhoef-05,
  author       = "Paul Klint and Ralf L{\"a}mmel and Chris Verhoef",
  title        = "Toward an engineering discipline for grammarware",
  journal      = tosem,
  volume       = "14",
  number       = "3",
  year         = "2005",
  pages        = "331--380",
  URL          = "http://www.few.vu.nl/~x/gw/gw.pdf",
}

@Article{knuth-lr-65,
  author       = "Donald E. Knuth",
  title        = "On the translation of languages from left to right",
  journal      = "Information \& Control",
  year         = "1965",
  volume       = "8",
  number       = "6",
  pages        = "607--639",
  URL          = "http://www.sciencedirect.com/science/article/pii/S0019995865904262",
}

@Misc{compcert,
  author       = "Xavier Leroy",
  title        = "The {CompCert C} compiler",
  year         = "2015",
  howpublished = "\url{http://compcert.inria.fr/}",
}

@Misc{ocaml,
  author       = "Xavier Leroy and Damien Doligez and Alain Frisch and
                 Jacques Garrigue and Didier Rémy and Jérôme
                 Vouillon",
  title        = "The {OCaml} system: documentation and user's manual",
  year         = "2016",
  URL          = "http://caml.inria.fr/",
}

@Article{pager-77,
  author       = "David Pager",
  title        = "A Practical General Method for Constructing ${LR}(k)$
                 Parsers",
  journal      = acta,
  year         = "1977",
  volume       = "7",
  pages        = "249--268",
  URL          = "http://dx.doi.org/10.1007/BF00290336",
}
@InProceedings{pottier-reachability-cc-2016,
  author       = "François Pottier",
  title        = "Reachability and error diagnosis in {LR}(1) parsers",
  booktitle    = cc,
  year         = "2016",
  pages        = "88--98",
  URL          = "http://gallium.inria.fr/~fpottier/publis/fpottier-reachability-cc2016.pdf",
}

@Article{pottier-regis-gianas-typed-lr,
  author       = "François Pottier and Yann {Régis-Gianas}",
  title        = "Towards efficient, typed {LR} parsers",
  URL          = "http://gallium.inria.fr/~fpottier/publis/fpottier-regis-gianas-typed-lr.pdf",
  year         = "2006",
  pages        = "155--180",
  journal      = entcs,
  volume       = "148",
  number       = "2",
}

@Manual{tarditi-appel-00,
  title        = "{ML-Yacc} User's Manual",
  author       = "David R. Tarditi and Andrew W. Appel",
  year         = "2000",
  URL          = "http://www.smlnj.org/doc/ML-Yacc/",
}

@Article{tarjan-yao-79,
  author       = "Robert Endre Tarjan and Andrew Chi-Chih Yao",
  title        = "Storing a sparse table",
  journal      = cacm,
  volume       = "22",
  number       = "11",
  year         = "1979",
  pages        = "606--611",
  URL          = "http://doi.acm.org/10.1145/359168.359175",
}

@Article{jourdan-pottier-17,
  author       = "Jacques-Henri Jourdan and François Pottier",
  title        = "A simple, possibly correct {LR} parser for {C11}",
  journal      = "ACM Transactions on Programming Languages and
                 Systems",
  month        = aug,
  year         = "2017",
  volume       = "39",
  number       = "4",
  pages        = "14:1--14:36",
  URL          = "http://gallium.inria.fr/~fpottier/publis/jourdan-fpottier-2016.pdf",
}

@InProceedings{bour-pottier-21,
  author       = "Frédéric Bour and François Pottier",
  title        = "Faster Reachability Analysis for {LR(1)} Parsers",
  booktitle    = sle,
  month        = oct,
  year         = "2021",
  pages        = "113--125",
  URL          = "http://cambium.inria.fr/~fpottier/publis/bour-pottier-reachability.pdf",
}

@InProceedings{pottier-unparsing-24,
  author       = "François Pottier",
  title        = "Correct, Fast {LR(1)} Unparsing",
  booktitle    = jfla,
  month        = jan,
  year         = "2024",
  URL          = "http://cambium.inria.fr/~fpottier/publis/pottier-unparsing-2024.pdf",
}
