A pushdown automaton (PDA) is a nondeterministic finite automaton that uses a stack to process input symbols. It has a finite set of states, input symbols, stack symbols, and transition rules that can push symbols onto or pop symbols off the stack. The transition function defines the state and stack changes for each input symbol. A PDA accepts a language if any path through its transitions leads to an accepting state.