2 个不稳定版本
0.2.0 | 2023年1月14日 |
---|---|
0.1.0 | 2022年9月29日 |
#1832 in #parser
在 cfr 中使用
52KB
1.5K SLoC
Gambit 解析器
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