Push down automatons for shift-reduce parsing.
TODO: o error repair o recover from syntax errors o improved error messages o Toplas 17(4)