Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decentralize Framework #55

Open
prettydiff opened this issue Aug 15, 2018 · 0 comments
Open

Decentralize Framework #55

prettydiff opened this issue Aug 15, 2018 · 0 comments

Comments

@prettydiff
Copy link
Collaborator

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

  1. Lexers need to be modified to receive framework data that they manage internally.
  2. Lexers need to be modified to output this framework data back to the framework utility.
  3. Lexers must not directly call or refer to other lexers. The central framework performs all dispatching of other lexers.
  4. The central framework must be modified to act as a dispatch agent and remove processing of framework data.
  5. The framework logic must be better documented so that it can be reproduced in various languages.

Risks

  1. This substantially bloats the code and increases the maintenance overhead.
  2. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant