summaryrefslogtreecommitdiff
path: root/op_reg_common.h
Commit message (Collapse)AuthorAgeFilesLines
* Add /d, /l, /u (infixed) regex modifiersKarl Williamson2010-09-221-2/+3
| | | | | | | | | | | | This patch adds recognition of these modifiers, with appropriate action for d and l. u does nothing useful yet. This allows for the interpolation of a regex into another one without losing the character set semantics that it was compiled with, as for the first time, the semantics is now specified in the stringification as one of these modifiers. To this end, it allocates an unused bit in the structures. The off- sets change so as to not disturb other bits.
* op_reg_common.h: Continue refactoringKarl Williamson2010-08-111-8/+34
| | | | | | | | | | | | | | | The new op_reg_common.h did not have in it all the things that made sense for it to have, including some comment changes that I should have made when I created it. I also realized the the new mechanism of using shifts allowed RXf_PMf_STD_PMMOD_SHIFT to actually control things, rather than be a #define that one had to remember to change if those things changed independently. Finally, I created a check so that adding bits without adding them to RXf_PMf_COMPILETIME will force a compilation error. (This came from the school of hard knocks)
* op_reg_common.h: Move things aroundKarl Williamson2010-08-111-6/+13
| | | | | | | Moving the definitions of the duplicate variables makes it easier to read. Unfortunately, the values can't be in terms of the previous ones because defsubs_h.PL doesn't pick them up. So I've made them numeric with a #if to make sure they don't drift off.
* op_reg_common.h: Refactor variable for safetyKarl Williamson2010-08-111-1/+3
| | | | | | | | This patch changes the variable that tells how many common bits there are to instead be +1 that value, so bits won't get reused. A later commit will renumber the bits in op.h and regexp.h, but for now things are left as-is there, which means the base variables in those two files must subtract one to compensate for the +1
* Refactor common parts of op.h, regexp.h into new .hKarl Williamson2010-07-291-0/+27
op.h and regexp.h share common elements in their data structures. They have had to manually be kept in sync. This patch makes it easier by putting those common parts into a common header #included by the two. To do this, it seemed easiest to change the symbol definitions to use left shifts to generate the flag bits. But this meant that regcomp.pl and axt/B/defsubs_h.PL had to be taught to recognize those forms of expressions, done in separate commits