Reachability and error diagnosis in LR(1) parsers

François Pottier
2016 Proceedings of the 25th International Conference on Compiler Construction - CC 2016  
Given an LR(1) automaton, what are the states in which an error can be detected? For each such "error state", what is a minimal input sentence that causes an error in this state? We propose an algorithm that answers these questions. This allows building a collection of pairs of an erroneous input sentence and a (handwritten) diagnostic message, ensuring that this collection covers every error state, and maintaining this property as the grammar evolves. We report on an application of this
more » ... ue to the CompCert ISO C99 parser, and discuss its strengths and limitations.
doi:10.1145/2892208.2892224 dblp:conf/cc/Pottier16 fatcat:sshofm7langrpawyjxwsqporri