summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Correct argument order to 'replace'HEADmasterGravatar Benjamin Barenblat2015-08-26
|
* Add functions which operate on strings instead of counted slicesGravatar Benjamin Barenblat2015-08-26
|
* Remove unnecessary $/option dependencyGravatar Benjamin Barenblat2015-08-26
|
* Rework replacement API to rely on transformationGravatar Benjamin Barenblat2015-08-26
| | | | | | | | | Redesign library API around highly general regex-based transformations. Instead of specifying a string to substitute for each match, you now execute an entire function over the match (and over nonmatching regions as well). The resulting C++ code is much simpler, with more functionality pushed into Ur, and the engine now supports certain types of regex transformations needed to mimic Perl.
* JS: Use global regexesGravatar Benjamin Barenblat2015-07-30
| | | | | This brings JavaScript’s behaviour into line with C++’s – replacements should be global.
* Correct order of arguments to Regex.replaceGravatar Benjamin Barenblat2015-07-30
|
* Implement regex substitutionGravatar Benjamin Barenblat2015-07-30
|
* Update documentation to note ECMAScript regxesGravatar Benjamin Barenblat2015-07-30
|
* Update C++ to use ECMAScript regular expressionsGravatar Benjamin Barenblat2015-07-30
| | | | | That’s what the browser uses, so use it on the server side for consistency.
* Make library work on both client and server sidesGravatar Benjamin Barenblat2015-07-30
| | | | | | Replace the two-step compile/match process with a single compile-and-match one to avoid issues with server-client representation incompatibility. Use the browser regex engine on the client side.
* Run clang-formatGravatar Benjamin Barenblat2015-07-28
|
* Run cpplintGravatar Benjamin Barenblat2015-07-28
| | | | Also fix a fencepost error in uw_Regex__FFI_do_match.
* Replace my bounds-checked numeric conversion with Boost’sGravatar Benjamin Barenblat2015-07-28
| | | | | | Boost provides numeric_cast, which is much better than what I was using for safe numeric type conversion. This does introduce a Boost dependency, but that tends to be true of most nontrivial C++ programs, so it’s pretty reasonable.
* Rework to use the C++11 regex libraryGravatar Benjamin Barenblat2015-07-27
| | | | | | Switch to using the C++11 regex library for better portability and ease of use. As an added bonus, this should make it easier to implement regex substitution.
* Don’t use C99 comments in headersGravatar Benjamin Barenblat2015-07-27
|
* Add Vim swap files to .gitignoreGravatar Benjamin Barenblat2015-07-27
|
* Initial commit of the regex matcherGravatar Benjamin Barenblat2015-07-03
Wrap glibc’s regex engine to allow matching and group capture in POSIX extended regular expressions. It might be worth rewriting this in terms of the C++11 regex engine; it’s more featureful and more pleasant to use, although it would require more casting. (C can’t represent the std::regex type, so I’d need to use some void pointers.)