Identify C++20 Modules
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 20
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
The library we use for parsing C/C++ source code, tree-sitter, will soon have [support for C++20 modules](https://github.com/tree-sitter/tree-sitter-cpp/pull/266).
To create a dataset that maps C++20 module names to packages, we'll need to download a bunch of packages (`-dev` Debian/Ubuntu packages) and parse the header files they install to look for C++20 module names being exported.
For analyzing dependencies for a given piece of source code, we can identify the names of imported modules and then use that dataset to determine the name of the package that provides a module with the same name.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files, tests, or entry points. Start by reviewing the existing dependency-analysis flow and the tree-sitter C/C++ parsing integration, then define how Debian/Ubuntu -dev packages are downloaded and scanned. Done means exported C++20 module names are mapped to providing packages and imported modules can use that dataset.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, debian, python, ubuntu
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100