feat: NCS-30 FEN Parser using ParserCombinators #21

Merged
Janis merged 2 commits from feat/NCS-30 into main 2026-04-07 12:28:44 +02:00
Owner

Summary

  • Added scala-parser-combinators_3:2.4.0 dependency to modules/io
  • Implemented FenParserCombinators as an alternative FEN parser using RegexParsers, with the same public API as the
    existing FenParser
  • Parsers are built bottom-up: piece characters → rank tokens → rank → board, composed with explicit field separators
    into a full FEN parser
  • Added FenParserCombinatorsTest mirroring the existing FenParserTest to prove behavioural equivalence

Test plan

  • All existing tests pass — FenParser and all other modules untouched
  • FenParserCombinatorsTest covers all cases: valid FEN, invalid color, invalid castling, invalid board shapes, en
    passant, round-trip via FenExporter
  • 100% line/branch/method coverage on FenParserCombinators
Summary - Added scala-parser-combinators_3:2.4.0 dependency to modules/io - Implemented FenParserCombinators as an alternative FEN parser using RegexParsers, with the same public API as the existing FenParser - Parsers are built bottom-up: piece characters → rank tokens → rank → board, composed with explicit field separators into a full FEN parser - Added FenParserCombinatorsTest mirroring the existing FenParserTest to prove behavioural equivalence Test plan - All existing tests pass — FenParser and all other modules untouched - FenParserCombinatorsTest covers all cases: valid FEN, invalid color, invalid castling, invalid board shapes, en passant, round-trip via FenExporter - 100% line/branch/method coverage on FenParserCombinators
lq64 added 2 commits 2026-04-07 12:22:29 +02:00
build(io): Fen Parser using ParserCombinators
Build & Test (NowChessSystems) TeamCity build finished
955af7ec2c
Added Fen ParserCombinators dependency
feat(io): Fen Parser using ParserCombinators
Build & Test (NowChessSystems) TeamCity build finished
b66a44af84
Added FEN Parser using ParserCombinators
Janis approved these changes 2026-04-07 12:24:51 +02:00
Janis merged commit b4bc72f7e4 into main 2026-04-07 12:28:44 +02:00
Janis deleted branch feat/NCS-30 2026-04-07 12:28:44 +02:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NowChess/NowChessSystems#21