English

How to enumerate trees from a context-free grammar

Computation and Language 2023-05-02 v1

Abstract

I present a simple algorithm for enumerating the trees generated by a Context Free Grammar (CFG). The algorithm uses a pairing function to form a bijection between CFG derivations and natural numbers, so that trees can be uniquely decoded from counting. This provides a general way to number expressions in natural logical languages, and potentially can be extended to other combinatorial problems. I also show how this algorithm may be generalized to more general forms of derivation, including analogs of Lempel-Ziv coding on trees.

Cite

@article{arxiv.2305.00522,
  title  = {How to enumerate trees from a context-free grammar},
  author = {Steven T. Piantadosi},
  journal= {arXiv preprint arXiv:2305.00522},
  year   = {2023}
}
R2 v1 2026-06-28T10:21:59.911Z