#parser #gambit #efg

gambit-parser

gambit efg 文件的解析器

2 个不稳定版本

0.2.0 2023年1月14日
0.1.0 2022年9月29日

#1832 in #parser


cfr 中使用

MIT 许可证

52KB
1.5K SLoC

Gambit 解析器

crates.io docs license tests

Rust 解析器,用于解析 gambit 扩展形式游戏 (.efg) 文件。

用法

use gambit_parser::ExtensiveFormGame;
use std::fs::File;
use std::io::Read;

let mut buffer = String::new();
File::open("my path")?.read_to_string(&mut buffer)?;
let parsed: ExtensiveFormGame<'_> = original.as_str().try_into()?;

备注

gambit 规范指出,机会节点和玩家节点中的动作列表在技术上是可以省略的。为了省略这些动作,它们需要在同一文件中对相同的infoset进行定义。处理这种情况稍微有些困难,并且没有很好地记录。由于找不到类似文件的示例,因此没有处理这种特定的省略。

待办事项

最终,这代表了一个可以修改和序列化的数据模型,但尚未实现。当前版本保留了对底层文件字节的引用,为了实现完整的数据模型,应该有一个支持完整序列化和修改的 ExtensiveFormGame 的所有者版本。

依赖项

~1.5MB
~29K SLoC