Edison:把 EDIFACT 报文建成真语法树的 Python 解析器
来源:github.com/AmadeusITGroup — 2026-10-21
📋 概述
Amadeus IT Group 开源 Edison:一个把 EDIFACT 报文建成真正语法树的 Python 解析器。段可以递归定义子段组,组可条件、必选或可重复,语法树会被编译成段与段之间可能转移的状态机,然后用同一份定义去解析、校验或漂亮打印报文。它支持按报文版本选择语法树、处理转义分隔符与 EBCDIC 控制字符、正确切分 BLB 这类定长段,还能用 pydot 导出转移图。
🔑 核心要点
不把报文当扁平段列表,而是递归语法树,再用状态机执行解析与校验。
段组支持条件 / 必选 / 可重复三种约束,可按版本号选择对应语法树。
可在关心的段上挂回调直接产出业务数据,示例里把 PIZZAQ 报文汇总成 {披萨名: 参考号数量} 的字典。
要求 Python 3.12 以上,pip install edison-parser,MIT 许可。
💡 金句
Instead of treating a message as a flat list of segments, it models messages as a syntax tree: segments can define groups of child segments, recursively.
👍 0
❤️ 点赞
👎 0
沉底
← 返回 Hacker News 首页