my $grammar = <<'__EOI__' { use strict; use warnings; } parse : list /\Z/ { $item[1] } list : '(' list_ele(s?) ')' { $item[2] } list_ele : list | TERM TERM : /\w+/ __EOI__