Подтвердить что ты не робот

Существуют ли какие-либо методы Haskell для смешанного (частичная структура, часть немодифицированного текста) разбора и переписывания?

Пример проблемы: я хочу написать Haskell script, который выделит (например, с \fbox) первое вхождение математических символов в документе. Надеюсь, это поможет мне обеспечить, чтобы я представил все.

  • Regex неуместны, поскольку они не будут знать, что в математическом режиме и т.д., и не имеют логики для подсчета вещей или знают, что переменная из следующего \section на самом деле является новой переменная.

  • Я также не хочу писать парсер для всех LaTeX. Вероятно, вероятность ошибок высока, и я просто хочу написать script, а не коммерческую программу.

Я написал смешанный синтаксический анализатор, который получил некоторую структуру и оставил в качестве текста текст в ответ на вопрос здесь. [Как вы используете парсер жадным способом?. Но мой подход был громоздким. Есть ли лучший, более формальный способ?

4b9b3361

Ответ 1

Вы можете взглянуть на библиотеку Pandoc на Hackage для анализа Latex. Это позволит вам анализировать, модифицировать и красиво печатать латекс, а также множество других форматов.