December 2021
Beginner
840 pages
47h 29m
English
There are a variety of ways to implement a programming language. All language implementations have a syntactic component (or front end) that determines whether the source program is valid and, if so, produces an abstract-syntax tree. Language implementations vary in how they process this abstract-syntax tree.
Two traditional approaches to language implementation are compilation and interpretation. A compiler translates the abstract-syntax tree through a series of transformations into another representation (e.g., assembly code) typically closer to the instruction set architecture of the target processor intended to execute the program. The output of a compiler is a version of the source program in a different language. An ...