Мне нравится учебник LLVM - он начинается с представления рукописного лексера для игрушечного языка под названием Kaleidoscope, сначала как упражнение «грамотное программирование» с хорошими текстовыми объяснениями каждого бита; это продолжается созданием синтаксического анализатора, который создает абстрактное синтаксическое дерево в том же стиле; затем все это (400 строк рукописного автономного C ++ для lexer, parser и AST builder) снова отображается как полный исходный файл .cpp, так что вам не нужно собирать все это самостоятельно. Следующие главы показывают генерацию кода, JIT, оптимизацию, ... действительно полезное небольшое учебное пособие! Но вы можете остановиться на лексере, если это все, что вы сейчас хотите понять; -).