Grammars for programming languages - Cleaveland, James Craig; Uzgalis, Robert C. (Elsevier, 1977)