shogi_usi_parser 0.1.0

Conversion from strings in USI format
Documentation
  • Coverage
  • 76.47%
    13 out of 17 items documented0 out of 3 items with examples
  • Size
  • Source code size: 38.65 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.16 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • koba-e964

Rust shogi crates: USI parser (rlib)

crate docs Rust Version license

This repository handles conversion from strings in USI format defined in the spec.

About shogi_usi_parser crate

This crate provides methods that convert USI strings to data. For example, it can convert following strings:

as PartialPosition:

lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL b - 1

as Position:

startpos moves 7g7f

(excerpt from https://web.archive.org/web/20080131070731/http://www.glaurungchess.com/shogi/usi.html)

For conversion, this crate defines the following traits and data types:

  • A trait responsible for conversion from strings in USI format to Self. Implementors of this trait provides a method that reports detailed error reports, and a method that reports only whether an error occurred.
  • Error: An error type for conversion. Some possible errors are the following:
    • The string representation is invalid (e.g. 9j is given as a square).
    • The parsed position is invalid.

What are out of scope?

  • Failing to convert to a Position when the parser encountered illegal moves
    • Other crates are responsible for legality checking