Parallel Parsing on a One-way Linear Array of Finite-State Machines

Efficient parallel algorithms for some parsing problems are presented. These problems include the parsing of linear context-free languages, languages accepted by nondeterministic one-counter automata, and transductions defined by a special class of two-tape nondeterministic finite-state transducers. The model of parallel computation is a one-way linear array of identical finite-state machines. The data movement in the array is one-way, from left to right. For inputs of length n, the array uses n nodes, but the design of the node (finite-state machine) is independent of n. Our algorithms can actually produce a parse, i.e., a sequence of rules (moves) that generates (accepts) an input, in linear time. When only a no/yes answer is required, the parsing problem becomes a recognition problem. The best serial (RAM) algorithms for the corresponding recognition problems take O(n2/log2n) time and space. Previous parallel algorithms for the recognition problems run in linear time on a one-way linear array of finite-state machines.