使用 python 检查 Lilypond (.ly) 文件是否有效
您知道检查 Lilypond (.ly) 文件是否有效的 Pythonic 简单方法吗?
Do you know a pythonic simple way to check whether a Lilypond (.ly) file is valid ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于复杂的 lilypond 文件,Python 中没有简单的方法来检查其格式是否正确。主要原因是lilypond文件不是简单的数据文件,而实际上是一组Scheme代码/宏,因此任何Python解析器都必须嵌入整个Scheme解析器来检查宏,类型检查宏的输入是这是我的项目(music21)从未实现 lilypond 解析器的主要原因,尽管它会产生 Lilypond 输出。 Frescobaldi 模块可以解析一些百合花。用于解析(和生成)完整 Lilypond 的最佳纯 Python 工具包是 Abjad;它的使用也不简单,但功能非常强大。
For a complex lilypond file, there's no simple way in Python to check that it's well formed. The main reason is that a lilypond file is no simple data file, but is actually a set of Scheme code/macros, so any Python parser would have to embed an entire Scheme parser to check for macros, type check that the input to macros is of the correct type, etc. This is the main reason why my project (music21) has never implemented a lilypond parser, even though it will make Lilypond output. The Frescobaldi module can parse some lilypond. The best pure-Python toolkit for parsing (and generating) complete Lilypond is Abjad; it too is not simple to use, but it is very powerful.