It is a computational model that can be used to recognize context-free languages that are not context-sensitive. It is a state machine and has the memory of one infinite stack. It is used in the Theory of Computation and for designing compilers.