A nested stack automaton is a generalization of the pushdown automaton. Basically, the nested stack automaton consists of an input tape, a finite control, and a single pushdown list. However, the nested stack automaton can access symbols in the interior of the stack in a read-only mode and create new stacks nested (to arbitrary depths) within the main stack, subject to the restriction that the stack head may not move up a stack without first having destroyed all stacks created at that level. The importance of the model is that the class of languages accepted is precisely the indexed languages. The indexed languages have most of the properties of the context- free languages, i.e., derivation trees, recursiveness, decidable emptiness problem, closed under concatenation, Kleene closure, homomorphisms, inverse homomorphisms, and intersection with regular sets. Furthermore, the indexed grammars are capable of exhibiting syntactic features in algorithmic programming languages not representable by context-free grammars.