“On the translation of languages from left to right”, Knuth, D., 1965
- The paper that introduced shift-reduce parsers, and the “Canonical LR” table generation algorithm.
“Efficient Computation of LALR(1) Look-Ahead Sets”, DeRemer, D. & Pennello, T., 1982
- The paper that introduced the LALR(1) table generation algorithm used in Berkeley YACC and GNU Bison.
“Generating LR Syntax Error Messages from Examples”, Jeffery, C., 2003
- Link to non-paywalled copy
- The paper that introduced the Merr error marking system. Emboss uses this algorithm for specifying parser errors.
“The IELR(1) algorithm for generating minimal LR(1) parser tables for non-LR(1) grammars with conflict resolution”, Denny, J. & Malloy, B., 2010
- An algorithm for generating minimal parser tables for LR(1) languages.
“Practical LR Parser Generation”, Zimmerman, J., 2022
- Many improvements on LR(1) parsing.
Compilers: Principles, Techniques, and Tools, Second Edition, by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman (the “Dragon Book”)