SaaSHub helps you find the best software and product alternatives Learn more →
Pl0c Alternatives
Similar projects and alternatives to pl0c
-
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
-
-
-
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.
-
FLOX
An adaptation of the interpreter from the book 'Crafting Interpreters' by Robert Nystrom written in F# (by BazookaMusic)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
Let-s-build-a-compiler
A C & x86 version of the "Let's Build a Compiler" by Jack Crenshaw
-
-
the-super-tiny-compiler
:snowman: Possibly the smallest compiler ever
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
pl0c reviews and mentions
-
The Super Tiny Compiler
> 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.
-
single pass compilers (basic questions)
Single-pass compiler tutorial
-
Compiler tutorials.
Let's Write a Compiler
-
Let's write a compiler, part 3: A parser
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.
> Using the character constants in the code as in expect('+') or whatever is clearer.
That's not how it works, TOK_* represent whole elements, the element may happen to be a single character, but it can be a word. It would be highly confusing to pass single characters to expect() as you wouldn't know at first sight whether it expects a simple character or an element. The TOK_* could as well be assigned a random number as you say in your following sentence. And they were until yesterday :-) I guess it is easier to debug with mnemonic characters.
https://github.com/ibara/pl0c/commit/aba92627deac3f8cfe08679...
-
A note from our sponsor - SaaSHub
www.saashub.com | 28 Mar 2024
Stats
ibara/pl0c is an open source project licensed under ISC License which is an OSI approved license.
The primary programming language of pl0c is C.