program <- seq-element+ inset <- @inset ws+ ws <- [ \t] nl <- [\n] ws_or_nl <- ws/nl seq-element <- "-" ws* string nl { (third data) } / nested-sequence nested-sequence <- "-" ws* nl inset seq-element (@inset seq-element)* { (cons (fifth data) (zip-second (sixth data))) } string <- "'" [ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]+ "'" { (char-list-to-string (second data)) }