Hasty Briefsbeta

双语

Parsing Chemistry

7 months ago
  • #programming
  • #parsing
  • #chemistry
  • Python的chemparse项目可将化学式字符串解析为元素与计数对应的字典
  • 支持的化学式变体包括:简单化学式、分数计量比、基团、嵌套基团及方括号形式
  • Factor语言通过EBNF语法实现了类似的解析表达式文法功能
  • 解析步骤包含:符号处理、数字解析及符号-数字对(带可选数字的符号)处理
  • 实现过程涉及将解析元素扁平化为元素到计数的关联数组
  • 单元测试展示了多种化学式特性的支持,例如H2O、C1.5O3、(CH3)2、((CH3)2)3和K4[Fe(SCN)6]
  • 项目代码已开源托管在GitHub平台