acwj
Wren
acwj | Wren | |
---|---|---|
25 | 44 | |
9,952 | 6,764 | |
- | 0.5% | |
2.8 | 0.0 | |
4 months ago | 9 months ago | |
C | Wren | |
GNU General Public License v3.0 only | MIT License |
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.
acwj
-
Toy C compiler, worth having an IR stage?
I wrote https://github.com/DoctorWkt/acwj. I'm working on a version with an IR so I can add some optimisations to it. I'd say, yes, have an IR :-)
-
Resources for beginners
Here's another resource: https://github.com/DoctorWkt/acwj
-
Why Take a Compiler Course?
I currently study https://github.com/DoctorWkt/acwj which is quite interesting I have to admit.
I'm interested in this topic, because I want to participate in TinyC compiler's development; I use it quite often to run C demos of mine and its execution is instant.
The least I can do is to either fix bugs or extend it to support more C99, C11, C17 features, and why not even C23 as soon as it gets approved?
All I need is to gain the necessary knowledge and experience to jump right in and start fixing things.
- Any good references/tutorials/text’s for building a compiler?
- A Compiler Writing Journey
- Why does Rust have parameters on impl?
-
Toy languages for implementing a compiler.
I took a journey writing my first compiler, and started with just evaluating integer expressions. From there, I moved to adding language features and ended up with a compiler that could compile itself: https://github.com/DoctorWkt/acwj
- Acwj - A Compiler Writing Journey
Wren
- Tinyssh
-
Show HN: Wren – simple yet super extensible task management system
For a moment I thought it was about wren programming language... [1]
[1] https://wren.io/
-
Attempting each AOC in a language starting with each letter of the alphabet
For "W" you could use Wren.
-
loxcraft: a compiler, language server, and online playground for the Lox programming language
Bob Nystrom also has a blog, and his articles are really well written (see his post on Pratt parsers / garbage collectors). I'd also recommend going through the source code for Wren, it shares a lot of code with Lox. Despite the deceptive simplicity of the implementation, it (like Lox) is incredibly fast - it's a great way to learn how to build production grade compilers in general.
-
Bevy 0.10: data oriented game engine built in Rust
Only kind of unrelated ... Every time I see the Bevy logo I'm reminded of Wren language https://wren.io/
-
Are they all like this?
If you want a pure C99 (sadly not C89 like Lua) immensely fast embeddable language pure interpreter, wren is a great language with excellent features like overload by arity. There is a huge maturity gap between the languages tho.
-
Most important language features not touched in the book "Crafting Interpreters"?
Check out the source to Wren: https://wren.io. It’s from the author of Crafting Interpreters and builds directly on what’s discussed in the book (essentially a more complete Lox) and adds several additional types, including an array.
- Why does Rust have parameters on impl?
- Liberating the Smalltalk lurking in C and Unix
-
What are some good C programs I can read through?
The best C code I have ever read is that of wren.
What are some alternatives?
nelua-lang - Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
os-tutorial - How to create an OS from scratch
LuaJIT - Mirror of the LuaJIT git repository
chibicc - A small C compiler
ChaiScript - Embedded Scripting Language Designed for C++
dnsguide - A guide to writing a DNS Server from scratch in Rust
V8 - The official mirror of the V8 Git repository
write-a-C-interpreter - Write a simple interpreter of C. Inspired by c4 and largely based on it.
Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint
jonesforth - Mirror of JONESFORTH
ChakraCore - ChakraCore is an open source Javascript engine with a C API. [Moved to: https://github.com/chakra-core/ChakraCore]