Open
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Keep deconstructor infrastructure (grammar.y, yacc_parser, yacc_action_parser) from this branch. Take origin/main's ParseNonterminal/PrintNonterminal split (no VisitNonterminal aliases). Add GetElement Unknown type handling to target.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve conflicts: - Python template: take origin/main as base, add debug-info features - python-tools/src/lqp/gen/pretty.py: delete (moved to sdks/python/) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add print_symbolic_relation_ids param and write_debug_info to both Python and Julia templates - Add pretty_debug() free function to both templates - Generate _pprint_dispatch methods via codegen for Julia (type-based dispatch to pretty_<nonterminal> functions) - Add pprint API to Julia template: pprint(io, x), pprint(io, debug), pprint(io, fragment_id), and pprint(x) convenience - Add gen_pprint_dispatch_line to CodeGenerator base (returns None by default, overridden in Julia codegen) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The helper was finding the try_flat IfElse wrapper instead of the guarded alternative IfElse. Add _is_try_flat_let() to detect the Let(var, try_flat_io(...), IfElse(...)) pattern and recurse into its else_branch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…meta-13c-print-debug-info # Conflicts: # meta/tests/meta/test_pretty_gen.py
Add printSymbolicRelationIds field, writeDebugInfo method, and ProgramToStrDebug function to the Go template, matching the Python and Julia implementations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tests/pretty_debug/ with snapshot files generated by pretty_debug. Add snapshot tests for Python, Julia, and Go that compare ProgramToStrDebug output against these snapshots. Sort debug info entries by name in all three templates for deterministic output across languages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use 032x formatting in format_uint128 across all three templates so relation IDs always print as 32 hex digits. Regenerate all snapshots. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change relation_id_to_string to return an option type instead of
empty string on failure: str|None in Python, Union{String,Nothing}
in Julia, *string in Go. Update grammar deconstruct functions to
use is_none/is_some checks. Remove unused relationIdToInt from Go
template.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add a second mode to the pretty printer to print numerical relation ids rather than looking up in the DebugInfo map, then print the debug info at the end.