Embedded pushdown automaton

An embedded pushdown automaton or EPDA is a computational model for parsing languages generated by tree-adjoining grammars (TAGs).

It is similar to the context-free grammar-parsing pushdown automaton, but instead of using a plain stack to store symbols, it has a stack of iterated stacks that store symbols, giving TAGs a generative capacity between context-free and context-sensitive grammars, or a subset of mildly context-sensitive grammars.

Embedded pushdown automata should not be confused with nested stack automata which have more computational power.

[citation needed] EPDAs were first described by K. Vijay-Shanker in his 1988 doctoral thesis.

[1] They have since been applied to more complete descriptions of classes of mildly context-sensitive grammars and have had important roles in refining the Chomsky hierarchy.

Various subgrammars, such as the linear indexed grammar, can thus be defined.

[2] While natural languages have traditionally been analyzed using context-free grammars (see transformational-generative grammar and computational linguistics), this model does not work well for languages with crossed dependencies, such as Dutch, situations for which an EPDA is well suited.

A detailed linguistic analysis is available in Joshi, Schabes (1997).

, where the star is the Kleene closure of the alphabet.

Each stack can then be defined in terms of its elements, so we denote the

th stack in the automaton using a double-dagger symbol:

[clarification needed] We define an EPDA by the septuple (7-tuple) Thus the transition function takes a state, the next symbol of the input string, and the top symbol of the current stack and generates the next state, the stacks to be pushed and popped onto the embedded stack, the pushing and popping of the current stack, and the stacks to be considered the current stacks in the next transition.

the current stack, and for an input string

is the portion of the string already processed by the machine and

is the portion to be processed, with its head being the current symbol read.

is implicitly defined as a terminating symbol, where if the machine is at a final state when the empty string is read, the entire input string is accepted, and if not it is rejected.

Such accepted strings are elements of the language where

defines the transition function applied over as many times as necessary to parse the string.

An informal description of EPDA can also be found in Joshi, Schabes (1997),[3] Sect.7, p. 23-25.

A more precisely defined hierarchy of languages that correspond to the mildly context-sensitive class was defined by David J.

[4] Based on the work of Nabil A. Khabbaz,[5][6] Weir's Control Language Hierarchy is a containment hierarchy of countable set of language classes[clarify] where the Level-1 is defined as context-free, and Level-2 is the class of tree-adjoining and the other three grammars.

Following are some of the properties of Level-k languages in the hierarchy: Those properties correspond well (at least for small k > 1) to the conditions of mildly context-sensitive languages imposed by Joshi, and as k gets bigger, the language class becomes, in a sense, less mildly context-sensitive.