2012-08-24 34 views
0

我已经编程了几年,现在已经看到了名字Bison,但从来没有打扰问为什么它或为什么可能需要。 Bison如何影响我的程序设计,它可以使我的C/C++代码更快吗?什么是野牛,它为什么有用?

+1

http://en.wikipedia.org/wiki/GNU_bison –

+3

Bison从正式文法中生成解析器。它与加快代码速度没有任何关系。 –

回答

3

Bison是一个解析器生成器。它将输入的内容类似于Backus-Naur符号,并根据该语法输出代码来解析输入。它可以让你更容易地编写一个解析器,否则。您不必手动执行所有操作,只需指定语法规则以及在符合规则之一时想要执行的操作。

2

GNU Bison是唯一与编程相关的野牛。它不会让你的代码更快,并且有可能你的生活中永远不会需要它。然而,学习一些编译器理论,或者自己编写一个简单的编译器,都是一个了不起的学习体验,它会影响你编程的方式,你对计算机编程的看法以及诸如此类的许多事情。如果你喜欢正式的语言和自动机,你会喜欢编译器理论;如果你一般不喜欢理论,那可能不适合你。如果你有兴趣,关于在Stackoverflow上开始书籍有很多问题。

呵呵,有时候程序员确实需要一些更复杂的解析工作等等,并且了解解析器生成器是一个巨大的福音,而不是用手写一切,遵循一种天真的方法。

相关问题