Skip to content

Recursive Grammar

A generative grammar in which a nonterminal can return to itself through a nonempty chain of productions, directly or indirectly.

Version
v1 · 2026-10-03 · History
Domain-specific #
13559
Domain group
Applied Sciences & Engineering
Origin domain
Computer Science & Software Engineering
Subdomains
Formal Language Theory, Grammar and Parsing → Computer Science & Software Engineering
Aliases
Recursive generative grammar

Core Idea

A recursive grammar has a rule path that returns to a nonterminal it started from. In a context-free grammar, this means \(A\Rightarrow^{+}xAy\) for some nonterminal \(A\). The positive number of steps distinguishes a real production cycle from the trivial zero-step fact that \(A\) equals itself. Recursion may be direct or pass through other nonterminals.[^ref-66a41b46eea8]

Such a cycle is not automatically an infinite language. A relevant cycle must be reachable, able to finish in terminals, and add terminal material to yield indefinitely many different strings. The grammar \(S\to A\mid a,\;A\to S\mid b\) recurs but generates only \(a\) and \(b\): going around the unit cycle changes no output length. Reachability is thus a consequence qualifier, not the definition of a cycle anywhere in the grammar.[^ref-eeeb0624a3b4]

Scope of Application

Formal-language theory uses recursion to distinguish cyclic grammars from acyclic grammars that describe finite languages. Compiler design cares where the cycle occurs: left recursion such as \(E\to E+T\mid T\) can make a naive recursive-descent parser call itself before consuming input. A center-embedded rule such as \(S\to(S)\mid x\) is recursive without being left-recursive. Linguistic grammars can similarly describe potential phrase or clause embedding, although grammatical possibility is not the same as actual utterance use.[ref-bbf98f86297b][ref-a9e1c23b60eb]

Clarity

Think of each nonterminal as a node. In the original Hasselt paper's Example 1, \(S\to AG,\ A\to BD,\ B\to CE,\ C\to AF\mid c,\ D\to d,\ E\to e,\ F\to f,\ G\to g\). The path \(A\to B\to C\to A\) returns; immediate exit yields \(cedg\), while one completed cycle yields \(cedfedg\). The added \(fed\) supplies actual terminal growth. By contrast, unit rules \(S\to A,\;A\to S\) return without adding terminals.[^ref-66a41b46eea8]

Manages Complexity

A few rules can encode arbitrarily deep nested structure without listing every depth. The dependency-cycle view also separates recursion from other concerns: whether a cycle is reachable, whether it can terminate, whether it grows the language, and whether it obstructs a particular parser. An acyclic grammar can still compactly encode an enormous finite set through shared subexpressions.[^ref-bbf98f86297b]

Abstract Reasoning

Find a positive-step derivation returning a nonterminal to itself. Test reachability from the start and an exit to terminals only when making claims about the generated language. To prove infinitely many strings, exhibit repeatable terminal growth; to diagnose recursive-descent trouble, look specifically for leftmost recurrence before input consumption.[ref-eeeb0624a3b4][ref-a9e1c23b60eb]

Knowledge Transfer

Recursive data schemas and nested protocols have a similar self-returning shape, but the grammar-theoretic claims about terminal strings and parser behavior do not transfer without additional definitions. Formal Grammar is the approved strict parent; the child adds rule-level self-return. Recursion remains a conceptual prime neighbor without an installed edge, while left recursion is a narrower grammatical form.

[^ref-bbf98f86297b]: Nederhof and Satta, “Parsing Non-Recursive Context-Free Grammars”, abstract and Section 2. [^ref-66a41b46eea8]: Original CFG dependency-graph research, Section 2. [^ref-eeeb0624a3b4]: University of Mississippi notes on CFG language finiteness, Section 8.2.6. [^ref-a9e1c23b60eb]: Cornell University, “Grammars and Parsing”, left-recursion section.

Relationships to Other Abstractions

Local relationship map for Recursive GrammarParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Recursive GrammarDOMAINDomain-specific abstraction: Formal Grammar — is a kind ofFormal GrammarDOMAIN

Current abstraction Recursive Grammar Domain-specific

Parents (1) — more general patterns this builds on

  • Recursive Grammar is a kind of Formal Grammar Domain-specific

    A recursive grammar is a formal grammar whose productions permit a nonterminal to return to itself after a nonzero derivation.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Recursive Grammar sits in a sparse region of the domain-specific corpus (73rd percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Grammar Derivation & Word Complexity (8 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-08