Not sure about GCC, but in general there has been a big move away from using parser generators like flex/bison/ANTLR/etc, and towards using handwritten recursive descent parsers. Clang (which is the C/C++ frontend for LLVM) does this, and so does rustc.
afdbcreid|2 months ago
AFAIK the reason is solely error messages: the customization available with handwritten parsers is just way better for the user.
muvlon|2 months ago
https://github.com/NixOS/nix/blob/master/src/libexpr/parser....
https://github.com/NixOS/nix/blob/master/src/libexpr/lexer.l
sanxiyn|2 months ago
gpderetta|2 months ago