我想解析一个mci文件格式,用于在java中存储petri网展开前缀,以便我可以用它来生成SAT公式
以下文字描述了用于存储的MCI文件格式 Petri网展开前缀。
下面,CHAR是一个1字节的字符,而UINT4是一个小尾数 (即最低有效字节位于最低地址, 其他字节按升序排列 意义。)4字节无符号整数(英特尔是小端)。
条件总数(UINT4)
事件总数(UINT4)
每个事件(从头到尾): - 原始转换的编号(UINT4)
(从头到尾): - 原始地点的数量(UINT4) - 预设事件的编号(UINT4); 如果条件是初始值则为0 - NULL(UINT4)终止的邮政事件编号列表(UINT4)
每个截止事件 - 截止事件的数量(UINT4) - 相应事件的数量(UINT4)或 NULL(UINT4)如果相应的事件是 虚拟初始事件
分隔NULL(UINT4)
每个配置: - NULL(UINT4) - 终止事件数列表。 (这是一些古代模型检查员使用的; PUNF不创建它只是输出 终止NULL(UINT4)。)
分隔NULL(UINT4)
原网中的总地点数(UINT4)
原始网络中的转换总数(UINT4)
地点/转换名称的最大字符串长度(UINT4) (对于解析器中的内存分配很有用)
原网中的每个地方: - 名称(NULL(CHAR) - 终止字符串)
分隔NULL(UINT4)
原始网络中的每次转换: - 名称(NULL(CHAR) - 终止字符串)
终止NULL(UINT4)。
注意:我已经在C ++中实现了,但我想在java中实现它。为了您的信息。我已经使用了很多工具将它转换为java,但它们都没有完全发挥作用。所以,我将感谢你们的任何帮助。更多,如果需要,我会把代码放在C ++中。