A parser for INI files in Racket
(parse-string parse-ini/p "
; this is an important section
[section]
fisk = hest ; here we assign a value to fisk
fisk2 = hest2
; fisk3 comment
fisk3 = hest3
[section2]
; dingo must be bingo
dingo = bingo
[sectionAtTheEnd]
")
produces
(success
(list
(section 'section '((fisk . hest) (fisk2 . hest2) (fisk3 . hest3)))
(section 'section2 '((dingo . bingo)))
(section 'sectionAtTheEnd '())))