Gab es eine Sprachänderung, die dies erforderte, oder einen praktischen Grund, warum Bison nicht mehr angemessen oder optimal war?
Ich habe auf Wikipedia gesehen, dass sie gewechselt haben, unter Bezugnahme auf die Versionshinweise zu GCC 3.4 und GCC 4.1 .
In diesen Versionshinweisen heißt es:
Ein handgeschriebener C ++ - Parser rekursiver Abstammung hat den von YACC abgeleiteten C ++ - Parser aus früheren GCC-Versionen ersetzt. Der neue Parser enthält eine stark verbesserte Infrastruktur, die für ein besseres Parsen von C ++ - Quellcodes, die Handhabung von Erweiterungen und eine saubere Trennung (soweit möglich) zwischen ordnungsgemäßer Semantikanalyse und Parsen erforderlich ist. Der neue Parser behebt viele Fehler, die im alten Parser gefunden wurden.
Und:
Der alte Bison-basierte C- und Objective-C-Parser wurde durch einen neuen, schnelleren handgeschriebenen Parser für rekursiven Abstieg ersetzt
Ich würde gerne wissen, welche tatsächlichen Probleme sie hatten und warum es unmöglich / unpraktisch war, sie mit Bison zu lösen