Microsoft is writing a PHP parser that handles error recovery well, and the internals docs are really accessible.
It includes a discussion of handling trivia and even some sample parsing code.
miniblog.
Related Posts
Caddy is really growing on me. It's nice having a web proxy that includes letsencrypt functionality without any additional configuration.
I've tended to use nginx with a separate letsencrypt setup for projects before, and it's much more awkward.
Today I learnt about Solargraph, an LSP for Ruby which includes an impressive amount of type inference and type checking! https://solargraph.org/guides/type-checking
Type signatures are parsed from doc comments, similar to JSDoc with TypeScript.
Zig has moved to a compiler bootstrap approach that uses webassembly: https://ziglang.org/news/goodbye-cpp/
They check in the wasm artifact and provide their own wasm compiler. wasm is the most portable backend supported by LLVM.
OCaml does something similar! It includes a minimal VM.