1 module Pass_nested_sections =
3 let word = /[a-zA-Z0-9]+/
7 let eol = del (ws . nl) "\n"
8 let eq = del (ws . "=" . ws) "="
9 let lbr = del (ws . "{" . ws . nl) " {\n"
10 let rbr = del (ws . "}" . ws . nl) "}\n"
11 let indent = del ws ""
13 let entry = [ indent . key word . eq . store word . eol ]
16 let sec = [ indent . key word . lbr . lns . rbr ] in
20 test lns get "key = value\n" = { "key" = "value" }
22 test lns get "section {
37 { "section" { "section" { "key4" = "v4" } } }
38 { "section" { "key5" = "v5" } } }
41 test lns get "section {