Visibly Pushdown Languages
Visibly pushdown languages (VPLs) are a subclass of context-free languages introduced by Alur and Madhusudan in 2004. In a visibly pushdown automaton, the input alphabet is partitioned into three disjoint sets: call symbols (which push onto the stack), return symbols (which pop from the stack), and internal symbols (which leave the stack unchanged). The stack operation is determined entirely by the input symbol, not by the automaton's state or the stack contents. This restriction makes the model "visible" — the stack behavior is externally observable from the input alone.
The restriction is severe but surprisingly productive. VPLs retain the closure properties that general context-free languages lack: they are closed under union, intersection, complementation, and concatenation. They admit a Myhill-Nerode style characterization and have decidable inclusion and equivalence problems. In practical terms, VPLs are the class of languages recognized by structured data formats like XML, where the nesting of tags is visibly determined by the call and return symbols.
The significance of VPLs is that they identify a sweet spot in the Chomsky hierarchy: more expressive than regular languages, but with the algorithmic closure properties that make regular languages tractable. They are the context-free languages that have been "domesticated" — their wild non-determinism has been tamed by structural visibility.