【发布时间】:2023-04-05 13:57:02
【问题描述】:
我应该如何开始为BibTex 文件编写解析器。作为初始设计,我看到以下步骤。
- 列出语法
- 构建分词器
- 根据语法对令牌流进行解析
我们还需要一些错误机制,所以上传 bibtex 文件的用户可以知道他们的 BibTex 文件中的错误所在的行号。我正在寻找社区意见来解决这个问题。
(如果有任何现有的开源 C# 或 VB.NET BibTex 解析器,请指出。)
【问题讨论】:
我应该如何开始为BibTex 文件编写解析器。作为初始设计,我看到以下步骤。
我们还需要一些错误机制,所以上传 bibtex 文件的用户可以知道他们的 BibTex 文件中的错误所在的行号。我正在寻找社区意见来解决这个问题。
(如果有任何现有的开源 C# 或 VB.NET BibTex 解析器,请指出。)
【问题讨论】:
有许多工具可以帮助您解决此问题,例如 ANTLR 或 GOLD Parsing System。我通常使用后者来创建我的解析器语法。
【讨论】:
我已经发布了一个用于 BibTex 格式的开源库(加载/保存/导出到 Excel),允许对 BibTex 条目进行非类型化(键/值字典)和强类型化访问。
它可能不适合您的目的,因为它在验证方面很弱(没有它:)),但无论如何可能会有所帮助:
【讨论】: