-
Notifications
You must be signed in to change notification settings - Fork 9
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
Tego runtime #73
Tego runtime #73
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I did not do an in-depth review of the Tego runtime, but focused on the integration and API. I left a couple of in-line comments and some main comments here:
- Should the runtime project just be called
tego
? I assume there is a Tego meta-language as well? If so, I think the meta-language should be calledtego
and the Tego runtime should be calledtego.runtime
or something like that. - You mimic the Stratego runtime classes which require a lot of weird state and hacks to get working correctly. For example, does the Tego runtime require the language definition directory as input? And do we need to create a new Tego runtime every time? It would be good to think a bit about the API here and design a clean Tego runtime. Preferably it should be created once, with all state being passed into an invocation of the runtime.
These are also issues that we can solve later if you do not have time to work on that right now. We can merge and make an enhancement issue which should be resolved in the future.
.../resources/mb/spoofax/compiler/language/tego_runtime/TegoRuntimeBuilderFactory.java.mustache
Outdated
Show resolved
Hide resolved
...aces/src/main/java/mb/spoofax/compiler/interfaces/spoofaxcore/TegoRuntimeBuilderFactory.java
Outdated
Show resolved
Hide resolved
...compiler/src/main/resources/mb/spoofax/compiler/adapter/adapter_project/Module.java.mustache
Outdated
Show resolved
Hide resolved
f96ede3
to
7bf96a7
Compare
I renamed the project to The PR is again ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! I left a few more comments regarding TegoEngine
, and how the TegoRuntime
is exposed. If those are resolved, we can merge this.
This PR adds the Tego projects, language, and runtime, and the Tego compilers, mustache templates, and CFG option. Tego is the name of the lazy strategy language for Statix solver states and code completion.