Initial commit

This is a regex engine optimized especially for mathematical regexes (which work on strings where an identical character is repeated N times, where N represents a number). However, it is also a full-featured regex engine. As such, there are two modes, one which works on strings like normal regex engines, and another which works on numbers instead of strings.

Full ECMAScript functionality is implemented, with only some obscure features not yet implemented (namely, \xHH, \uHHHH, and \cL character codes, and the ability to operate on strings with null characters inside them). There is also currently no Unicode support at all.
The ECMAScript standard is not precisely adhered to in this version; assertions are allowed to have quantifiers, and literal "{" and "}" characters are allowed to occur unescaped as long as they are not in the pattern of a quantifier. In a future version precise ECMAScript standard compliance will be implemented as an option.
Future versions will be extended to optionally include more advanced features from other engines, mainly Perl's.

Error handling is currently very limited. The engine throws an exception when the parser can't parse something, and does not currently print out any kind of error message for this. Better error handling will be implemented in a future version.

This regex engine compiles/works with recent versions of GCC and with Microsoft Visual C++ 2010. A Makefile is provided for the former. It may work but older versions of the latter but the solution/project file will need to be created from scratch.
Fix builtin character classes in numeric mode

In numeric mode, \d, \D, \s, \S, \w, or \W would always match a character, such that even things like "(?=\S)\s" would be a match.