Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
75f29bf
Pretty printer generator
nystrom Feb 10, 2026
d08c688
WIP on pretty printer generator
nystrom Feb 10, 2026
3f9f682
WIP checkpoint
nystrom Feb 10, 2026
3872182
Merge remote-tracking branch 'origin/main' into nn-meta-13-pretty
nystrom Feb 11, 2026
9b1ad21
Working
nystrom Feb 11, 2026
8afea9a
Cleanups
nystrom Feb 11, 2026
21a3e07
Compile fixes
nystrom Feb 11, 2026
c78e505
bug fixes
nystrom Feb 11, 2026
831978f
fixes.
nystrom Feb 11, 2026
b67c26f
Merge remote-tracking branch 'origin/main' into nn-meta-13-pretty
nystrom Feb 11, 2026
fc07c5e
fix imports
nystrom Feb 11, 2026
f86c44f
fix Makefile
nystrom Feb 11, 2026
4dc33ba
generated pretty printer
nystrom Feb 11, 2026
9c1dca7
update
nystrom Feb 11, 2026
f996a16
more normalization before comparison
nystrom Feb 11, 2026
54ee887
more fixes
nystrom Feb 11, 2026
0a01184
fixed and/or short-circuiting
nystrom Feb 11, 2026
c1217fb
fix test
nystrom Feb 11, 2026
3b3ce18
get more tests passing
nystrom Feb 11, 2026
c68e680
makefile cleanup
nystrom Feb 12, 2026
6416e47
Change List to Sequence for read-only lists.
nystrom Feb 12, 2026
1e875d1
add missing int32 conversions
nystrom Feb 12, 2026
2c98af7
Have the generated parser produce provenence information for diags
nystrom Feb 12, 2026
9f8d90f
Merge remote-tracking branch 'origin/main' into nn-meta-provenance
nystrom Feb 25, 2026
4867bfb
Merge remote-tracking branch 'origin/main' into nn-meta-provenance
nystrom Feb 25, 2026
646e9e4
revert to main
nystrom Feb 25, 2026
9542d3e
Add provenance to LQP parser
nystrom Feb 25, 2026
3f3fd26
Rename span.end to span.stop
nystrom Feb 25, 2026
47bf5b9
Use the provenance info in the validator
nystrom Feb 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion meta/src/meta/codegen_python.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ def gen_list_type(self, element_type: str) -> str:
return f"list[{element_type}]"

def gen_option_type(self, element_type: str) -> str:
return f"Optional[{element_type}]"
return f"{element_type} | None"

def gen_dict_type(self, key_type: str, value_type: str) -> str:
return f"dict[{key_type}, {value_type}]"
Expand Down
15 changes: 15 additions & 0 deletions meta/src/meta/codegen_templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,11 @@ class BuiltinTemplate:
"format_bytes": BuiltinTemplate('"0x" + {0}.hex()'),
"pp_dispatch": BuiltinTemplate("None", ["self.pprint_dispatch({0})"]),
"get_at": BuiltinTemplate("{0}[{1}]"),
# Provenance tracking
"push_path": BuiltinTemplate("None", ["self.push_path({0})"]),
"pop_path": BuiltinTemplate("None", ["self.pop_path()"]),
"span_start": BuiltinTemplate("self.span_start()"),
"record_span": BuiltinTemplate("None", ["self.record_span({0})"]),
}


Expand Down Expand Up @@ -191,6 +196,11 @@ class BuiltinTemplate:
"format_bytes": BuiltinTemplate('"0x" * bytes2hex({0})'),
"pp_dispatch": BuiltinTemplate("nothing", ["_pprint_dispatch(pp, {0})"]),
"get_at": BuiltinTemplate("{0}[{1} + 1]"),
# Provenance tracking
"push_path": BuiltinTemplate("nothing", ["push_path!(parser, {0})"]),
"pop_path": BuiltinTemplate("nothing", ["pop_path!(parser)"]),
"span_start": BuiltinTemplate("span_start(parser)"),
"record_span": BuiltinTemplate("nothing", ["record_span!(parser, {0})"]),
}


Expand Down Expand Up @@ -280,6 +290,11 @@ class BuiltinTemplate:
"format_bytes": BuiltinTemplate('fmt.Sprintf("0x%x", {0})'),
"pp_dispatch": BuiltinTemplate("nil", ["p.pprintDispatch({0})"]),
"get_at": BuiltinTemplate("{0}[{1}]"),
# Provenance tracking
"push_path": BuiltinTemplate("nil", ["p.pushPath(int({0}))"]),
"pop_path": BuiltinTemplate("nil", ["p.popPath()"]),
"span_start": BuiltinTemplate("int64(p.spanStart())"),
"record_span": BuiltinTemplate("nil", ["p.recordSpan(int({0}))"]),
}

__all__ = [
Expand Down
Loading
Loading