1 个不稳定版本
0.1.0 | 2024年5月30日 |
---|
#1297 在 文本处理
37KB
873 代码行
vidyut-chandas
梵文韵律分类器
vidyut-chandas
是一种实验性的梵文韵律分类器。
该 crate 正在 Ambuda 项目中积极开发。如果您喜欢我们的工作并希望为其做出贡献,我们鼓励您 加入我们的Discord服务器,在那里您可以结识其他梵文程序员和爱好者。
在线演示可在此 处 获取。
概述
梵文诗歌使用各种 韵律,这些韵律指定了诗句必须遵循的音节模式。vidyut-chandas
的目标是提供一个简单的API来识别给定诗句使用的韵律。
vidyut-chandas
是实验性代码,并效仿了像 sanskritmetres 和 Skrutable 这样的伟大项目。
用法
(此API不稳定。)
我们建议通过我们的 Chandas
API 使用 vidyut-chandas
use vidyut_chandas::{Chandas, MatchType, Vrtta};
let vrttas: Vec<Vrtta> = vec![
"vasantatilakA\tvrtta\tGGLGLLLGLLGLGG".try_into().unwrap(),
"mandAkrAntA\tvrtta\tGGGGLLLLLGGLGGLGG".try_into().unwrap(),
"puzpitAgrA\tvrtta\tLLLLLLGLGLGG/LLLLGLLGLGLGG".try_into().unwrap(),
"udgatA\tvrtta\tLLGLGLLLGL/LLLLLGLGLG/GLLLLLLGLLG/LLGLGLLLGLGLG".try_into().unwrap()
];
let chandas = Chandas::new(vrttas);
let result = chandas.classify("mAtaH samastajagatAM maDukEwaBAreH");
assert_eq!(result.vrtta().as_ref().unwrap().name(), "vasantatilakA");
assert_eq!(result.match_type(), MatchType::Pada);
依赖项
~1.5–2.4MB
~36K SLoC