A simple stack-based virtual machine that runs C in the browser.
Branch: master
Clone or download
Latest commit 9dab261 Feb 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
framework part2 Feb 17, 2019
src typo Feb 18, 2019
.gitattributes Initial commit Feb 9, 2019
LICENSE Initial commit Feb 9, 2019
README.md Update README.md Feb 18, 2019
index.html part2 Feb 17, 2019
support.md Update support.md Feb 15, 2019


What is it?

  1. A simple stack-based virtual machine that runs C (missing features below) in the browser.

  2. The beginning of an interactive tutorial that covers C, how the VM works, and how the language is compiled.


This project is made as an experiment to see if C can be learned easier if the lower level is covered in parallel. My current goal is to release a series of tutorials that teach C from the ground up, without having to take anything for granted. I strongly believe that understanding the thought process behind something makes learning it so much easier.

Can I see it?


Tutorial (for people with 0 programming experience or willing to learn C) :

Get notified when new tutorials are released.

Join the discussion on our subreddit.

Staring helps.

Consider supporting the project

Missing language features

  • operator new is working (like in C++), no malloc

  • static arrays and structs (dynamic arrays and pointer to structs work fine).

  • Arrays of structs (arrays of pointers to structs works fine).

  • for, switch statements

  • preprocessor directives

  • bit operators

  • only bool,int,char as primitive types and they all have the same size in memory

  • ++,--,ternary

  • union,enum

  • global variables

  • macros

  • delete / delete[]

  • function overloading