Цитата(SyncLair @ Jan 10 2012, 22:14)

Хочу понять, можно ли такие вещи использовать в практике программирования МК, ну например для реализации парсинга каких-нибудь сетевых протоколов. Чем подкупает, на первый взгляд, данные программы тем, что можно описывать форматы данных сетевых пакетов, сообщений и быстро их менять. Ну например сегодня у Вас поле занимает два байта, а завтра три. Или была строка цифр только целочисленного числа, а теперь нужно чтобы число было с плавающей точкой.
Парсеры работают по жестким схемам задаваемым в нотациях типа BNF (Backus Naur Form).
Правильно построить и без смысловых ошибок такую детализированную схему это задача не легче чем в ручную распарсить протокол.
Потом сгенерированные парсеры будут очень медлительны.
Легче выбрать протокол из готовых универсальных.
Например на базе универсального описания синтаксиса данных ASN.1 c соответствующей кодировкой типа BER.
Парсер ASN.1 можно найти в бесплатных стеках протоколов TCP/IP в которых есть протокол SNMP.
Там уже предусмотрены все разумные типы данных: int, float, string, boolean ...
Хотя конечно будет избыточность из-за явной передачи типа данных. Но бинарное сжатие делает его не сильно заметным.