0

我已经编程了几年Bison,顺便看到了这个名字,但从来没有费心去问它为什么是或者为什么可能需要它。Bison 如何影响我的编程方式,它能让我的 C/C++ 代码更快吗?

4

2 回答 2

3

Bison 是一个解析器生成器。它以类似于 Backus-Naur 表示法的形式接受输入,并输出代码以根据该语法解析输入。它使您可以比其他方式更轻松地编写解析器。不必手动执行所有操作,您只需指定语法规则以及当它匹配其中一个规则时想要发生的事情。

于 2012-08-24T19:07:07.000 回答
2

GNU Bison是我所知道的唯一与编程相关的 Bison。它不会使您的代码更快,而且您可能永远不需要它。但是,学习一些编译器理论,甚至自己编写一个简单的编译器,是一种非常棒的学习体验,它确实会影响您的编程方式、您对计算机编程的看法以及很多类似的事情。如果你喜欢形式语言和自动机,你就会喜欢编译器理论;如果您一般不喜欢理论,那可能不适合您。如果您有兴趣,有很多关于 Stackoverflow 入门书籍的问题。

哦,有时程序员确实需要一些更复杂的解析工作等,了解解析器生成器是一个巨大的福音,而不是按照一种天真的方法手动编写所有内容。

于 2012-08-24T19:05:27.313 回答