• Stars
    star
    10,294
  • Rank 3,367 (Top 0.07 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created about 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Compiler Writing Journey

A Compiler Writing Journey

In this Github repository, I'm documenting my journey to write a self-compiling compiler for a subset of the C language. I'm also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.

But not too much theory, I want this to be a practical journey.

Here are the steps I've taken so far:

There isn't a schedule or timeline for the future parts, so just keep checking back here to see if I've written any more.

Copyrights

I have borrowed some of the code, and lots of ideas, from the SubC compiler written by Nils M Holm. His code is in the public domain. I think that my code is substantially different enough that I can apply a different license to my code.

Unless otherwise noted,

  • all source code and scripts are (c) Warren Toomey under the GPL3 license.
  • all non-source code documents (e.g. English documents, image files) are (c) Warren Toomey under the Creative Commons BY-NC-SA 4.0 license.

More Repositories

1

pdp7-unix

A project to resurrect Unix on the PDP-7 from a scan of the original assembly code
Assembly
429
star
2

CSCvon8

A crazy small 8-bit CPU built with only seventeen 7400-series chips.
Perl
102
star
3

unix-jun72

The working source code to PDP-11 Unix from 1972.
Assembly
90
star
4

SubC

A Tour Through the SubC Compiler
C
81
star
5

CSCv2

Version 2 of my Crazy Small CPU
Perl
64
star
6

xv6-freebsd

Ths project adds a FreeBSD libc, other libs and a runtime to the xv6 kernel
C
62
star
7

fbcc

Fabrice Bellard's fbcc C Compiler
C
35
star
8

4bsd-uucp

Simulate a UUCP network with 4.3BSD SimH images
Lex
31
star
9

Apout

A user-mode simulator for various version of PDP-11 Unix
C
28
star
10

h-compiler

This is a compiler for a high-level language that targets the PDP-7 Unix system,
Perl
23
star
11

ULX3S-Blinky

A blinky project for the ULX3S v3.0.3 FPGA board
Verilog
14
star
12

TTL_TicTacToe

An implementation of Tic Tac Toe in TTL logic
Perl
12
star
13

smallc

Derivative of Ron Cain's Small C Compiler
C
11
star
14

MMU09

A 6809 single-board computer with an MMU
C
9
star
15

2FISC

FISC2: A TTL CPU with Some 16-bit Capabilities
Perl
9
star
16

Wish

This is an interactive Unix shell, originally written for the Minix system
C
7
star
17

Nine-E

A Unix-like environment on an 8-bit 6809 single-board computer
C
7
star
18

ZipTutorials

Toy projects I've created as exercises for the ZipCPU tutorials
Verilog
6
star
19

Verilog_tic-tac-toe

An implementation of "Tic Tac Toe" in Verilog. FPGA versus user, FPGA knows how to win!
Verilog
6
star
20

unix_timesharing_paper

This repository tracks the changes the the "Unix Timesharing System" paper written by Dennis Ritchie and Ken Thompson.
6
star
21

FISC

An 8-bit TTL CPU with a Stack Pointer
Perl
5
star
22

build-ubuntu-vm

Automated Unattended Builds of Various Ubuntu VM Images
Shell
5
star
23

SimpleCPU

Verilog
4
star
24

tlearn

Interactive Linux tool to learn command-line skills
Shell
2
star
25

SwiVM

An implementation of the Swieros VM in Verilog
C
2
star
26

Fuzemsys

FUZIX Compiler Kit Emulators with Syscall Support
C
2
star
27

search_backups

Small scripts to build a catalog on backups and search the catalog
Perl
1
star