Stáhnout: brace-beta-3.zip
Zdrojové kódy knihovny jako ZIP balíček. Verze Beta 3Velikost souboru: 27 kB
Podrobnosti
Současná verze knihovny disponuje sice důkladným, ale pouze základním, parserem. Vyjma manipulačních možností daných použitím standardních kontejnerů (ve výchozí konfiguraci) se jedná jen o serializaci a parsování stromů textových údajů a bloků. Žádná další analýza nebo převod textů na jiné požadované hodnoty v knihovně prováděna není. Úložiště samo je ale snadno parametrizovatelné, lze vybrat mezi standardními kontejnery i triviálně doplnit jiný. Parser i serializér jsou nastavitelné až do úrovně volby kódů jednotlivých znaků pomocí tzv. trait struktur. A všechny typy a metody lze instanciovat pro různě široké znakové typy (char, wchar_t, …).
Instalace a použití této knihovny se nijak neliší od jiných C++ knihoven. Naopak, může být ještě snazší, protože je celá knihovna implementována jako šablony v hlavičkových souborech.
Přiloženy jsou dva jednoduché příklady, bohužel ale další jedinou dostupnou dokumentací jsou zdrojové kódy samotné, případně komentáře.
Definice
[token [token […]]] [\n] {
[token [token […]]] [;|\n]
}[;]
Ukázkový brace
soubor
setup {
window {
topmost: false;
noclose: false;
}
resolution {
width: 320
height: 240
bpp: 32
freq: 75
}
control {
horizontal {
sensitivity: "10.0";
reverse: false;
};
vertical {
sensitivity: "10.0";
reverse: false;
};
}
renderer {
ratio: "1.333333";
depth: 200.0; // far Z plane
}
}
Další vývoj
Prioritním problémem knihovny je tokenizer, který je nutno upravit, případě přepracovat tak, aby korektně zpracoval desetinná čísla ve všech možných notacích a přesto správně oddělil textové tokeny oddělené tečkou. Další funkcí k zapracování je konverze z UTF-8 (případně i UTF-16) na použitou šířku znaku, a s tím spojené rozpoznávání BOM.
Pro konečnou verzi knihovny je pak plánováno efektivní mapování použitelné například pro konfigurační soubory. To znamená zpracování načítané nebo již načtené hierarchie brace bloků, a podle zadaného předpisu nastavení zkonvertovaných hodnot do běžné struktury proměnných.
Požadavky a závislosti
- C++99 konformní kompilátor
Prověřená kompatibilita
- MinGW (GCC 4.2)
Licence
Brace C++ Library je svobobný a otevřený software dostupný pod zlib licencí.
Pro podrobný text licence a další informace přejděte na zlib Licence.