bril
bril copied to clipboard
`bril2json` doesn't support imports
I am not sure if I am doing this wrong. If it should support let me know, maybe I can add the support
❯ bril2json < test/bril_files/linking/link_ops.bril
Traceback (most recent call last):
File "/home/lambda/.local/bin/bril2json", line 10, in <module>
sys.exit(bril2json())
~~~~~~~~~^^
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/briltxt.py", line 338, in bril2json
print(parse_bril(sys.stdin.read(), "-p" in sys.argv[1:]))
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/briltxt.py", line 239, in parse_bril
tree = parser.parse(txt)
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/lark/lark.py", line 581, in parse
return self.parser.parse(text, start=start, on_error=on_error)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/lark/parser_frontends.py", line 106, in parse
return self.parser.parse(stream, chosen_start, **kw)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/lark/parsers/earley.py", line 297, in parse
to_scan = self._parse(lexer, columns, to_scan, start_symbol)
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/lark/parsers/xearley.py", line 144, in _parse
to_scan = scan(i, to_scan)
File "/home/lambda/.local/share/uv/tools/briltxt/lib/python3.13/site-packages/lark/parsers/xearley.py", line 118, in scan
raise UnexpectedCharacters(stream, i, text_line, text_column, {item.expect.name for item in to_scan},
...<2 lines>...
)
lark.exceptions.UnexpectedCharacters: No terminal matches 'f' in the current parser context, at line 2 col 1
from "bitwise-ops.bril" import @AND, @OR
^
Expected one of:
* STRUCT
* FUNC
Yeah, I only added support for imports to the rust version https://github.com/sampsyo/bril/tree/main/bril-rs/bril2json.
It should be straight forward to add to bril2json.
Agreed! Hopefully it's not too hard to add to the Lark-based parser.