You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An old bug in Graal VM which prevented us from loading Spoofax Core in a Graal VM seems to have been fixed. It should now become possible to call Spoofax (Stratego) transformations from DynSem interpreters. This is useful e.g. to desugar an object language program before interpretation.
The text was updated successfully, but these errors were encountered:
For the scopgraph-frame connection, I have created a runner that wraps the language entry point and calls Spoofax parsing, desugaring, and analysis before running the interpreter on the analyzed AST. Since I'm not sure you know this exists, I'll explain how it currently works:
There is a generic DynSemRunner, which calls the regular Spoofax Core pipeline of parsing, desugaring, analysis, before running the interpreter. It is subclasses per language (e.g., PCFRunner). I use is as a (almost) drop-in replacement for directly calling the EntryPoint.
It uses the SPOOFAXPATH environment variable, which I set in the .launch file to the workspace path, to search for the language to load. This way there is no need to copy parse tables, and language rebuilds are effective in the interpreter as well (for syntax and analysis, that is). Maybe this way is a bit arcane, and a mechanism with real dependencies (like #148) is nicer here.
I've tried to run this on Graal VM a while back, and it worked then. Maybe this can be unified with the entry point, to get rid of custom parsing and desugaring steps, and always have the full Spoofax Core pipeline before execution?
An old bug in Graal VM which prevented us from loading Spoofax Core in a Graal VM seems to have been fixed. It should now become possible to call Spoofax (Stratego) transformations from DynSem interpreters. This is useful e.g. to desugar an object language program before interpretation.
The text was updated successfully, but these errors were encountered: