Я досліджував про набір компіляторів GCC на вікіпедії тут , коли це придумав:
GCC почав використовувати парсери LALR, створені разом із Bison, але поступово перейшов на рукописний рекурсивно-десертний парсер; для C ++ в 2004 році, а для C і Objective-C в 2006 році. В даний час усі передні торці використовують рукописні рекурсивно-розбірні аналізатори
Отже, в останньому реченні (і стільки, наскільки я довіряю вікіпедії), я можу однозначно сказати, що "C (gcc), C ++ (g ++), Objective-C, Objective-C ++, Fortran (gfortran), Java (gcj), Ада (GNAT), Go (gccgo), Pascal (gpc), ... Ртуть, Modula-2, Modula-3, PL / I, D (gdc) і VHDL (ghdl) "- це всі передні частини, які ні більше використовувати генератор парсера. Тобто всі вони використовують рукописні парсери.
Тож моє запитання: чи є така практика всюдисуща? Зокрема, я шукаю точні відповіді на те, "чи стандартна / офіційна реалізація x має рукописний аналізатор" для x в [Python, Swift, Ruby, Java, Scala, ML, Haskell]? (Насправді тут також вітається інформація про будь-які інші мови.) Я впевнений, що зможу знайти це самостійно після багатьох копань. Але я також впевнений, що громада легко відповідає за це. Спасибі!