当程序写入要解析的文件时,使用解析器生成器或手动代码?

时间:2013-02-07 19:55:20

标签: c parsing configuration-files

我知道这个问题非常通用,因此难以回答。

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

我是否应该使用解析器生成器,或者该文件是否由其他程序编写,以便通过手工编写来编写不同类型的解析器?

2 个答案:

答案 0 :(得分:1)

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

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

  3. 工作要少得多

    来源:The Art of Unix Programming - By Eric S. Raymond

答案 1 :(得分:0)

对我来说听起来很复杂,节省时间和麻烦并使用lex / yacc,如果文件是由程序生成的,这只是意味着你在解析时不需要验证,这无关紧要,但是你如果你使用lex / yacc,那么无论如何都要免费获得。另外,如果使用生成器,更容易处理格式。