Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is based on #738 until it is merged.
This PR adds a new flag
--debug-phase <phase>
that usesmexpr/json-debug.mc
to dump the AST at a named phase, which is specified withendPhaseStats
in the code. The option can be given multiple times to print multiple phases. No spell-checking is done, since we don't have a data structure that stores the existing phases, so you'd typically use this by running with--debug-phases
first (note the plural) then with the appropriate--debug-phase
(or looking in the code of course).I also add a new function in
json.mc
for printing the json representation directly, because building the interim string was very prohibitive. I suppose this is something of a known thing performance-wise, but it might also be relevant forpprint.mc
when it's used during compilation, maybe we could make compilation faster if we could change this.