3 个版本 (重大更新)

0.3.0 2022年5月19日
0.2.0 2022年4月22日
0.1.0 2022年3月30日

生物学 中排名第 234

MIT 许可证

24KB
568 行(不包括注释)

chem-parse Crates.io

简单化学公式的解析器。

入门指南

将依赖项添加到您的 Cargo.toml 文件中。

[dependencies]
chem-parse = "0.1.0"

解析公式单位

use std::error::Error;
use chem_parse::parse;

fn main() -> Result<(), Box<dyn Error>> {
    let string = String::from("Fe2O3");
    let ast = parse(string)?;
    // Ast: ForumulaUnit(1, [Element(2, "Fe"), Element(3, "O")])
    println!("Ast: {:?}", ast);
    Ok(())
}

解析方程式

use std::error::Error;
use chem_parse::parse;

fn main() -> Result<(), Box<dyn Error>> {
    let string = String::from("4Fe+3O2->2Fe2O");
    let ast = parse(string)?;
    // Node: comment broken up into multiple lines to save space
    // Ast: Equation(
    //   Reactants([ForumulaUnit(4, [Element(1, "Fe")]), ForumulaUnit(3, [Element(2, "O")])]),
    //   Products([ForumulaUnit(2, [Element(2, "Fe"), Element(1, "O")])])
    // )
    println!("Ast: {:?}", ast);
    Ok(())
}

无运行时依赖