Alternatives
Products that do what Peppa PEG – An Ultra Lightweight PEG Parser in ANSI C does
After reading the [PEG Parsers series] written by Guido van Rossum, I started thinking writing a PEG Parser in ANSI C. Here are the reasons: - It's FUN. I've made several parser libraries, such as JSON, Mustache, Markdown, and I think I can take the challenge now. - I haven't had any opportunity to work on an Open Source project written in ANSI C. - Having a PEG parser in ANSI C can benefit whoever is developing a parser, as adding C bindings for other programming languages are not too difficult. And after SIX months' development, my project is now kinda feature complete. It's named Peppa…
- 1BA
I've built many interpreters over the years, and Bolt represents my attempt at building the scripting language I always wanted. This is the first public release, 0.1.0! I've felt like most embedded languages have been moving towards safety and typing over years, with things like Python type hints, the explosive popularity of typescript, and even typing in Luau, which powers one of the largest scripted evironments in the world. Bolt attempts to harness this directly in the lagnauge rather than as a preprocessing step, and reap benefits in terms of both safety and performance. I intend to be…
2025 · github.com
- 2DA
I've been working on an ANSI art editor off and on for a while. It works like a traditional ANSI text editor, except it supports 256 colors, Unicode and CP437 encoding, frame-based animation, custom UI themes, terminal mouse input, HTML and IRC color output, and runs in Utf-8 terminals. It's written in Python and curses, and is fairly portable across Unix systems. If you have ever used TheDraw or Aciddraw, the user interface is similar. It can also load/convert, view, edit and save most CP437 (MS-DOS style) ANSI art in a Utf-8 terminal, so you can view ANSI artscene packs in the comfort…
2024 · github.com
- 3VL
2012 · github.com
- 4GI
Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D
2023
- 5SA
* https://sparser.io * https://github.com/Unibeautify/sparser This is my attempt at creating a universal language parser. It attempts to solve a couple of problems: * Support multiple languages * Recursively extend support to languages embedded within other languages * Output a uniform format for all supported languages This is a personal project so any feedback would be helpful. Something interesting I found after I built it is that this parser is not as fast to write output as many other JavaScript parsers, but its output is much faster to read from due to the…
2019
- 6MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org
- 7IW
The book page links to a blog post that explains how I got about it (and has a link to sample content), but the TL&DR is that I could not find a lot of books that were on "our" history _and_ were larded with technical details. So I set about writing one, and some five years later I'm happy to share the result. I think it's one of the few "computer history" books that has tons of code, but correct me if I'm wrong (I wrote this both to tell a story and to learn :-)). My favorite languages are Smalltalk and Lisp, but as an Emacs user, I've been using the latter for much longer and for my…
Feb 2026 · berksoft.ca
- 8HO
I built a lightweight GIF decoder in pure C, ideal for embedded or performance-critical environments. It’s header-only, zero dynamic memory allocations, and fully platform-independent. Supports both static and animated GIFs, with turbo and safe decoding modes. Works great on microcontrollers, IoT devices, and anything with a framebuffer. Would love feedback or ideas where this could be useful. Github: https://github.com/Ferki-git-creator/TurboStitchGIF-HeaderOn...
2025
- 9LP
Hi! I am doing a learning project, attempting to build an imperative language (and interpreter). The end product will be useless for others, I just want to learn and better understand how to build imperative languages. :) If someone else shares this interest and want to give some good hints on good resources I would be grateful. Currently I am looking at an awesome text by Bob Nystrom. All suggestions and tips on resources are most welcome. I am very much a beginner in this, but I find this topic very fascinating. Mail me or post links here! Cheers! You can try a beta version Online at…
2020
- 10ZP
I wanted something lighter than zig autodoc so I've implemented (and golfed a bit) a custom parser using parser combinators in JS. It's not 100% correct and it's also not meant to be, all I care about is if it can parse my own Zig code, not any valid Zig code. There are also some bugs, and I don't intend to support, nor develop this much further, consider it vaporware which you are free to fork and use it for something, or just have some fun reading the code and figuring out how it works (I certainly had a lot of fun implementing it - no LLMs, so it was a nice exercise too). BTW: I know it's…
Jan 2026 · github.com
- 11WA
First time ever working on something like this, check it out
2024 · github.com
- 12FA
I made this tool to add support for custom ANSI palettes to kubetail (https://github.com/kubetail-org/kubetail). Maybe you'll find it useful too. Let me know if you have any suggestions!
2024 · github.com
- 13EA
Hi HN, I made a lightweight, header-only GIF decoder in C, inspired by stb-style libraries. No dynamic allocation, portable, and optimized for embedded devices. GitHub: https://github.com/Ferki-git-creator/TurboStitchGIF-HeaderOn... Would love feedback or suggestions.
2025 · github.com
- 14AOAn ORM for C▲16
I mentioned this here a week or so back and there was some interest, so I've been tidying things and making the docs available. Announcement: http://isti.bitbucket.org/2013/06/21/orm-for-c-2.html Docs (start here!): https://bitbucket.org/isti/c-orm/wiki/Home Source: https://bitbucket.org/isti/c-orm/src Example app: https://bitbucket.org/isti/c-orm/wiki/SimplePhonebook It's very much beta (not used in any production code yet), so please take care. But the tests work and it's a…
2013
- 15AA
I’ve had this idea for a new code editor chord grammar bouncing around in my head for over 2 years, and now I can finally release v0.1 of ane. You can run it one-shot from scripts or agents (`ane exec —chord…`) or use its full-on TUI editor. ane is pure Rust, and integrates tree-sitter and LSP to provide a pleasant and predictable terminal code editing experience. I’d love folks to try it out and give feedback! Thanks :)
May 2026 · github.com
- 16OS
2014 · divide.io
- 17IB
You know that old TI calculator you used in high school, then put in a box and forgot about? Have you ever wished you had an operating system for your calculator with preemptive multitasking, dynamic memory management, a tree filesystem conforming to the FHS, and all the comforts of Unix? Well, good news: that's totally a thing that exists. I've been working on my kernel for about three and a half years now and I'm looking for new contributors to help out. It's written entirely in z80 assembly, and it's both challenging and fun to work on. There's an IRC channel for contributors or people…
2014
- 18IA
Hi there. I'm working on a programming language -- called Ink - in my spare time, with a friend. It uses LLVM for the backend, the parser and lexer are both hand written in C. The project is just for a bit of fun, we aren't trying to "revolutionize the programming language", but we're okay with being a bit quirky and out of the box with some of the syntax/features in the language. At the moment, the language is in it's early stages, and there's still a lot to do, which means that if you want to learn more about compilers, now would be a good time to start working on the language, since…
2015
- 19SV
Hi HN! I've spent the last few weeks optimizing the string operations in StringZilla. You'd be surprised how much performance GLibc and the Standard Templates Library of C++ are leaving on the table, especially on Arm and, likely, on RISC-V. I've significantly increased the number of implemented algorithms for different workloads. Searching across English texts on Arm, for example: - is 4.4x faster than STL, - and 16.8x faster in reverse order. The new version of the library now includes a C++ binding largely compatible with the C++ Standard, featuring all 17 overloads of the `replace`…
2024 · github.com
- 20BA
Hi HN, I'm the author. I built this project for two simple reasons: I've always used higher-level languages and wanted to finally understand what's happening "under the hood" of an interpreter. I also wanted a real project to force me to "power up" my C skills, especially with manual memory management and reference counting. The result is ToyForth, a minimal interpreter for a Forth-like language, written from scratch in C, stack-based. I focused on making the code clean and understandable. It's broken down into a few simple parts: A parser that turns source text into a list of objects…
Nov 2025 · github.com
- 21EC
Hey everyone! I just launched Essentials-C, a minimal C library with handy functions for string and array manipulation – built from scratch with simplicity and learning in mind. Highlights: - `length`, `reverse`, `substring`, `trim`, `replaceChar`, etc. - `bubbleSort`, `includes`, `startsWith`, `endsWith`, and more - Pure C, no external dependencies - Clean, readable code – great for beginners and power users I’m building it to be the “Essentials” of every C project — feel free to contribute or suggest features! GitHub: https://github.com/oileo/Essentials-C Feedback is…
2025 · github.com
- 22IR
I rewrote the most common core string.h functions in pure C. I mostly did it to learn pointers and string. Would love to get any feedbacks:)
2025 · github.com
- 23CC
Hey HN! Here is my simple native macOS app for correcting grammar — CMD+C. I'm a non-native English speaker working in English-speaking teams, and I care about how my Slack messages and other communications come across. Frustrated with switching between grammar tools, apps that don't support some input boxes, and endless copy-pasting, I built CMD+C — a simple macOS app that corrects grammar on the fly in any app, with just a triple-click. Features: 1) Triple-click "⌘+C" to correct any selected text instantly, no matter where you're typing. 2) Use your own API key (OpenAI, Anthropic) or…
2024 · cmd-c.app
- 24

Simple light-weight package manager and build system written in C for c/c++ projects - mainak55512/flint
8d ago · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →