Skip to content

PacktPublishing/Clang-Compiler-Frontend-Packt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clang Compiler Frontend

Clang Compiler Frontend

This is the code repository for Clang Compiler Frontend, published by Packt.

Get to grips with the internals of a C/C++ compiler frontend and create your own tools

What is this book about?

Discover the power of Clang, a versatile compiler known for its compilation speed and insightful error and warning messages. This book will get you acquainted with the capabilities of Clang, helping you harness its features for performance improvements and modularity by creating custom compiler tools.

This book covers the following exciting features:

  • Get to grips with compiler architecture
  • Gain an understanding of the inner workings of Clang
  • Familiarize yourself with features specific to Clang
  • Investigate various techniques for static code analysis
  • Acquire knowledge on how to use AST matchers
  • Create custom code modification and refactoring tools
  • Explore tools for integrating compiler tools with IDEs

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders.

The code will look like the following:

1 int main() {
2 return 0;
3 }

Following is what you need for this book: This book is for experienced C++ software engineers who have no prior experience with compiler design but want to gain the knoweldge they need to get up and running. Engineers who want to learn about how Clang works and familiarize themselves with its specific features will also benefit from this book.

With the following software and hardware list you can run all code files present in the book (Chapter 1-10).

Software and Hardware List

Chapter Software required OS required
1-8 Ninja Mac OS X, Linux (Any Unix-like OS)
1-8 CMake Mac OS X, Linux (Any Unix-like OS)
1-8 Git Mac OS X, Linux (Any Unix-like OS)

Related products

Get to Know the Author

Ivan Murashko is a C++ software engineer. He earned his Ph.D. in Physics from Peter the Great St. Petersburg Polytechnic University and has over 20 years of C++ programming experience, mostly on Linux. Since 2020, he has worked with LLVM compilers and has been an LLVM committer since 2021. His areas of interest include the Clang compiler frontend, Clang Tools (such as Clang-Tidy and Clangd), and performance optimizations for compilers and compiler tools.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •