mirror of
https://github.com/github/codeql.git
synced 2026-07-23 12:12:05 +02:00
Ports the Ruby regex library to C++/ECMAScript (`std::regex` default dialect): - `cpp/ql/lib/semmle/code/cpp/regex/internal/ParseRegExp.qll`: ECMAScript-adapted parser over `StringLiteral` - `cpp/ql/lib/semmle/code/cpp/regex/RegexTreeView.qll`: tree view implementing `RegexTreeViewSig` - `cpp/ql/lib/qlpack.yml`: add `codeql/regex` dependency (already present) - `cpp/ql/test/library-tests/regex/`: hermetic test corpus (test.cpp with std:: stubs), parse.ql, regexp.ql, RegExpConfig.qll - `cpp/ql/lib/change-notes/released/12.1.0.md`: minorAnalysis change note Note: .expected files are placeholders; run `codeql test run --accept` after database generation to populate them.
14 lines
425 B
Plaintext
14 lines
425 B
Plaintext
import cpp
|
|
import RegExpConfig
|
|
import semmle.code.cpp.regex.RegexTreeView
|
|
|
|
query predicate groupName(RegExpGroup g, string name) { name = g.getName() }
|
|
|
|
query predicate groupNumber(RegExpGroup g, int number) { number = g.getNumber() }
|
|
|
|
query predicate term(RegExpTerm term, string c) { c = term.getPrimaryQlClasses() }
|
|
|
|
query predicate regExpNormalCharValue(RegExpNormalChar term, string value) {
|
|
value = term.getValue()
|
|
}
|