Pushdown Automata
Let us recall our story so far...
- Chomsky 1956, working with natural languages, had come up with the notion of context free grammars.
- The first Fortran compiler appeared around 1956/1957 for the IBM 704 computer. It was based on a specification by Backus 1954, but not using CFGs.
- By the time the Algol 1960 specification was written though using a notation called Backus-Naur notation. Using Backus-Naur notation is equivalent to giving a CFG specification.
- Meanwhile, in Germany, Friedrich Bauer (like Chomsky still alive as of 2011) had come up with the notion of a stack and also used it to show a simple algorithm for expression evaluation. We have already seen how expression have a reasonable CFG. As an aside, Bauer later (1967) coins the term software engineering.
- It is reasonable to ask if maybe stacks could be useful for coming up with a platform neutral machine model for CFGs?
- Such a model, pushdown automata (PDA), was provided by Oettinger in 1961.