Natural and Flexible Error Recovery for Generated Modular Language Environments

More Info
expand_more

Abstract

Author's version of the work published in: ACM Transactions on Programming Languages and Systems (TOPLAS), 34 (4), 2012; doi:10.1145/2400676.2400678. Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse languages composed from separate grammar modules. To apply this algorithm in an interactive environment, this paper introduces a novel error recovery mechanism. Our approach is language-independent, and relies on automatic derivation of recovery rules from grammars. By taking layout information into consideration it can efficiently suggest natural recovery suggestions.