TeX как язык программирования, пожалуй, самый сложный (неэзотерический) язык, когда-либо созданный с огромным количеством «зарезервированных слов».Вы можете переназначить значение каждого символа в том виде, в котором он читается процессором, и вообще делать то, с чем вы обычно не сталкиваетесь при синтаксическом анализе языка.
Если вы действительно хотите создать свой собственный анализатор TeX, у вас будетпостроить на оригинальном TeX.Исходный код не только доступен, но он написан как грамотная программа с использованием оригинального WEB-инструмента Кнута.
Чтобы еще больше усложнить ситуацию, вы всегда используете макропакет с TeX.Пакетом по умолчанию является Plain, а наиболее известным является LaTeX.Пакет макросов содержит нетривиальный объем кода, который вы должны будете включить, чтобы иметь возможность анализировать определенный «диалект» TeX, который вы хотите анализировать.