Zig, parser combinators, and why they're awesome
In this article we will be exploring what parser combinators are, what runtime parser generation is - why they're useful, and then walking through a Zig implementation of them.
Hexops developer log. Join as we develop Mach engine in the Zig programming language and create the next generation of games.
Visit devlog.hexops.com → RSS feedOn Hacker News Mar 2021 – Feb 2024
Software Engineering 7Games & Graphics 3Systems & Performance 2Programming Languages 2
In this article we will be exploring what parser combinators are, what runtime parser generation is - why they're useful, and then walking through a Zig implementation of them.
This is a story about the messy state of Microsoft’s DirectX shader compiler, and trying to wrangle it into a nicer experience for game developers. In some respects, building the DXC compiler better than how Microsoft does.
Five months ago we announced some of our vision for Mach & the future of graphics with Zig. Today we've reached Mach v0.1 with over 1,100 commits.
As we've been building Mach engine, we've been using a neat little pattern in Zig that enables writing flag sets more nicely in Zig than in other languages. Here's a brief explainer.
In the coming months, we'll begin to have truly cross-platform low-level graphics, with the ability to cross compile GPU-accelerated applications written in Zig from any OS and deploy to desktop, mobile, and (in the future) web.
Today, I am announcing mach/glfw: Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
A 700+ commit complete rewrite of mach/gpu (the WebGPU interface for Zig) has been completed, enabling seamless use of Dawn (Google Chrome's WebGPU implementation) for native Zig applications.