A CYK approach to parsing in parallel: a case study

Most of us have come to realize the increasing importance of parallel computation to our curricula and many of us have included courses in parallel processing in our curricula. Increasingly, however, we have come to feel that parallel processing should be distributed throughout the curriculum. In a great variety of our courses (algorithms, operating systems, programming languages, etc) considerations of parallel computing should be included in our teaching in a substantive way. In this paper we will (1) explore a parallel approach to finding a solution to the membership question, and (2) we will extend the algorithm to exhibit a parse tree for those cases in which the string is in fact a member of the language generated by the grammar. Finally we describe our application of a parallel implementation as a case study and suggest ways that portions of our work may be incorporated into laboratory assignments in the undergraduate curriculum in either a course on theory or one on algorithms.