All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Compiler Engineering Fundamentals: Defining What a Compiler Is

By

dhruv3006

5mo ago· 10 min readen

Summary

This article is the first part of a blog series called "Compiler Engineering in Practice" that aims to document practical compiler development wisdom not typically found in textbooks. The article focuses on defining what a compiler is, explaining it as a program that translates code from one programming language to another, with examples like translating C to x86 assembly. The author notes that even assemblers can be considered simple compilers under this definition. The series targets readers with some prior compiler experience and seeks to fill gaps in formal compiler education.

Key quotes

· 5 pulled
'Compiler Engineering in Practice' is a blog series intended to pass on wisdom that seemingly every seasoned compiler developer knows, but is not systematically written down in any textbook or online resource.
The first and most important question is 'what is a compiler?'
In short, a compiler is: a program that translates code from one programming language to another.
For example, an input language can be C, and the output can be x86 assembly.
By this definition, an assembler is also a compiler (albeit a simple one), in that it reads x86 textual assembly.
Snippet from the RSS feed
“Compiler Engineering in Practice” is a blog series intended to pass on wisdom that seemingly every seasoned compiler developer knows, but is not systematically written down in any textbook or online resource. Some (but not much) prior experience with com

You might also wanna read