نام کتاب
Writing a C Compiler

Build a Real Programming Language from Scratch

Nora Sandler

Paperback792 Pages
PublisherNo Starch Press
Edition1
LanguageEnglish
Year2024
ISBN9781718500426
824
A5333
انتخاب نوع چاپ:
جلد سخت
992,000ت
0
جلد نرم
1,072,000ت(2 جلدی)
0
طلق پاپکو و فنر
1,092,000ت(2 جلدی)
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:سیاه و سفید
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#C_programming

#C_Compiler

#C_program

#C_language

توضیحات

A fun, hands-on guide to writing your own compiler for a real-world programming language.


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 analyze a program to understand its behavior 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.


Table of Contents

Part I: The Basics

1. A Minimal Compiler

2. Unary Operators

3. Binary Operators

4. Logical and Relational Operators

5. Local Variables

6. If Statements and Conditional Expressions

7. Compound Statements

8. Loops

9. Functions

10. File Scope Variable Declarations and Storage-Class Specifiers

Part II: Types Beyond Int

11. Long Integers

12. Unsigned Integers

13. Floating-Point Numbers

14. Pointers

15. Arrays and Pointer Arithmetic

16. Characters and Strings

17. Supporting Dynamic Memory Allocation

18. Structures

Part III: Optimizations

19. Optimizing Tacky Programs

20. Register Allocation

Next Steps

A. Debugging Assembly Code With GDB or LLDB

B. Assembly Generation and Code Emission Tables


Review

"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


"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


"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


About the Author

Nora Sandler is a software engineer based in Seattle. She holds a BS in computer science from the University of Chicago, where she researched the implementation of parallel programming languages. More recently, she’s worked on domain-specific languages at an endpoint security company. You can find her blog on pranks, compilers, and other computer science topics at https://norasandler.com.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
C
559
Modern C for Absolute Beginners
513,000 تومان
C
1,094
Secure Coding in C and C++
882,000 تومان
C
1,496
Effective C
454,000 تومان
C
844
Intermediate C Programming for the PIC Microcontroller
500,000 تومان
C
144
Test Driven Development for Embedded C
505,000 تومان
الگوریتم‌‌ها
985
Modern Data Mining Algorithms in C++ and CUDA C
373,000 تومان
C
903
C Interfaces and Implementations
814,000 تومان
C
1,007
CMake Cookbook
880,000 تومان
C
708
Pointers on C
889,000 تومان
++C
2,222
Clang Compiler Frontend
466,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©