Efficient parallel and incremental parsing of practical context-free languages

1Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.

Abstract

We present a divide-and-conquer algorithm for parsing context-free languages efficiently. Our algorithm is an instance of Valiant's (1975; General context-free recognition in less than cubic time. J. Comput. Syst. Sci. 10(2), 308-314), who reduced the problem of parsing to matrix multiplications. We show that, while the conquer step of Valiant's is O(n 3), it improves to O(log2 n) under certain conditions satisfied by many useful inputs that occur in practice, and if one uses a sparse representation of matrices. The improvement happens because the multiplications involve an overwhelming majority of empty matrices. This result is relevant to modern computing: divide-and-conquer algorithms with a polylogarithmic conquer step can be parallelized relatively easily.

Cite

CITATION STYLE

APA

Bernardy, J. P., & Claessen, K. (2015). Efficient parallel and incremental parsing of practical context-free languages. Journal of Functional Programming, 25. https://doi.org/10.1017/S0956796815000131

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free