Let -l accept more than bundled language names. It should also take a path to grammar.json, a URL, or a GitHub repo.
check, infer, dump, and grammar only need grammar.json (no compiled parser), so they should work with any locator.
run, trace, and source ast need a bundled parser. They must error clearly when one isn't available.
- Remote fetches are cached. CI
--frozen semantics are deferred.
Acceptance
plotnik check query.ptk -l ./grammar.json
plotnik infer query.ptk -l https://…/grammar.json
plotnik run … -l ./grammar.json → clear "no parser for this grammar" error
Let
-laccept more than bundled language names. It should also take a path togrammar.json, a URL, or a GitHub repo.check,infer,dump, andgrammaronly needgrammar.json(no compiled parser), so they should work with any locator.run,trace, and sourceastneed a bundled parser. They must error clearly when one isn't available.--frozensemantics are deferred.Acceptance
plotnik check query.ptk -l ./grammar.jsonplotnik infer query.ptk -l https://…/grammar.jsonplotnik run … -l ./grammar.json→ clear "no parser for this grammar" error