-- grammar: # grammar: order: quantity color item quantity: number color: id | qstring item: id # tokens: number: /\d+/ id: /[a-zA-Z][-_a-zA-Z0-9]*/ qstring: /"(?:\\["\\]|[^"\\])*"/ { $return = unquote($item[1]); } | /'(?:\\['\\]|[^'\\])*'/ { $return = unquote($item[1]); } -- helper (non-grammar) code: sub unquote { local $_ = $_[0]; s/^['"]//; s/['"]$//; s/\\(.)/\1/g; return $_; } --