[][src]Crate vampirc_uci

The Vampirc project is a chess engine written in Rust. vampirc-uci is a crate that handles the parsing of the Universal Chess Interface (UCI) protocol, a way for a chess engine to communicate with a GUI.

To parse the UCI messages, it uses the PEST parser. The corresponding PEG grammar is available here.

See the README.md file for usage instructions.


pub use self::parser::parse;
pub use self::parser::parse_one;
pub use self::parser::parse_strict;
pub use self::parser::parse_with_unknown;
pub use self::parser::Rule;
pub use self::uci::ByteVecUciMessage;
pub use self::uci::CommunicationDirection;
pub use self::uci::MessageList;
pub use self::uci::ProtectionState;
pub use self::uci::Serializable;
pub use self::uci::UciFen;
pub use self::uci::UciInfoAttribute;
pub use self::uci::UciMessage;
pub use self::uci::UciMove;
pub use self::uci::UciOptionConfig;
pub use self::uci::UciPiece;
pub use self::uci::UciSearchControl;
pub use self::uci::UciSquare;
pub use self::uci::UciTimeControl;



The parser module contains the parse method that performs the parsing of UCI messages into their respective UciMessage variants.


The uci module contains the definitions that represent UCI protocol messages.



ISO 8601 time duration with nanosecond precision. This also allows for the negative duration; see individual methods for details.


Parse-related error type.