autosoft-dev / autosoft-dev/tree-hugger
Can we make parsers stateless?
- Dominant language
- Python
- Stars
- 132
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
Right now Parser objects are stateful (in a sense that each obejct keep the parse tree internally and also the raw code and all, of the file / code string that it parsed last)
### Questions
* Is it necessary to make them stateless (imagine creating a single parser and using it in parallel on multiple files using a thread or multi-process based architecture)
* If the answer to the above is `Yes` then how do we do that?
---------
This may need a significant re-design of tree-hugger works at the moment. So, if we do that we need to keep in mind that we must not break backward compatibility.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by locating the Parser objects and tracing how they retain parse trees and raw source; define the compatibility constraints before assessing a stateless design. Done would require safe reuse across parallel files without breaking existing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100