-
Notifications
You must be signed in to change notification settings - Fork 915
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEA] NVStrings regex Refactorings #3582
Labels
Comments
codereport
added
Needs Triage
Need team to review and classify
feature request
New feature or request
labels
Dec 11, 2019
codereport
added
code quality
and removed
Needs Triage
Need team to review and classify
labels
Dec 11, 2019
from reviewing #3409 definitely refactor |
@davidwendt @codereport is this still relevant? |
Yes, this is just a tech debt job - so not a top priority. Will put in backlog. |
codereport
added
0 - Backlog
In queue waiting for assignment
tech debt
and removed
feature request
New feature or request
labels
Mar 5, 2021
This was referenced May 12, 2022
rapids-bot bot
pushed a commit
that referenced
this issue
May 25, 2022
Cleans up the source for handling fixed quantifiers `{n,m}` used for repeating patterns using a range of values instead of just zero, one, or infinite. Hopefully this will help make this part of the regex parser/compiler easier to follow and maintain. There are many other items to cleanup (reference #3582) and this change concentrates mainly on the fixed quantifier handling. No function or behavior has changed but new gtests have been added that did not previously cover these quantifier combinations. Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Nghia Truong (https://github.com/ttnghia) - Vyas Ramasubramani (https://github.com/vyasr) URL: #10843
rapids-bot bot
pushed a commit
that referenced
this issue
May 27, 2022
Cleans up the `regcomp.cpp` source to fix class names, comments, and simplify logic around processing operators and operands returned by the parser. Several class member variables used for state are moved or eliminated. Some member functions and variables are renamed. Cleanup of the parser logic will be in a follow-on PR. Reference #3582 Follow on to #10843 Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - Yunsong Wang (https://github.com/PointKernel) URL: #10879
rapids-bot bot
pushed a commit
that referenced
this issue
Jun 15, 2022
Cleans up the `regex_parser` class source to fix member names, comments, and simplify some logic creating parse-items. Minimal changes were made to the `regex_compiler` to accommodate some public interface changes. Also, the `regex_compiler::expand_counted()` function was moved into `regex_parser` since it only need the parser class' `_items` data. It seemed more apt for the member function to part of `regex_parser` than `regex_compiler`. Reference #3582 Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Mike Wilson (https://github.com/hyperbolic2346) - Devavret Makkar (https://github.com/devavret) URL: #10975
rapids-bot bot
pushed a commit
that referenced
this issue
Jun 27, 2022
This cleans up the awkward range literals for supporting the `CCLASS` and `NCCLASS` regex instructions. The range values were always paired (first,last) but arranged consecutively in a flat vector so `[idx] and [idx+1]` were range pairs `idx` was even. This PR introduces a `reclass_range` class that holds the pairs so we can use normal algorithms to manipulate them. There is some overlap with code changes in PR #10975 Reference #3582 Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Mike Wilson (https://github.com/hyperbolic2346) - MithunR (https://github.com/mythrocks) URL: #11045
All or most of this has been addressed. We can open a new issue for any new or remaining concerns. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
After discussing with David, seeing as the NVStrings regex op is a very large port - any non-local refactorings or changes should be pushed to a follow up clean up issue (this issue). List will be updated below:
LBRA
,RBRA
andLBRA_NC
to bePAREN
regex::print
case statement consolidationreprog_device::find
to return result, instead of have output parameters; this:leads to this unnecessarily confusing code:
Node op1, op2;
should be initialized to some invalid state or the design should be changedany_of
algorithm with strided adaptor or iteratorsbool nextc(char32_t& c)
output parameter, and then we can directly initialise uninitialised variables:and
int quoted; quoted = nextc(yy);
and this:
const
everywherestd::vector<int> stack;
- just use a stackto_char_utf8
)std::accumulate
:goto BreakFor;
ators
andands
: [REVIEW] Port NVStrings regex contains ops #3292 (comment)Operand
andOperator
The text was updated successfully, but these errors were encountered: