Penjelasan
EPD berarti Extended Position Description. Baris EPD dimulai dengan empat bidang yang menggambarkan buah, pihak yang mendapat giliran, , yang menunjukkan apakah setiap pihak masih memiliki langkah khusus yang melibatkan raja dan benteng, serta . Setelah itu, baris dapat memuat operasi EPD yang menambahkan instruksi atau informasi lain pada posisi tersebut.
Setiap operasi memuat opcode, yaitu nama pendek yang mengidentifikasi maknanya, diikuti nol atau lebih operand, yaitu nilai operasi. Operasi selalu diakhiri titik koma. Dalam id "test-001";, id adalah opcode dan string dalam tanda kutip adalah operand. Beberapa operasi dipisahkan oleh satu spasi.
Opcode standar mencakup tugas seperti mengidentifikasi posisi, mengusulkan langkah terbaik, menandai langkah yang harus dihindari, menyimpan varian yang diperkirakan, atau menambahkan komentar. Perangkat lunak yang tidak mengenali suatu opcode harus mengabaikan operasi tersebut, bukan menolak seluruh baris. Kemampuan perluasan ini memungkinkan deskripsi posisi dasar yang sama digunakan untuk rangkaian pengujian, analisis, dan komunikasi antarprogram.
Penggunaan dan konteks
EPD terutama digunakan untuk koleksi posisi, pengujian , yaitu program yang menganalisis posisi, dan tugas yang memerlukan data terstruktur untuk setiap posisi selain keadaan papan.
Kebingungan umum
Operasi dan bidang posisi
Empat bidang pertama menggambarkan keadaan yang diperlukan untuk bermain dari posisi tersebut. Operasi sesudahnya menambahkan label, jawaban, atau instruksi.
Opcode dan operand
Opcode menyatakan jenis data yang mengikuti. Operand memberikan nilai khusus data tersebut.
Sumber
- 1.Standard: Portable Game Notation Specification and Implementation Guide, Steven J. Edwards / ChessGML
- 2.Core, python-chess 1.11.2 documentation
