application of pushdown automata