Programming languages: concepts and constructs - Ravi Sethi (Pearson education, 2009)