ByteList num = absSubSequence(memo, p);
// note: this is actually a shared string, but since it is temporary and
// read-only, it doesn't really matter
RubyString expr = RubyString.newStringLight(getRuntime(), num);
RubyFloat number = RubyNumeric.str2fnum(getRuntime(), expr, true);
return new ParserResult(number, p + 1);
}