Compiler Design

Pascal (named in honor of  the Frenchman) is a strongly typed, block structured  language that enables defining complex datatypes and building dynamic and recursive data structures. It allows nested procedure definitions to any level of depth and for most kinds of definitions and declarations inside procedures and functions, making an entire program syntactically similar to a single subroutine. 

A compiler is a  program that translates a high-level language (source code) into lower level target instructions (object or machine code) that are executable on  a computer's architecture. A compiler performs several operations, including syntax analysis, parsing, semantic analysis and code optimization/generation in a series of phases for efficient design and correction transformation. Error detection and recovery play an integral part in this process.

Assembly language has a one-to-one correspondence between its instructions and the machine instructions (opcodes, each a string of binary digits), using a mnenomic to represent each opcode. Unlike a high-level language, an assembly language is specific to a particular computer architecture.  An assembler converts assembly language code into machine code, performing similiar functions as that of a compiler.

Compilers and assemblers are not unlike the Philosopher's Stone, the mythic alchemical substance capable of the transmutation of a base metal, such as mercury, into gold or silver. Efforts to discover the Philosopher's Stone were known as the Great Work (see Aleister for more about this occult practice). Your Humble Webmaster's Great Work will be to transform a program written in Pascal to Assembly, either by and by or sometime after a while.

Nicholas DeLillo, who taught Your Humble Webmaster's first programming course using BASIC.

Niklaus Wirth (1934-2024) was a Swiss computer scientist who designed the Pascal programming language in 1968 and published the Pascal User Manual and Report in 1970, coauthored with Kathleen Jansen. He was the recipient of the Turing Award in 1984, generally recognized as the highest distinction in the field. Blaise Pascal (1623-1662) was a French mathematician, physicist, inventor, writer and theologian. Ada Lovelace (1815-1852), daughter of Lord Byron, worked with Charles Babbage on his Analytic Engine and published the first algorithm to be carried out by the machine. She is regarded as the first computer programmer. George Boole (1815-1864) was an English mathematician and a founder of the algebraic tradition in logic. Now called Boolean algebra, it is basic to the design of digital computer circuits.


Susan Merritt, who introduced  Your Humble Webmaster to both Pascal and Compiler Design.