Czy wymagała tego zmiana języka lub jakiś praktyczny powód, dla którego Bison nie był już odpowiedni ani optymalny?
Widziałem na Wikipedii , że się zmieniły, odnosząc się do informacji o wersji GCC 3.4 i GCC 4.1 .
Te informacje o wersji zawierają:
Ręcznie napisany parser C ++ z rekurencyjnym pochodzeniem zastąpił parser C ++ pochodzący z YACC z poprzednich wersji GCC. Nowy analizator składni zawiera znacznie ulepszoną infrastrukturę potrzebną do lepszego parsowania kodów źródłowych C ++, obsługi rozszerzeń i czystego oddzielenia (tam gdzie to możliwe) między właściwą analizą semantyki i parsowaniem. Nowy parser naprawia wiele błędów znalezionych w starym parserze.
I:
Stary parser C i Object-C oparty na Bison został zastąpiony nowym, szybszym odręcznym parserem rekurencyjno-opadającym
Chciałbym wiedzieć, jakie mieli rzeczywiste problemy i dlaczego rozwiązanie Bison było niemożliwe / niepraktyczne