Our great sponsors
-
lemon-py
Generic parse tree, configurable lexer, `lemon` parser generator, wrapped for C++17 and Python 3.
-
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.
-
bitwise
Discontinued Bitwise is an educational project where we create the software/hardware stack for a computer from scratch.
-
ion
Self-hosted ion compiler. Based on ion here: https://github.com/pervognsen/bitwise (by tjpalmer)
-
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.
I learned a ton from www.craftinginterpreters.com . Will take you through lexing, parsing, AST generation, bytecode, virtual machines.
You might be interested in my lemon-py project which wraps up lexer and grammar generation into a C++ or Python library that returns a very generic parse tree. To transform from the parse tree to a language-specific AST is then a matter of walking the parse tree and creating properly-typed AST nodes for each parsed construct.
Maybe this will interest you? it's a recursive descent parser for a simple arithmetic language. It covers precedence and associativity, the readme has further resources. If you need more information, feel free to hit me up somewhere, maybe raise an issue.
The language also got a community made self hosting compiler (https://github.com/tjpalmer/ion) one can look into -- funnily enough created by the person that is running the "context free" youtube channel.