binary_op : '(' subexpression (op subexpression {[\@item[1..2]]} )(s?) ')' { [ \$item[2], map { \@\$_ } \@{\$item[3]} ] } #### binary_op : '(' subexpression (op subexpression {[@item[1..2]]})(s?) ')' { [ $item[2], map { @$_ } @{$item[3]} ] }