Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- move ::= (<simpleMove> | <standardMove>) <suffix>
- <simpleMove> ::= (fromFile = <file>) (fromRank = <rank>) (toFile = <file>) (toRank = <rank>)
- <standardMove> ::= <normalMove> | <bishopMove> | <pawnMove> | <castle>
- <normalMove> ::= (piece = <nonBishopPiece>) ((fromFile = <file>) | (fromRank = <rank>))? "x"? (toFile = <file>) (toRank = <rank>)
- <bishopMove> ::= (((piece = "B") "x") | (piece = <bishopPiece>)) (fromFile = <file>)? (toFile = <file>) (toRank = <rank>)
- <pawnMove> ::= ((fromFile = <file>) "x")? (toFile = <file>) (toRank = <rank>)
- <castle> ::= (queensideCastle = "0-0-0") | (kingsideCastle = "0-0")
- <file> ::= /[a-hA-H]/
- <rank> ::= /[1-8]/
- <nonBishopPiece> ::= "p" | "P" | "r" | "R" | "n" | "N" | "q" | "Q" | "k" | "K"
- <bishopPiece> ::= "b" | "B"
- <suffix> ::= <promotion>? <check>
- <promotion> ::= "=" (promotedPiece = <promotablePiece>)
- <promotablePiece> ::= "r" | "R" | "n" | "N" | "b" | "B" | "q" | "Q"
- <check> ::= "+" | "++" | "#"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement