Archiv

Archive for Mai 2011

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.