Writing a C Compiler: Build a Real Programming Language from Scratch

Writing a C Compiler: Build a Real Programming Language from Scratch book cover

Writing a C Compiler: Build a Real Programming Language from Scratch

Author(s): Nora Sandler (Author)

  • Publisher: No Starch Press
  • Publication Date: 20 Aug. 2024
  • Language: English
  • Print length: 704 pages
  • ISBN-10: 1718500424
  • ISBN-13: 9781718500426

Book Description

A hands-on, example-filled guide to the theory and practice of writing a C compiler: a computer program that translates code written by programmers into code the computer can read.

Compilers are at the heart of everything programmers do, yet even experienced developers find them intimidating. For those eager to truly grasp how compilers work, Writing a C Compiler dispels the mystery. This book guides you through a fun and engaging project where you’ll learn what it takes to compile a real-world programming language to actual assembly code.

Writing a C Compiler will take you step by step through the process of building your own compiler for a significant subset of C—no prior experience with compiler construction or assembly code needed. Once you’ve built a working compiler for the simplest C program, you’ll add new features chapter by chapter. The algorithms in the book are all in pseudocode, so you can implement your compiler in whatever language you like. Along the way, you’ll explore key concepts like:

  • Lexing and parsing: Learn how to write a lexer and recursive descent parser that transform C code into an abstract syntax tree.
  • Program analysis: Discover how to analyse a program to understand its behaviour and detect errors.
  • Code generation: Learn how to translate C language constructs like arithmetic operations, function calls, and control-flow statements into x64 assembly code.
  • Optimization techniques: Improve performance with methods like constant folding, dead store elimination, and register allocation.

Compilers aren’t terrifying beasts—and with help from this hands-on, accessible guide, you might even turn them into your friends for life.

Editorial Reviews

Review

"It is refreshing to read a book on compiler design with a focus on implementing a practical real-world language, rather than working through dry academic exercises . . . practical, fun, and exciting to read if you are sick of reading textbooks on the subject." —Rick Battagline, author of The Art of WebAssembly

"This book is a great introduction to the topic of compilers for programming languages. It is extremely thorough, with many suggestions for further reading, while being quite enjoyable to read — a 'soup-to-nuts' treatment of compiler writing for C-like languages." —John Reppy, Professor of Computer Science, University of Chicago

"Have you written C code and really wondered how this turns into code that runs on a processor? Nora's book will not only help you see how that works but will help you to understand how to do these sorts of translations for your own assets, in language and code accessible to people without a PhD in compilers." —Lars Bergstrom, Director of Engineering at Google

About the Author

Nora Sandler is a software engineer. After graduating from the University of Chicago, she worked as a penetration tester at Security Innovation, and then as a compiler developer at CrowdStrike, fuelling her interest and research into how computers work under the hood. Sandler writes C Compiler tutorials and has created test programs on her popular blog (https://norasandler.com/) to make writing a C compiler more accessible.

View on Amazon

代发服务PDF电子书30立即求助
未经允许不得转载:电子书百科大全 » Writing a C Compiler: Build a Real Programming Language from Scratch

评论 抢沙发

评论前必须登录!

立即登录   注册