{"product_id":"writing-a-c-compiler-build-a-real-programming-language-from-scratch-9781718500426","title":"Writing A C Compiler: Build a Real Programming Language from Scratch","description":"\u003cb\u003eA 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.\u003c\/b\u003e \u003cp\u003e\u003c\/p\u003eCompilers are at the heart of everything programmers do, yet even experienced developers find them intimidating. For those eager to truly grasp how compilers work, \u003ci\u003eWriting a C Compiler\u003c\/i\u003e 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. \u003cp\u003e\u003c\/p\u003e\u003ci\u003eWriting a C Compiler\u003c\/i\u003e 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: \u003cp\u003e\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cb\u003eLexing and parsing: \u003c\/b\u003e Learn how to write a lexer and recursive descent parser that transform C code into an abstract syntax tree.\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eProgram analysis: \u003c\/b\u003e Discover how to analyze a program to understand its behavior and detect errors.\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eCode generation: \u003c\/b\u003e Learn how to translate C language constructs like arithmetic operations, function calls, and control-flow statements into x64 assembly code.\u003c\/li\u003e\n\u003cli\u003e\n\u003cb\u003eOptimization techniques: \u003c\/b\u003eImprove performance with methods like constant folding, dead store elimination, and register allocation. \u003c\/li\u003e\n\u003c\/ul\u003e\u003cbr\u003eCompilers aren't terrifying beasts--and with help from this hands-on, accessible guide, you might even turn them into your friends for life.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eBinding Type:\u003c\/b\u003e Paperback\u003cbr\u003e\u003cb\u003ePublisher:\u003c\/b\u003e No Starch Press\u003cbr\u003e\u003cb\u003ePublished:\u003c\/b\u003e 08\/20\/2024\u003cbr\u003e\u003cb\u003eISBN:\u003c\/b\u003e 9781718500426\u003cbr\u003e\u003cb\u003ePages:\u003c\/b\u003e 792","brand":"Nora Sandler","offers":[{"title":"Default Title","offer_id":44413564813493,"sku":"9781718500426","price":59.49,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0473\/0804\/6492\/files\/img_b5d2e05e-b816-4e2c-b97f-d6c76c2614e5.jpg?v=1720537674","url":"https:\/\/pastforward.org\/products\/writing-a-c-compiler-build-a-real-programming-language-from-scratch-9781718500426","provider":"Past Forward","version":"1.0","type":"link"}