sconfig := [version] {assignment} version := "version" "(" INTEGER ")" ";" assignment := lvalue "=" rvalue ";" lvalue := IDENTIFIER [ "[" INTEGER "]" ] rvalue := lvalue | BOOLEAN | INTEGER | STRING | CHARACTER | "{" compound_body compound_body := compound_element {"," compound_element} [","] "}" compound_element := ["." (IDENTIFIER | INTEGER) "="] rvalue