On the complexity of LR(k) testing

  • Authors:
  • Harry B. Hunt, III;Thomas G. Szymanski;Jeffrey D. Ullman

  • Affiliations:
  • Harvard Univ., Cambridge, MA;Princeton Univ., Princeton, NJ;Princeton Univ., Princeton, NJ

  • Venue:
  • Communications of the ACM
  • Year:
  • 1975

Quantified Score

Hi-index 48.22

Visualization

Abstract

The problem of determining whether an arbitrary context-free grammar is a member of some easily parsed subclass of grammars such as the LR(k) grammars is considered. The time complexity of this problem is analyzed both when k is considered to be a fixed integer and when k is considered to be a parameter of the test. In the first case, it is shown that for every k there exists an O(nk+2) algorithm for testing the LR(k) property, where n is the size of the grammar in question. On the other hand, if both k and the subject grammar are problem parameters, then the complexity of the problem depends very strongly on the representation chosen for k. More specifically, it is shown that this problem is NP-complete when k is expressed in unary. When k is expressed in binary the problem is complete for nondeterministic exponential time. These results carry over to many other parameterized classes of grammars, such as the LL(k), strong LL(k), SLR(k), LC(k), and strong LC(k) grammars.