исполнения для бинарного парсинга (без непосредственной подвязки и упора на сетевое применение/пакетное общение)?
- Kaitai Struct известна и не подходит, поскольку либо времени компиляции, либо проксируется через интерпретируемый сторонний язык (Lua/Python/Nim/etc). Посредники не нужны.
- Spicy известен. В принципе подошел бы, но это только если костылями и такой-то матерью выдирать из него саму библиотеку, поскольку в норме это stand-alone tool.
- DataScriptLanguage известен и является чем-то не очень понятным времен Мезозоя. Хотя судя по примерам синтаксиса мог бы подойти (если найдется адекватная имплементация).
- Marpa тоже являет собой что-то очень невнятное.
Я, честно говоря, весьма удивлен, что уже несколько часов последовательного гуглежа не принесли сколь-нибудь внятного результата. Неужели опять велосипедостроительствовать?..
gnu poke посмотри, что-то вроде кайтая
Это, судя по всему, что-то настолько тяжеловесное, что с тем же успехом можно прямо на любом интерпретируемом языке писать (и может даже лаконичнее выйти). Но спасибо за предложение.
> реализацией DSL времени исполнения для бинарного парсинга (без непосредственной подвязки и упора на сетевое применение/пакетное общение) это не очень понятно пока, попробуй развернуть или перефразировать
Ну Вы правильный пример предложили, просто очень тяжелый, насколько я вижу. DSL - Domain-Specific Language. Под временем исполнения подразумеваю, что библиотека/байндинг должны предоставлять возможность загружать код/разметку/whatever во время исполнения программы их использующей. Но что-то вроде Google Protobufs не подходит, поскольку слишком ограничено и узкоспецифично.
Обсуждают сегодня