The need for compilers arises from the need for high-level languages, which are more relevant for problem-solving and software development by humans. Moreover, high-level languages are machine-independent.

Since the development of a compiler is a relatively complex system-development effort, typically having many users and developers, and will be maintained over a lifetime of many years, a formal process should be used for its development. 

As we proceed through this course, we include high-level needs, requirements, functions, performance considerations, and verification and validation issues for a compiler and its parts.


Skill Level: Beginner