Generalized context-free grammar

Generalized context-free grammar (GCFG) is a grammar formalism that expands on context-free grammars by adding potentially non-context-free composition functions to rewrite rules.

[1] Head grammar (and its weak equivalents) is an instance of such a GCFG which is known to be especially adept at handling a wide variety of non-CF properties of natural language.

A GCFG consists of two components: a set of composition functions that combine string tuples, and a set of rewrite rules.

The composition functions all have the form

is either a single string tuple, or some use of a (potentially different) composition function which reduces to a string tuple.

Rewrite rules look like

, ... are string tuples or non-terminal symbols.

The rewrite semantics of GCFGs is fairly straightforward.

An occurrence of a non-terminal symbol is rewritten using rewrite rules as in a context-free grammar, eventually yielding just compositions (composition functions applied to string tuples or other compositions).

The composition functions are then applied, successively reducing the tuples to a single tuple.

A simple translation of a context-free grammar into a GCFG can be performed in the following fashion.

Given the grammar in (1), which generates the palindrome language

, we can define the composition function conc as in (2a) and the rewrite rules as in (2b).

The CF production of abbbba is and the corresponding GCFG production is Weir (1988)[1] describes two properties of composition functions, linearity and regularity.

is linear if and only if each variable appears at most once on either side of the =, making

is regular if the left hand side and right hand side have exactly the same variables, making

A grammar in which all composition functions are both linear and regular is called a Linear Context-free Rewriting System (LCFRS).

LCFRS is a proper subclass of the GCFGs, i.e. it has strictly less computational power than the GCFGs as a whole.

On the other hand, LCFRSs are strictly more expressive than linear-indexed grammars and their weakly equivalent variant tree adjoining grammars (TAGs).

[2] Head grammar is another example of an LCFRS that is strictly less powerful than the class of LCFRSs as a whole.

LCFRS are weakly equivalent to (set-local) multicomponent TAGs (MCTAGs) and also with multiple context-free grammar (MCFGs [1]).

[3] and minimalist grammars (MGs).

The languages generated by LCFRS (and their weakly equivalents) can be parsed in polynomial time.