... | @@ -157,10 +157,22 @@ parameter to the compileRE method of the RE compiler. |
... | @@ -157,10 +157,22 @@ parameter to the compileRE method of the RE compiler. |
|
Marker compileRE(RE * re, Marker initialMarkers);
|
|
Marker compileRE(RE * re, Marker initialMarkers);
|
|
```
|
|
```
|
|
If the marker stream returned by the RE_compiler has a one bit anywhere
|
|
If the marker stream returned by the RE_compiler has a one bit anywhere
|
|
within the column, then a match is found.
|
|
within fields belonging to the column, then a match is found.
|
|
|
|
|
|
|
|
Matches within the fields of the column can then be moved to the field separator position of the column, using the ```MatchedLinesKernel``` as shown above, but substituting the field separator stream in place of ```mLineBreakStream```.
|
|
|
|
Call this stream ```FieldMatchMarks```.
|
|
|
|
|
|
|
|
Given the ```FieldMatchMarks``` stream, then a mask covering the entire
|
|
|
|
field can be produced using logic similar to that for masks selecting rows.
|
|
|
|
The first step is to compute a stream ```MatchesByField``` by using the
|
|
|
|
```FilterByMask``` function with the field separator stream as the mask and ```FieldMatchMarks``` as the data stream. The second step is to compute
|
|
|
|
a stream marking field starts using the ```LineStartsKernel``` as shown above,
|
|
|
|
but again substituting the field separator stream in place of ```mLineBreakStream```.
|
|
|
|
The third step is to compute matched field starts used ```SpreadByMask``` with the field starts stream as the mask applied to ```MatchesByField```. Finally, the mask
|
|
|
|
covering matched fields can be computed using the ```LineSpansKernel``` applied
|
|
|
|
to the matched field starts and ```FieldMatchMarks```.
|
|
|
|
|
|
## Combining Masks
|
|
## Combining Masks
|
|
|
|
|
|
If masks are computed to edit out both a column and a row, these can be combined with a Pablo
|
|
If masks are computed to edit out both a column and a row, these can be combined with a Pablo
|
|
createAnd operation and then one FilterByMask can be applied. |
|
createAnd operation and then one FilterByMask can be applied. |
|
|
|
\ No newline at end of file |
|
|
|
|