[Patch, PR 61061] Add state limit for regex NFA

Tim Shen timshen91@gmail.com
Fri Jun 27 03:56:00 GMT 2014


The limit can be customized by defining a macro
_GLIBCXX_REGEX_STATE_LIMIT. The default value is 100000.

The testcase can be handled if we optimize consecutive quantifiers
(collapse them to one). But cases like "(a{100}b){100}" can't be
handled still.

We implement range quantifier "(foo){n}" by copying state sequence
(foo) n-1 times. That consumes more space. We may reimplement it (by
adding a new _S_op*) someday.

Bootstrapped and tested.

Thanks!

-- 
Regards,
Tim Shen



More information about the Libstdc++ mailing list