Пример задачи : я хочу написать скрипт на Haskell, который будет выделять (например, \fbox
) первое вхождение математических символов в документе. Надеюсь, это поможет мне убедиться, что я все представил.
Регулярные выражения неуместны, так как они не будут знать, что находится в математическом режиме и т. Д., Не имеют логики для подсчета вещей или не знают, что переменная из следующего \section
на самом деле является новой переменная.
Я также не хочу писать парсер для всех LaTeX. Кажется, вероятность ошибок высока, и я действительно хочу написать сценарий, а не коммерческую программу.
Я написал смешанный парсер - тот, который получил некоторую структуру и сохранил остальное в виде текста, в ответ на вопрос здесь. [ Как вы используете жадный парсек? ]. Но мой подход был громоздким. Есть ли лучший, более формальный способ?