0

我知道这个问题非常笼统,因此很难回答。

我需要解析一个内容类似于配置文件的文本文件。它包含可测量信号的描述、如何转换为物理单位、注释、描述等。如果这个文件是由人编写的,我会使用解析器生成器,如 lex/yacc 或 ANTLR。但是由于这个文件是由其他程序编写的,所以它总是被正确格式化等。

无论如何我应该使用解析器生成器,还是文件是由其他程序编写的事实是通过手动编码编写不同类型的解析器的原因?

4

2 回答 2

1
  1. 不要解决已经解决的问题

  2. 如果您有工具可以为您完成工作,请使用这些工具。因此,如果您可以使用 ANTLR 或 LEX/YACC,那么请继续使用它,而不是手动编写词法分析器和解析器。

工作量会少很多

资料来源:Unix 编程的艺术 - 作者:Eric S. Raymond

于 2013-02-07T20:07:56.450 回答
0

对我来说听起来很复杂,为自己节省时间和麻烦并使用 lex/yacc,文件是否由程序生成并不重要,这只是意味着您在解析时不必验证它,但您会得到它如果您使用 lex/yacc,无论如何都是免费的。另外,如果您使用生成器,格式的更改将更容易处理。

于 2013-02-07T20:03:13.097 回答