Прошло уже почти 30 лѣтъ послѣ публикацiи этой статьи. Ну и гдѣ это всё? Кажется, никто не пользуется этимъ методомъ для созданiя компиляторовъ новыхъ языковъ. У всѣхъ парсеры, intermediate representation и backend пишутся руками, а не генерируются изъ высокоуровневыхъ спецификацiй.
Было на эту тему нѣкое объясненiе - почему парсеры до сихъ поръ приходится дѣлатъ руками, а не генерировать автоматически. https://tratt.net/laurie/blog/2011/parsing_the_solved_problem_that_isnt.html А именно - грамматики трудно комбинировать (и значитъ трудно развивать языкъ), грамматики неоднозначны и съ этимъ трудно бороться.
no subject
Date: 2025-03-31 07:48 (UTC)Прошло уже почти 30 лѣтъ послѣ публикацiи этой статьи. Ну и гдѣ это всё? Кажется, никто не пользуется этимъ методомъ для созданiя компиляторовъ новыхъ языковъ. У всѣхъ парсеры, intermediate representation и backend пишутся руками, а не генерируются изъ высокоуровневыхъ спецификацiй.
Было на эту тему нѣкое объясненiе - почему парсеры до сихъ поръ приходится дѣлатъ руками, а не генерировать автоматически.
https://tratt.net/laurie/blog/2011/parsing_the_solved_problem_that_isnt.html
А именно - грамматики трудно комбинировать (и значитъ трудно развивать языкъ), грамматики неоднозначны и съ этимъ трудно бороться.
Предлагалось такое рѣшенiе - научиться парсить любую контекстно-свободную грамматику
https://jeffreykegler.github.io/Ocean-of-Awareness-blog/individual/2012/08/the-solved-problem-that-isnt-is.html
Опять-таки, не вижу широкаго примѣненiя этому.