From 23a441933ac659933646418ed62ba188bb20ff65 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Wed, 15 Apr 2015 00:49:40 +0200 Subject: [PATCH] Use recursion for parsing string bodies This is a little bit faster than using the * operator combined with Array#inject. --- lib/oga/xml/parser.rll | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/oga/xml/parser.rll b/lib/oga/xml/parser.rll index 2af01e8..4657762 100644 --- a/lib/oga/xml/parser.rll +++ b/lib/oga/xml/parser.rll @@ -189,7 +189,8 @@ string ; string_body - = T_STRING_BODY* { val[0].inject(:+) || '' } + = T_STRING_BODY string_body { val[0] + val[1] } + | _ { '' } ; %inner