-
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
Relax M table access to variables #146
Conversation
We'll need to discuss that. I think we had whole modifications because we thought the original compiler was working this way. |
I am encountering some issues with the DGFiP C backend:
|
DGFIP backend cannot handle the available testsuite yet, nor optimized code (which breaks the expected interface). |
This gets Mlang closer to the expressivity of the legacy compiler by allowing access to table variables through dynamic indexing.
It also removes the hack with the implicit loop variable
X
.I feel this is not entirely satisfactory as it introduce writes to specific cells of array, whereas Mlang tried to represent table writes as whole array modifications until now. We should smooth up the way table variables are handled, I'm not sure how.
This also introduces potential out of bound accesses unobservable before runtime. I implemented proper boundary checks in the interpreter only.