Home - madwareru/drafting-interpreters GitHub Wiki

Добро пожаловать в туториал Drafting Interpreters!

Данная вики содержит собрание мыслей автора о том как писать интерпретаторы скриптовых языков программирования на основании прочтения различных материалов на данную тематику и экспериментов. Само название является шуточной отсылкой к книге Crafting Interpreters за авторством Rob Nystrom, так же в известной мере идеи черпаются из книг Essentials Of Programming Languages, Writing Interpreter in Go, и Бог знает каких ещё источников. Некоторые идеи по случайному стечению обстоятельств мои личные.

Языком реализации выбран C# как один из наиболее популярных языков программирования, тем не менее, не стоит считать данный материал как собрание лучших практик по написанию интерпретаторов на C#. Интерпретаторы пишутся с довольно активным использованием функционального стиля программирования и скорее приглашают читателя после прочтения данного туториала попробовать разобраться с функциональными языками, такими как F#, OCaml, Haskell, где предложенные идеи раскроются в полной мере.

Я постарался выстроить материал в стиле "от простых концепций к более сложным", в туториале достаточно много упражнений для самостоятельного выполнения, выполнять их не обязательно, так как в конце каждого раздела с практикой есть ссылка на тег в репозитории, содержащий реализацию упомянутого функционала, тем не менее крайне желательно эти упражнения выполнять и в случае возникновения ошибок пробовать их разрешить самостоятельно. Таким образом вы усвоите материал наиболее полно, в той же мере, что и я сам, а может быть даже углубитесь в понимании вопроса намного глубже!