Показаны сообщения с ярлыком XML. Показать все сообщения
Показаны сообщения с ярлыком XML. Показать все сообщения

воскресенье, 23 декабря 2012 г.

Simple Style Format

Появилась идея создать свой текстовый формат, да да знаю что это очередной велосипед который никому ненужен, но всё таки. Вот примерная концепция.
 + атрибут
 // комментарий
 // атрибуты грузятся построчно, и могут быть загружены до загрузки всего файла
 /*
 многострочный 
 комментарий 
 */

 NodName = "Some Text" // Узел может иметь значение и вложенные узлы
 {
    Nod = 1; // Целочисленная запись
    Nod = 2.5; // Дробная
    Nod = "Text"; // Текст по определению является многострочным, сохраняет все переносы
    Nod = 0xFABC89D2F3 ;// Бинарные данные
    Nod = !SomeRaw; // Псевдоним для бинарных данных

    // Массив с смешанными значениями
    Nod = [ "Text", 1, 2.5,  0xFABC89D2F3 , !SomeRaw, ArrNode = "text" { nod = 1;} ]  
    {
       SubNod = "Text";
    }
 }
 // В документе может быть сколько угодно начальных узлов, нет ограничения как в XML
 NodName = !SomeRaw;

 // Псевдоним для бинарных данных всегда начинается с !, не может находится внутри узла
 !SomeRaw = 0xFABC89D2F3; 

вторник, 24 апреля 2012 г.

Google Protocol Buffer

Не знаю может я такой криворукий, или может не умею искать информацию в интернете, но у меня так и не получилось с экспортировать классы генерируемые GPB в dll, постоянное падение линковки на двух функциях. Это печали сразу по нескольким причинам:
1- На GPB основывалась сериализация моего DataCloud.
2- GPB планировалось использовать для написания формата моделей.
3- GPB мог сохранятся сразу в двух видах, в текстовом и в бинарном, а значит придётся придумывать сразу два формата.
На данный момент решил для бинарного хранения использовать свой формат, а для текстового XML (слава компилятору PugiXML спокойно экспортируется в dll). Казалось бы зачем два формата бери один, но у того и у того есть свои минусы и плюсы. Минусы XML к примеру: он очень долго грузится, он текстовый а значит легко вскрывается, и весит очень много, но для дебага и SVN он подходит идеально, то есть он хорошо подходит на стадии разработки. Бинарный же формат лишён всех минусов XML: он быстро грузится, тяжело вскрывается, и весит много меньше XML, но для этапа разработки он совсем не подходит, с SVN по любому будут проблемы, для отладки данные не посмотришь. Именно поэтому я решил взять оба формата.
up
И так так парой днями раньше я всё таки запилил сериализацию в два этих формата. и само собой формат XML оказался крайне медленным, но зато с свном проблем не будет. Бинарный формат ко всему прочему также поддерживает проверку на целостность блока данных ^_^.