Bison 的强度降低技术

Strength reduction techniques with Bison

我有一个 Bison 解析器生成器,我正在寻找优化它的方法。乘法和除法的位移位,或为 x*2 创建检查并将其更改为 x+x 等技术是否会使速度更快?或者 bison 是否已经针对此类事情进行了优化。

你应该自己做。您是声明运算符语义的人,野牛不知道它可能是什么。如果您选择将 + 实现为 printf("error") 并将 * 实现为 exp1.erase(exp2) 会怎么样? x+x 在您的语言中等于 2*x 吗?可能不会。

优化会让速度更快吗?这取决于您的目标语言。您可以测量、估计和比较这两种方法的成本,并决定是否需要优化。