ConfigParser
Ich bin gerade dabei mir eine kleine Toolchain zu bauen.
Ein Teil davon ist ein simpler Config-File-Parser der in C++ geschrieben ist.
Er kann „einfache“ Config-Dateien wie z.B. .Xdefaults, ssh_config, etc. parsen und zeigt die Attribute mit zugehörigen Werten an.
Hier mal ein paar Beispiele:
.Xdefaults
fabi@schnecki-workstation ~/Programmierung/C_C++/ConfigParser $ ./configparser /home/fabi/.Xdefaults "#" ":" "" Number of attributes: 11 Option: URxvt*transparent Value: false Option: URxvt*savelines Value: 12000 Option: URxvt*scrollBar Value: false Option: URxvt*urlLauncher Value: firefox Option: URxvt*geometry Value: 80x50 Option: URxvt*secondaryScroll Value: true Option: URxvt*inheritPixmap Value: true Option: URxvt*shading Value: 25 Option: URxvt*font Value: xft:Bitstream Vera Sans mono:size=9 Option: URxvt*foreground Value: white Option: URxvt*background Value: black
/etc/ssh/ssh_config
fabi@schnecki-workstation ~/Programmierung/C_C++/ConfigParser $ ./configparser /etc/ssh/ssh_config "#" " " ";" Number of attributes: 3 Option: ForwardX11 Value: yes Option: Port Value: 22 Option: Host Value: * XAuthLocation /usr/bin/xauth
Das eigentliche Ziel ist nicht das Programm „configparser“, sondern die Klassen, da ich diese dann in weiteren Programmen verwenden kann.
Hier der Link zum Download: http://dl.dropbox.com/u/2497774/ConfigParser.tar
Darin ist der Source Code und ein Makefile enthalten mit dem sich das ganze übersetzen lässt.
Getestet habe ich das ganze unter Gentoo Linux 2.6.36-gentoo-r5 (Ich weiß ein Kernelupdate ist fällig ;-)) und mit GCC 4.4.5.
Also viel Spaß damit.
Für Kritik und Anregungen bin ich wie immer dankbar.