Consider context-free grammars generating strings over a one-letter alphabet. For the membership problem for such grammars, stated as "Given a grammar G and a string an, determine whether an is generated by G", only a nave O(|G|·n2)-time algorithm is known. This paper develops a new algorithm solving this problem, which is based upon fast multiplication of integers, works in time |G|·nlog3n·2O(log*n), and is applicable to context-free grammars augmented with Boolean operations, known as Boolean grammars. For unambiguous grammars, the running time of the algorithm is reduced to |G|·nlog2n·2O(log*n). The algorithm is based upon (a simplification of) the online integer multiplication algorithm by Fischer and Stockmeyer [M.J. Fischer, L.J. Stockmeyer, Fast on-line integer multiplication, Journal of Computer and System Sciences 9 (3) (1974) 317331].

Original languageEnglish
Pages (from-to)149-157
Number of pages9
JournalTheoretical Computer Science
Volume457
DOIs
StatePublished - 26 Oct 2012

    Research areas

  • Boolean convolution, Boolean grammars, Conjunctive grammars, Context-free grammars, Integer multiplication, Parsing, Unary languages

    Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

ID: 41140136