pl0c VS the-super-tiny-compiler

Compare pl0c vs the-super-tiny-compiler and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
pl0c the-super-tiny-compiler
5 19
122 27,396
- -
0.0 0.0
over 2 years ago 2 months ago
C JavaScript
ISC License Creative Commons Attribution 4.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pl0c

Posts with mentions or reviews of pl0c. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-02.
  • The Super Tiny Compiler
    3 projects | news.ycombinator.com | 2 Mar 2023
    > Some compilers tokenize while parsing, but for a different reason: it's faster and uses less memory to generate the AST

    And some don't even generate an AST. :) Just read in and emit or interpret.

    https://briancallahan.net/blog/20210814.html

  • single pass compilers (basic questions)
    3 projects | /r/Compilers | 20 Feb 2022
    Single-pass compiler tutorial
  • Compiler tutorials.
    4 projects | /r/C_Programming | 9 Feb 2022
    Let's Write a Compiler
  • Let's write a compiler, part 3: A parser
    4 projects | news.ycombinator.com | 16 Aug 2021
    I don’t think there will be an AST. https://briancallahan.net/blog/20210814.html: “We will be writing a single-pass compiler for a simple language and immediately output our final output code as soon as our compiler has enough information to do so”

    That “as soon as” implies code will be generated before the entire program has been parsed.

    Also, for me single-pass implies “no AST”, as you would need at least one pass to construct one, and iterating over an AST counts as another pass for me.

the-super-tiny-compiler

Posts with mentions or reviews of the-super-tiny-compiler. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-07.
  • ESLint: under the hood
    4 projects | dev.to | 7 Nov 2023
    Now, those concepts are a whole entire world to explore, and this is out of the scope of this article. I suggest the reading of the Chapters 4, 5 and 6 of the book Crafting Interpreters by Robert Nystrom for a wider (but still practical) understanding of those subjects. Another practical great resource to look at is The SuperTiny Compiler. To explore them from a theorical point of view, you can find A LOT of resources from books or courses online.
  • Abstract Syntax Trees and Practical Applications in JavaScript
    13 projects | dev.to | 21 Oct 2023
    The super tiny compiler by Jamie
  • GCC uses GCC to compile itself
    2 projects | /r/ProgrammerHumor | 24 May 2023
    I am currently writing a much more intricate version of the Super Tiny Compiler (https://github.com/jamiebuilds/the-super-tiny-compiler) in Rust, only I plan on handling many basic operations, essentially a compiler for a MUCH simpler version of Go. Great project idea btw, for anyone who wants to explore compilers. But in doing so, have really found a new respect for just what is going on when you gcc -o garbageprogram mytrashcode.c
  • how would you make a programming language if you were a complete beginner?
    1 project | /r/learnprogramming | 4 May 2023
    Here, at least take this floatie: https://github.com/jamiebuilds/the-super-tiny-compiler
  • Any good resources for reading code?
    1 project | /r/learnjavascript | 1 May 2023
    Outside of this, I recently learned about The Super Tiny Compiler which was a project written to be read. Mind you, it has a vast amount of comments, which may be more of a leg-up than you're asking for.
  • Ask HN: Guidance on writing a source to source compiler (transpiler)
    2 projects | news.ycombinator.com | 12 Mar 2023
    You could start here:

    https://github.com/jamiebuilds/the-super-tiny-compiler

    That converts from lisp-like to javascript. Really though this is a big field, and there are lots of resources out there.

    To get started look at your input language; you'll need to lex and parse that. Then massage the parsed structure into the appropriate output.

    You can see me convert brainfuck to C, or x86 assembly language here:

    https://github.com/skx/bfcc

  • The Super Tiny Compiler
    1 project | /r/patient_hackernews | 3 Mar 2023
    1 project | /r/hackernews | 3 Mar 2023
    1 project | /r/hypeurls | 2 Mar 2023
    3 projects | news.ycombinator.com | 2 Mar 2023

What are some alternatives?

When comparing pl0c and the-super-tiny-compiler you can also consider the following projects:

cproc - C11 compiler (mirror)

write-a-C-interpreter - Write a simple interpreter of C. Inspired by c4 and largely based on it.

pegasus - A parser generator for C and Crystal.

es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets

honey-potion - Writing eBPF programs with Elixir!

minipack - 📦 A simplified example of a modern module bundler written in JavaScript

Understanding-Unix-Linux-Programming - Source code of Understanding Unix/Linux Programming. The book provides example code in C, I would like to replicate it in Rust.

flowy - The minimal javascript library to create flowcharts ✨

swifties - a custom language construction kit

fslightbox - An easy to use vanilla JavaScript plug-in without production dependencies for displaying images, videos, or, through custom sources, anything you want in a clean overlying box.

mini-c - Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours

raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi