3 个版本 (重大更新)
0.3.0 | 2022年5月19日 |
---|---|
0.2.0 | 2022年4月22日 |
0.1.0 | 2022年3月30日 |
在 生物学 中排名第 234
24KB
568 行(不包括注释)
chem-parse
简单化学公式的解析器。
入门指南
将依赖项添加到您的 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(())
}