Update: EnvSafe.Expression 4.1.8

For .NET 4.0 , available on Nuget.

EnvSafe.Expression 是一款字符串表达式解析计算库,可以在正确配置后按括号优先级进行顺序执行。例如给定字符串 1+x*3-(9-4),并且为符号(Symbol)+、-、*做出合适的算符(Operator)关联,则解析该表达式会得到一个执行序列(Procedure),包含4个计算步(Steps):

  1.   9 – 4 => a
  2.  x * 3 => b
  3.  1 + b => c
  4.  c – a => d

其中 x 是变量,可以在每次调用执行序列计算前指定。

在循环中使用执行序列时,要比单次解析计算速度快,其本质是委托调用。

本次更新为执行序列增加了一个预简化方法(Presimplify),该方法迭代遍历计算步,预先计算不含变量的步骤,并将结果赋值到其它计算步的变量表中。这样,对于不含变量的计算步较多时,循环计算会有很大的性能提升。

对于上例,简化过程计算出9-4=5,简化后的计算步如下:

  1.  x * 3 => a
  2.  1 + a => b
  3.  b – 5 => c

发表评论

电子邮件地址不会被公开。 必填项已用*标注


+ 六 = 11