Кстати, в каком-то обсуждении был вопрос, а как BioJulia текст парсит.
Не знаю, используют ли они до сих пор этот пакет, но в их репозитории есть вот такая штука:
https://github.com/BioJulia/Automa.jlПо сути ребята берут регулярку и из неё строят конечный автомат, который (метапрограммирование!) превращается просто в обычный джулия код.
При этом у них есть опция unroll, когда они уменьшают количество циклов за счёт построения более развесистого if дерева.
В результате в некоторых бенчмарках они в несколько раз обгоняют встроенный парсер регулярок.
Ну и за счёт того, что это конечный автомат, они цепляют действия на состояния и получают мощный текст процессор.