Skip to content
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

Feature/regular expression metafunction #904

Merged
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
6496423
Missing trailing '...' in variadic template arguments.
MaxSagebaum Dec 21, 2023
30098c6
Regular expressions initial setup.
MaxSagebaum Dec 21, 2023
32e76e3
Current working status.
MaxSagebaum Dec 21, 2023
d7abbf7
Handling of groups.
MaxSagebaum Dec 27, 2023
34be3d3
Handling of alternatives.
MaxSagebaum Dec 27, 2023
54cb500
Refactor to position based matching.
MaxSagebaum Dec 27, 2023
d048884
Added regular expression class.
MaxSagebaum Dec 27, 2023
93c0511
Added class matching.
MaxSagebaum Dec 28, 2023
fc8031b
Add line start and end match.
MaxSagebaum Dec 28, 2023
5d26075
Compatibility fixes.
MaxSagebaum Dec 28, 2023
f36bbbe
Added test file for regular expressions.
MaxSagebaum Dec 28, 2023
d10faca
Basic state machine for range matchers.
MaxSagebaum Jan 2, 2024
4d58428
Proper range printing and group invalidation on alternatives.
MaxSagebaum Jan 2, 2024
d149512
State management for ranges. No longer invalid groups if last match f…
MaxSagebaum Jan 2, 2024
1b3456c
Range check in class_matcher and restore of groups in ranges_matcher.
MaxSagebaum Jan 2, 2024
e30bce2
Fix for list matcher and state for alternatives.
MaxSagebaum Jan 2, 2024
f16fcd2
Improved handling of empty matches and ranges.
MaxSagebaum Jan 2, 2024
0383119
Bugfix for missing semaphore in typed template parameters.
MaxSagebaum Jan 3, 2024
2ddeffa
Support for posix character classes.
MaxSagebaum Jan 3, 2024
654b2e3
Fix for missing escape of '\'.
MaxSagebaum Jan 3, 2024
b87b08f
Missing group clear in alternate matcher.
MaxSagebaum Jan 3, 2024
ed4fba9
Whitespace errors from cppfront.
MaxSagebaum Jan 3, 2024
4717892
Include regular expressions in cpp2utils.hpp.
MaxSagebaum Jan 3, 2024
6d98bb3
Update for tests.
MaxSagebaum Jan 3, 2024
e261ea3
Remove initialization from context.
MaxSagebaum Jan 4, 2024
fff7cf1
Basic char matching.
MaxSagebaum Jan 4, 2024
1466a02
Removed need of end logic.
MaxSagebaum Jan 4, 2024
1c04824
Basic group matching.
MaxSagebaum Jan 4, 2024
bff2933
Added alternative.
MaxSagebaum Jan 4, 2024
0602023
Added range matcher logic.
MaxSagebaum Jan 4, 2024
545f905
Added remaining regex patterns.
MaxSagebaum Jan 5, 2024
a3e35ce
Fixes for range matcher.
MaxSagebaum Jan 5, 2024
e52a217
Improved group handling.
MaxSagebaum Jan 5, 2024
671d6dc
Proper reset of ranges.
MaxSagebaum Jan 5, 2024
c82076a
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jan 12, 2024
1e0fecc
Refactor.
MaxSagebaum Jan 12, 2024
42287e8
Moved begin and end to context.
MaxSagebaum Jan 12, 2024
526f405
Removed Iter as template argument.
MaxSagebaum Jan 12, 2024
1073a73
Refactor.
MaxSagebaum Jan 12, 2024
6153cda
Refactor of parser.
MaxSagebaum Jan 12, 2024
e155cc5
Regular expression update.
MaxSagebaum Jan 12, 2024
c074dc0
Update of test and header files.
MaxSagebaum Jan 12, 2024
c0738a4
Addressed review comments.
MaxSagebaum Jan 17, 2024
32df485
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jan 22, 2024
628c791
Review updates.
MaxSagebaum Jan 22, 2024
c3e28fe
Removed static annotation.
MaxSagebaum Jan 25, 2024
5686639
Added greedy matching for alternatives.
MaxSagebaum Jan 26, 2024
437f19d
Greedy version of alternative regex.
MaxSagebaum Jan 26, 2024
907e961
Helpers in match return and first shorthand character class.
MaxSagebaum Feb 15, 2024
6fd7240
Proper error handling.
MaxSagebaum Feb 15, 2024
80a05db
Escaped characters from perl.
MaxSagebaum Feb 15, 2024
14d873c
Group escapes and named group handling.
MaxSagebaum Feb 17, 2024
fb36751
Named group access in regex result.
MaxSagebaum Feb 18, 2024
5485acd
Case insensitive matching flag.
MaxSagebaum Feb 18, 2024
0ba2194
Added modifiers to regular expressions.
MaxSagebaum Feb 19, 2024
b5cd31e
Fixing bugs in implementation.
MaxSagebaum Feb 19, 2024
3c13276
Non-greedy and possessive matching.
MaxSagebaum Feb 19, 2024
f45e7ed
Added horizontal and vertical white spaces.
MaxSagebaum Feb 19, 2024
e8d745d
Additional handling of excapes.
MaxSagebaum Feb 20, 2024
0b8d691
Update of tests.
MaxSagebaum Feb 20, 2024
4b463a6
Make regex generation public.
MaxSagebaum Feb 21, 2024
ab39d54
Performance fixes for greedy matching.
MaxSagebaum Mar 1, 2024
77c36d0
Added modifiers to matching logic.
MaxSagebaum Mar 1, 2024
930c3f4
Added (?<mod>) notation.
MaxSagebaum Mar 1, 2024
90bb000
Added (?:) notation.
MaxSagebaum Mar 1, 2024
6d05445
Added m and s modifiers.
MaxSagebaum Mar 1, 2024
d0b4c00
Bugfix for wrong none-greedy parsing.
MaxSagebaum Mar 3, 2024
1022c48
Fixes for regex results.
MaxSagebaum Mar 3, 2024
cb68faa
Update for tests.
MaxSagebaum Mar 4, 2024
fb3ea39
Added support for 'n' modifier.
MaxSagebaum Mar 6, 2024
c00bf90
Added perquisites for per syntax parsing.
MaxSagebaum Mar 6, 2024
7b927d0
Remove direkt position handling from parser.
MaxSagebaum Mar 6, 2024
0beaa0c
Added named groups with '.
MaxSagebaum Mar 6, 2024
03cdda0
Escape of space in character classes.
MaxSagebaum Mar 6, 2024
2eb0b05
Proper handliing of x and xx modifier switches.
MaxSagebaum Mar 6, 2024
92a24f1
Added parsing for comment groups.
MaxSagebaum Mar 6, 2024
d74458d
Aded branch reset support.
MaxSagebaum Mar 6, 2024
3d53f89
Update of tests and header.
MaxSagebaum Mar 7, 2024
8362c8d
Added support for \x.
MaxSagebaum Mar 8, 2024
0a5c9a0
Added \000 and \o{000} handles.
MaxSagebaum Mar 8, 2024
93af009
Added lookahead matchers.
MaxSagebaum Mar 8, 2024
ee5d81e
Addes statefull match tail.
MaxSagebaum Mar 9, 2024
a64ccfb
Helper functions for match_return creation.
MaxSagebaum Mar 9, 2024
46ce90b
Refactor of matcher naming and helpers.
MaxSagebaum Mar 9, 2024
9d3151e
Cleanup of to_string.
MaxSagebaum Mar 9, 2024
05a632e
Matcher cleanup.
MaxSagebaum Mar 9, 2024
210f2a1
Parser refactor.
MaxSagebaum Mar 9, 2024
86fa6e9
Header update and tests update.
MaxSagebaum Mar 9, 2024
6adf9b4
Fix for greedy range matching.
MaxSagebaum Mar 10, 2024
a054d74
Better template arguments for range matchers.
MaxSagebaum Mar 10, 2024
f5fe452
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Mar 10, 2024
a7daf80
Update for regex tests.
MaxSagebaum Mar 10, 2024
8ea4561
Changes for new analysis.
MaxSagebaum Mar 10, 2024
599cc56
Remove <format> dependency, get warning-clean build
hsutter Mar 19, 2024
b5e9879
Create pure2-regex-partial.cpp2
hsutter Mar 20, 2024
c3afdc8
Fix for compile time degradation.
MaxSagebaum Mar 21, 2024
ddf291d
Added first conversion to matcher generator.
MaxSagebaum May 2, 2024
97eb938
Basic generation of char matchers.
MaxSagebaum May 5, 2024
268cfb9
Basic code generation via regegx tokens.
MaxSagebaum May 5, 2024
702aa6a
Moved and renamed char token matcher.
MaxSagebaum May 5, 2024
586788a
Parsing of ranges.
MaxSagebaum May 5, 2024
38ad020
Moved code generation to generation context.
MaxSagebaum May 6, 2024
bd83019
Generation of statefull matcher.
MaxSagebaum May 6, 2024
1321d8b
Cleanup of ranger matcher implementation.
MaxSagebaum May 6, 2024
ef7c931
Added special range matching.
MaxSagebaum May 6, 2024
b2fc15f
Removed old range parsers.
MaxSagebaum May 6, 2024
84716a3
Moved parse_until into parser context.
MaxSagebaum May 6, 2024
c889182
Added to_string output.
MaxSagebaum May 6, 2024
3abd68c
Added group handling.
MaxSagebaum May 6, 2024
c3e7435
Added logic for alternative.
MaxSagebaum May 7, 2024
c2e94b5
Added '.' regex expression.
MaxSagebaum May 7, 2024
9b78205
Added group reference matchers.
MaxSagebaum May 7, 2024
84b0280
Added anchor matchers.
MaxSagebaum May 8, 2024
b009a27
Added class matchers.
MaxSagebaum May 8, 2024
590ee3c
Added full group matcher parsing.
MaxSagebaum May 8, 2024
459fdc7
Added basic character escapes.
MaxSagebaum May 8, 2024
c726707
Added word boundary matchers.
MaxSagebaum May 8, 2024
a894f25
Added named start and end line matchers.
MaxSagebaum May 8, 2024
14646c3
Added named class matchers.
MaxSagebaum May 8, 2024
e0382ef
Added \K token.
MaxSagebaum May 13, 2024
1cb8883
Added hexadicimal token and octal token.
MaxSagebaum May 13, 2024
64fc6cf
Added lookahead parsing and matching.
MaxSagebaum May 13, 2024
0ea40c7
Group gathering is now done in a set.
MaxSagebaum May 14, 2024
698b02a
Added modifier handling.
MaxSagebaum May 14, 2024
4ce2148
Removal of unused funtionality and proper parsing of global modifiers.
MaxSagebaum May 14, 2024
b7a4478
Moved name group lookup creation.
MaxSagebaum May 14, 2024
28ae594
Fixes for generation.
MaxSagebaum May 14, 2024
97f4ddc
Merge remote-tracking branch 'origin/main' into temp
MaxSagebaum May 14, 2024
19e72ee
Bugfix for nonconst has in generated flag_enums.
MaxSagebaum May 15, 2024
2b0d72b
Removed modifiers from arguments and fixed a few wanrings.
MaxSagebaum May 15, 2024
8bdd23d
Removed templates for regular arguments.
MaxSagebaum May 16, 2024
b138737
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum May 24, 2024
94ffb10
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jun 7, 2024
d834167
Agglomeration of character matchers.
MaxSagebaum Jun 10, 2024
d11cde9
Refactored function generation to do .. while loop.
MaxSagebaum Jun 12, 2024
c68dcfe
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jun 16, 2024
4a498f2
Removed UFCS calls.
MaxSagebaum Jun 16, 2024
e9ff730
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jun 24, 2024
9646d37
Fixes for new cppfront analysis.
MaxSagebaum Jun 24, 2024
8ab0e98
Fixes for new char matcher logic.
MaxSagebaum Jun 24, 2024
b69fab4
Added handling of raw strings and using raw strings.
MaxSagebaum Jun 24, 2024
d02e1ad
Escape adaptions for to_string and other to_string fixes.
MaxSagebaum Jun 26, 2024
302e4b0
General refactor.
MaxSagebaum Jun 27, 2024
65406dc
Continuation of cleanup.
MaxSagebaum Jun 27, 2024
8f250d3
Added namespace ot string_util.h.
MaxSagebaum Jun 27, 2024
4c492c1
Fixes for compiler warnings.
MaxSagebaum Jun 28, 2024
edf0b74
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jun 28, 2024
7fa74b1
Added new tests.
MaxSagebaum Jun 28, 2024
617b042
Changes for regression tests.
MaxSagebaum Jul 2, 2024
5cefc73
Fixes for regex and non-regex tests.
MaxSagebaum Jul 3, 2024
a65350b
Remove UFCS from regex and more non-regex test fixes.
MaxSagebaum Jul 3, 2024
8db3c70
Update for TODOs.
MaxSagebaum Jul 3, 2024
e4ba57d
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 6, 2024
bcf9c61
Update for generated header files.
MaxSagebaum Jul 6, 2024
e106333
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 6, 2024
dc2a9f1
Update of generated header files.
MaxSagebaum Jul 6, 2024
98ce0fd
Updates for regression tests.
MaxSagebaum Jul 7, 2024
47b2370
Enable modules build on MSVC by removing #includes when using modules
hsutter Jul 7, 2024
ccaf546
Updates for regression tests.
MaxSagebaum Jul 8, 2024
f62b856
Changes for regression-tests.
MaxSagebaum Jul 9, 2024
ca6774d
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 9, 2024
2eaac0b
Updates for regression tests.
MaxSagebaum Jul 9, 2024
bb27c43
Updates for regression tests.
MaxSagebaum Jul 9, 2024
5208006
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 10, 2024
57f8e15
Update for \e escape.
MaxSagebaum Jul 10, 2024
4cfbe00
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 13, 2024
f0a76a9
CI update tests
jarzec Jul 14, 2024
5942bdd
Update for tests.
MaxSagebaum Jul 14, 2024
0172e35
Merge branch 'main' into feature/regular_expression_metafunction
MaxSagebaum Jul 14, 2024
8dedcc7
Merge remote-tracking branch 'temp/ci-update-tests' into feature/regu…
MaxSagebaum Jul 14, 2024
b99d10e
Update for test results.
MaxSagebaum Jul 15, 2024
788cf3d
Merge remote-tracking branch 'origin/main' into feature/regular_expre…
MaxSagebaum Jul 15, 2024
b089f02
Update for regression tests.
MaxSagebaum Jul 15, 2024
9577a0b
Reran regressions on my box - whitespace changes only
hsutter Jul 19, 2024
85b8458
Move & rename source/regex.h2 to include/cpp2regex.h2
hsutter Jul 19, 2024
2a8994f
Merge string_util.h into cpp2util.h
hsutter Jul 20, 2024
25b1a26
Review pass through cpp2regex.h2
hsutter Jul 20, 2024
de8348f
Finish tweaking pass through cpp2regex.h2
hsutter Jul 20, 2024
ae9fa61
Merge branch 'main' into feature/regular_expression_metafunction
hsutter Jul 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
946 changes: 946 additions & 0 deletions regression-tests/pure2-regex.cpp2

Large diffs are not rendered by default.

Loading