real abstract StateBase
split test_regex.cpp