Skip to content

Commit 90a14d8

Browse files
authored
Commit 1: Copy Ruby regex library files verbatim (non-compiling checkpoint)
This is a verbatim copy of the Ruby ParseRegExp.qll and RegExpTreeView.qll, with only the file-header comments updated to reflect the new path. The test files (parse.ql, regexp.ql, regexp.rb, *.expected) are also copied verbatim from the Ruby test suite as a baseline reference. This commit does NOT compile against C++: it still imports codeql.ruby.AST and references Ruby AST types (RegExpLiteral, StringlikeLiteral, etc.). The adaptation to compile against C++ is in the next commit. Also adds the codeql/regex dependency to cpp/ql/lib/qlpack.yml and the unreleased change-note at cpp/ql/lib/change-notes/2026-07-21-cpp-regex-tree-view.md.
1 parent f4dbbcd commit 90a14d8

9 files changed

Lines changed: 3164 additions & 0 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Added an internal C++ regular-expression parse library and tree view targeting the ECMAScript grammar (the default for `std::regex`). No queries are added in this change.

‎cpp/ql/lib/qlpack.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ dependencies:
1010
codeql/mad: ${workspace}
1111
codeql/quantum: ${workspace}
1212
codeql/rangeanalysis: ${workspace}
13+
codeql/regex: ${workspace}
1314
codeql/ssa: ${workspace}
1415
codeql/typeflow: ${workspace}
1516
codeql/tutorial: ${workspace}

0 commit comments

Comments
 (0)