Decentralize Framework
prettydiff opened this issue · 0 comments
Goal
Currently the data fragments used by the framework as glue between the lexers is centrally managed like a true application framework. I want to decentralize this so that the framework logic is confined to a modal and a central dispatch between the lexers.
Why
Currently all the logic is written in TypeScript and the centralized framework requires all the pieces be written in TypeScript. The universal nature of this application is better served if the lexers are written in the language they describe when possible. For example a C language lexer should be written in C by a developer passionate about C.
What Needs to Happen
- Lexers need to be modified to receive framework data that they manage internally.
- Lexers need to be modified to output this framework data back to the framework utility.
- Lexers must not directly call or refer to other lexers. The central framework performs all dispatching of other lexers.
- The central framework must be modified to act as a dispatch agent and remove processing of framework data.
- The framework logic must be better documented so that it can be reproduced in various languages.
Risks
- This substantially bloats the code and increases the maintenance overhead.
- This greatly increases the complexity of the code and demands further thought around organization and how to structure the logic efficiently.
I have not started work on this and since it is high risk I will need to better think through some planning and document a plan of action.