The Chomsky–Schützenberger representation theorem
If you start with a pushdown automaton, then its instruction diagram can be interpreted as a finite state automaton. The instruction $(p,a,A,q,\alpha)$ &mdash; in state $p$ reading $a$ we pop $A$ go to state $q$ and push $\alpha$ &mdash; has an edge from $p$ to $q$ with label $(a,A,\alpha)$. This defines a regular language of possible instruction sequences (ignoring popping and pushing). 

Now recode $(a,A,\alpha)$ by bracket symbols. $A$ is popped and is coded with the closing bracket $\bar A$, the symbols $\alpha$ are pushed and coded as opening brackets. If we code the instruction by the string $\bar A\alpha$ the (regular) language of instructions is a perfect matched bracket sequence (Dyck) if it is a legal sequence of popping and pushing. (Add $Z$ the initial stack symbol as first letter)

Now we forgot about the input letter $a$. This has to be inserted to the instruction, without losing the bracket structure. This is done by adding a virtual closing bracket $\bar a$ for each $a$. Thus, the finite state edge is now as follows: $(p,a\bar a \bar A\alpha,q)$.  

Chomsky-Schutzerberger intersects with Dyck for the popping and pushing as I said, and retrieves the symbol $a$ using an homomorphism that deletes all other symbols. 

It is also possible to start with a CF grammar in Greibach NF. Then the states totally disappear, the coding is similar, and the regular language is very simple: $S \{\; a\bar a \bar A \alpha^R \mid A\to \alpha \;\}^*$