什么是野牛,为什么它有用

What is Bison and why is it useful?

本文关键字:为什么 有用 什么      更新时间:2023-10-16

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

Bison是一个解析器生成器。它以类似于Backus-Naur表示法的方式获取输入,并输出代码以根据该语法解析输入。它使您能够比其他情况下更容易地编写解析器。不必手动完成所有操作,只需指定语法的规则,以及当它与其中一个规则匹配时希望发生什么。

GNU Bison是我所知道的唯一一个与编程相关的Bison。它不会让你的代码更快,而且你可能在生活中永远都不需要它。然而,学习一些编译器理论,甚至自己编写一个简单的编译器,是一种很棒的学习体验,它确实会影响你的编程方式,你对计算机编程的思考方式,以及很多类似的事情。如果你喜欢形式语言和自动机,你就会喜欢编译器理论;如果你不喜欢一般的理论,它可能不适合你。如果你感兴趣的话,有很多关于在Stackoverflow上出书的问题。

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