Grammars for programming languages - Cleaveland, J. Craig (Elsevier Scientific Publishing Company, 1977)