● All green: 3 new runner tests + 195 integration + 148 unit. Issue #18 is fixed. #23

Merged
navicore merged 1 commit from issue-18 into main 2026-06-02 18:00:09 +00:00
Owner

#18

Summary:

  • src/runner.rs: replaced assemble_source (which concatenated stdlib + user files into a single string) with
    parse_program_sources, which parses stdlib and each user file as independent units against a shared
    StringInterner. Parser line/col reports now reflect the originating file. Each parse error is prefixed with the
    source name (filename for user files, stdlib if the bundled stdlib somehow failed) so multi-file errors are
    unambiguous.
  • Added a ParseFailure enum so the call site can route I/O errors to exit code 3 and parse errors to exit code
    2, matching the prior contract.
  • Three regression tests in runner.rs confirming line numbers track the user file, not the stdlib offset.

Binary verification: the issue's repro now reports Parse error in /tmp/op.pl: Unexpected token Plus at line 2
col 11 instead of line 33 col 3.

https://git.navicore.tech/navicore/patch-prolog/issues/18 Summary: - src/runner.rs: replaced assemble_source (which concatenated stdlib + user files into a single string) with parse_program_sources, which parses stdlib and each user file as independent units against a shared StringInterner. Parser line/col reports now reflect the originating file. Each parse error is prefixed with the source name (filename for user files, stdlib if the bundled stdlib somehow failed) so multi-file errors are unambiguous. - Added a ParseFailure enum so the call site can route I/O errors to exit code 3 and parse errors to exit code 2, matching the prior contract. - Three regression tests in runner.rs confirming line numbers track the user file, not the stdlib offset. Binary verification: the issue's repro now reports Parse error in /tmp/op.pl: Unexpected token Plus at line 2 col 11 instead of line 33 col 3.
● All green: 3 new runner tests + 195 integration + 148 unit. Issue #18 is fixed.
All checks were successful
CI - Linux / CI - Linux x86_64 (pull_request) Successful in 21s
eeb47508da
Summary:
  - src/runner.rs: replaced assemble_source (which concatenated stdlib + user files into a single string) with
  parse_program_sources, which parses stdlib and each user file as independent units against a shared
  StringInterner. Parser line/col reports now reflect the originating file. Each parse error is prefixed with the
  source name (filename for user files, stdlib if the bundled stdlib somehow failed) so multi-file errors are
  unambiguous.
  - Added a ParseFailure enum so the call site can route I/O errors to exit code 3 and parse errors to exit code
  2, matching the prior contract.
  - Three regression tests in runner.rs confirming line numbers track the user file, not the stdlib offset.

  Binary verification: the issue's repro now reports Parse error in /tmp/op.pl: Unexpected token Plus at line 2
  col 11 instead of line 33 col 3.
navicore deleted branch issue-18 2026-06-02 18:00:09 +00:00
Sign in to join this conversation.
No description provided.