Are Parser Generators Common? No.
So there are parser generators like Yacc, Bison, and friends, and there are also handwritten parsers.
How often are parser generators used in mainstream languages compared to handwritten ones?
After looking through some languages/implementations, I found 16/55 used generated parsers.
Language | Parser Type |
---|---|
AWK | Generated |
Bash | Generated |
C# (Mono) | Generated |
C# (Rosyln) | Handwritten |
C, C++, ObjC (Clang) | Handwritten |
C, C++, ObjC (GCC) | Handwritten |
CPython | Handwritten |
Clojure | Handwritten |
CQL | Generated |
CSS (Blink) | Handwritten |
CSS (Stylo) | Handwritten |
CSS (Webkit) | Handwritten |
Dart | Handwritten |
Elixir | Generated |
Elm | Handwritten |
Erlang | Generated |
Fish | Handwritten |
Fortran (GNU) | Handwritten |
Fortran (LLVM) | Handwritten |
F# | Generated |
Go | Handwritten |
Hack | Handwritten |
Haskell | Generated |
HTML (Blink) | Handwritten |
HTML (Gecko) | Handwritten |
HTML (Webkit) | Handwritten |
Java (OpenJDK) | Handwritten |
JavaScript (JavascriptCore) | Handwritten |
JavaScript (Spidermonkey) | Handwritten |
JavaScript (V8) | Handwritten |
JQ | Generated |
Kotlin | Handwritten |
Lua (C) | Handwritten |
Lua (LuaJit) | Handwritten |
Nim | Handwritten |
OCaml | Generated |
PHP | Handwritten |
Perl5 | Generated |
Perl6 | Handwritten |
PyPy | Handwritten |
Ruby | Generated |
Rust | Handwritten |
Scala | Handwritten |
Scss | Handwritten |
Sed | Handwritten |
SQL (Clickhouse) | Handwritten |
SQL (Cockroach) | Generated |
SQL (MySQL) | Generated |
SQL (Postgres) | Generated |
SQL (SQLite) | Generated |
Swift | Handwritten |
TCL | Handwritten |
TypeScript | Handwritten |
Visual Basic (Rosyln) | Handwritten |
Zsh | Handwritten |