TPC16 Compiler Source Code Free Download
Shareware: You can try this program, but this version has some limited features or time usage restrictions. You should purchase it in order to remove those limits.
Turbo Pascal compiler written in Turbo Pascal. This is not the "original" Borland source code of the Turbo Pascal since it was not written in Pascal. This is TPC16, a Turbo Pascal compatible compiler written from scratch. It is completely source-code compatible with the Borland Turbo Pascal 7.0 command line compiler TPC.EXE. This means that it uses the same syntax and generates EXACTLY THE SAME compiled units and 16-bit code for x86.
This source code shows all the beauty of the Pascal programming language and reveals all the tricks needed to build a fast and compact compiler for any language, not just Pascal. With this Turbo Pascal single pass compiler source code you will get: Architecture of symbol tables, Understanding of Turbo Pascal unit structure, Ultra fast scanner, Examples of hash tables for fast keyword search, Plethora of data structures needed in any compiler, Algorithms for dealing with identifiers, scopes and units, Parser to analyze a sequence of tokens and to check Pascal syntax, Example of compiler error reporting, Understanding of expressions and calculations, Examples of arbitrary expression processing and code generation, Algorithms for generating complex code with limited set of registers, Example of in-line assembler compiler, Example of intermediate code structure, Optimizing code generator, Understanding of importing object files, Optimizing linker with excellent approach to resolve references, A working compiler compatible with Borland Turbo Pascal 7, Deep understanding of the Turbo Pascal compiler internals and more.
The most important feature of this package is practical implementation of various algorithms together with proven data structures. A successful compiler implementation depends mainly on data structures and algorithms used. Therefore TPC16 source can be used as an inspiration on how to implement complex algorithms for your compiler. The best e-book on compiler design.