autosoft-dev / autosoft-dev/tree-hugger

Can we make parsers stateless?

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
discussion question
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.