GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - nibblebits/PeachCompiler: A C compiler created for the how to create a C Compiler online course

BranchesTags
Open more actions menu

Latest commit

 

History

225 Commits
225 Commits

Folders and files

NameName
Last commit message
Last commit date
.vscode
.vscode
 
 
build
build
 
 
helpers
helpers
 
 
pc_includes
pc_includes
 
 
preprocessor
preprocessor
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
array.c
array.c
 
 
codegen.c
codegen.c
 
 
compiler.c
compiler.c
 
 
compiler.h
compiler.h
 
 
cprocess.c
cprocess.c
 
 
datatype.c
datatype.c
 
 
expressionable.c
expressionable.c
 
 
fixup.c
fixup.c
 
 
helper.c
helper.c
 
 
lex_process.c
lex_process.c
 
 
lexer.c
lexer.c
 
 
main.c
main.c
 
 
node.c
node.c
 
 
parser.c
parser.c
 
 
rdefault.c
rdefault.c
 
 
resolver.c
resolver.c
 
 
scope.c
scope.c
 
 
stackframe.c
stackframe.c
 
 
symresolver.c
symresolver.c
 
 
test
test
 
 
test.c
test.c
 
 
testing.txt
testing.txt
 
 
token.c
token.c
 
 
validator.c
validator.c
 
 

Repository files navigation

Creating a C Compiler from Scratch: A Comprehensive Course

Course Discount

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!

Table of Contents

  1. About the Course
  2. Modules
    • Module 1
    • Module 2
    • Module 3
    • Module 4
    • Module 5
  3. Requirements
  4. Who This Course is For
  5. What You Will Learn

About the Course

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.

Modules

Module 1

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).

Module 2 & 3

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 4

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.

Module 5

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.

Requirements

  • Basic experience with assembly language.

Who This Course is For

  • 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.

What You Will Learn

  • 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.

Enroll Now!

👉 Get the course at a discount!

Don't miss this chance to become an expert in compiler design and C programming. Enroll today!

About

A C compiler created for the how to create a C Compiler online course

Resources

Readme
GPL-2.0 license
Activity

Stars

124 stars

Watchers

6 watching

Forks

43 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.