Foundation of Programming Language: Design and Implementation. - Roosta,Seyed H (New Delhi Cengage, 2011)