Export from liblightgrep only the lg_* functions.
Use 'const char foo[]' instead of 'const char* foo' for string literals.
Refactored longTest() to use an std::istream instead of hard-coding
std::cin.
Decouple executor from TestCase.
Moved local functions to the anonymous namespace.
Extracted Executor to its own file.
Moved local function to the anonymous namespace.
Default Executor() ctor to number of available cores.
Hecto- and kilopattern test data is now read at runtime rather than
compiled in. This dramatically reduces required time and space when
compiling.
"Use" the DTest fixture to suppress unused parameter warnings.
Extracted reading of pattern test data to its own function.
readTestData() is now used from both DTest and longTest().
Cleanup.
Ignore Windows executables we build.
Removed unnecessary template function.
Reserve space for the codepoint sequence, since the byte length of the
UTF-8 provides a (not necessarily tight) upper bound.
C++11: Context::add(Args&&...) and ParseTree::add(Args&&...) can handle
const ParseNode& just fine, so remove Context::add(const ParseNode&) and
ParseTree::add(const ParseNode&) specializations. Added move ctor and
move assignment to ParseNode to handle stealing the guts of temporaries.
Also, directly assign/move Breakout union member.
C++11: Get the moving and forwarding right for ParseNode and ParseTree.
Cruftectomy.
Fixed incorrect parse error messages for bad escapes. Added a member to
the Context in which to store the type of the last token so that its
available within yyerror() for detecting tokens of type BAD.
Refactored yyerror().