Ever wondered how to build a C compiler from scratch? This course teaches you just that! By the end of this course, you'll be able to develop a compiler that can compile a subset of the C Programming Language. This compiler will be advanced enough to use the GCC standard library and will feature a preprocessor macro system just like any other C compiler.
๐ Get the course at a discount!
This is a comprehensive course that teaches you how to build your very own C compiler. The course covers a wide range of topics, including:
- Pointers
- Structures
- Unions
- Arrays
- Functions
- Loop Constructs
- Conditional Statements
- And much more!
Moreover, we'll also dive deep into the preprocessor system, allowing you to include header files and create definitions just like you would in any C file. We'll be building everything from scratch, without relying on any frameworks, to provide you with the best learning experience.
In the first module, you'll learn how to load a C source file into memory. We'll build a lexer to perform lexical analysis and convert the source code into tokens. These tokens will then be passed through a parser to produce an Abstract Syntax Tree (AST).
In the second module, you'll learn how to create a code generator that outputs 32-bit Intel assembly language. This assembly code can then be compiled to produce a binary executable. This module also introduces the concept of a resolver system to simplify complex expressions.
Module three focuses on creating a preprocessor and macro system. This will enable you to include header files in your C programs and utilize macro keywords like #define
, #ifdef
, sizeof
, etc.
In the final module, we'll build a semantic validator. This will ensure that the code adheres to the rules of C language, like variable declaration and structure access.
- Basic experience with assembly language.
- People interested in compiler design.
- Individuals with a keen interest in assembly language.
- Anyone who wants to deepen their understanding of the C programming language.
- Building a C compiler from scratch.
- A full understanding of stack frames and how assembly language is generated from a C source file.
- Complete understanding of lexical analysis and parsing.
- How to work with Assembly language more efficiently.
- Compiler design fundamentals.
๐ Get the course at a discount!
Don't miss this chance to become an expert in compiler design and C programming. Enroll today!