Есть ли более современный, возможно, объектно-ориентированный, эквивалент Джека Креншоу « Let's Build a Compiler "series?
Некоторое время назад я наткнулся на" Let's Build a Compiler "и просто не смог удержаться от написания кода. Я написал компилятор C с рекурсивным спуском на C #, который выводит .NET CIL. «Пиши один раз, утечка повсюду» - был моим лозунгом.
Жаль, что я слишком поздно осознал, что синтаксический анализ C - это кошмар.
Теперь я заинтересован в написании компилятора Java на Java, который выводит .NET CIL или сборки с целью самозагрузки. Я надеялся, что появятся какие-то новые учебники.
Кроме того, Вы бы потратили больше времени на предварительный дизайн или просто напишите тонну тестов для поддержки возможности беспощадного рефакторинга. Оглядываясь назад, я склоняюсь к последнему. Компилятор работал, но код был ужасным.