The Tiger Book: 1 Introduction

A compiler is built from many modules (lexical analysis, parsing, semantic analysis, IR translation, optimization, code generation, etc). Each module does a specific job, but they must work together. The interfaces between them are just as critical as the algorithms inside the modules. Any large software system is much easier to understand and implement if the designer takes care with the…