@ (calledbottom symbol) is not inΓ and appears exactly at the root oft, and
p is an element of the domain oft (calledstack pointer).
The set of all tree stacks overΓ is denoted byTS(Γ).
The set ofpredicates onTS(Γ), denoted byPred(Γ), contains the followingunarypredicates:
true which is true for any tree stack overΓ,
bottom which is true for tree stacks whose stack pointer points to the bottom symbol, and
equals(γ) which is true for some tree stack(t,p) ift(p) =γ,
for everyγ ∈Γ.
The set ofinstructions onTS(Γ), denoted byInstr(Γ), contains the following partial functions:
id: TS(Γ) → TS(Γ) which is the identity function onTS(Γ),
pushn,γ: TS(Γ) → TS(Γ) which adds for a given tree stack(t,p) a pair(pn ↦γ) to the treet and sets the stack pointer topn (i.e. it pushesγ to then-th child position) ifpn is not yet in the domain oft,
upn: TS(Γ) → TS(Γ) which replaces the current stack pointerp bypn (i.e. it moves the stack pointer to then-th child position) ifpn is in the domain oft,
down: TS(Γ) → TS(Γ) which removes the last symbol from the stack pointer (i.e. it moves the stack pointer to the parent position), and
setγ: TS(Γ) → TS(Γ) which replaces the symbol currently under the stack pointer byγ,
for every positive integern and everyγ ∈Γ.
Illustration of the instruction id on a tree stack
Illustration of the instruction push on a tree stack
Illustration of the instructions up and down on a tree stack
Illustration of the instruction set on a tree stack
Atree stack automaton is a 6-tupleA = (Q,Γ,Σ,qi,δ,Qf) where
Q,Γ, andΣ are finite sets (whose elements are calledstates,stack symbols, andinput symbols, respectively),
qi ∈Q (theinitial state),
δ ⊆fin.Q × (Σ ∪ {ε}) × Pred(Γ) × Instr(Γ) ×Q (whose elements are calledtransitions), and
Qf ⊆ TS(Γ) (whose elements are calledfinal states).
Aconfiguration ofA is a tuple(q,c,w) where
q is a state (thecurrent state),
c is a tree stack (thecurrent tree stack), and
w is a word overΣ (theremaining word to be read).
A transitionτ = (q1,u,p,f,q2) isapplicable to a configuration(q,c,w) if
q1 =q,
p is true onc,
f is defined forc, and
u is a prefix ofw.
Thetransition relation ofA is thebinary relation⊢ on configurations ofA that is the union of all the relations⊢τ for a transitionτ = (q1,u,p,f,q2) where, wheneverτ is applicable to(q,c,w), we have(q,c,w) ⊢τ (q2,f(c),v) andv is obtained fromw by removing the prefixu.
Thelanguage ofA is the set of all wordsw for which there is some stateq ∈Qf and some tree stackc such that(qi,ci, w) ⊢* (q,c,ε) where
A tree stack automaton is calledk-restricted for some positive natural numberk if, during any run of the automaton, any position of the tree stack is accessed at mostk times from below.
^Golubski, Wolfgang and Lippe, Wolfram-M. (1990).Tree-stack automata. Proceedings of the 15th Symposium on Mathematical Foundations of Computer Science (MFCS 1990). Lecture Notes in Computer Science, Vol. 452, pages 313–321,doi:10.1007/BFb0029624.
^Scott, Dana (1967).Some Definitional Suggestions for Automata Theory. Journal of Computer and System Sciences, Vol. 1(2), pages 187–212,doi:10.1016/s0022-0000(67)80014-x.
^abDenkinger, Tobias (2016).An automata characterisation for multiple context-free languages. Proceedings of the 20th International Conference on Developments in Language Theory (DLT 2016). Lecture Notes in Computer Science, Vol. 9840, pages 138–150,doi:10.1007/978-3-662-53132-7_12.
Each category of languages, except those marked by a*, is aproper subset of the category directly above it.Any language in each category is generated by a grammar and by an automaton in the category in the same line.