- 主题:逻辑表达式求值,有什么轻量的库不?
只支持逻辑表达式就行,也就是与、或、非的嵌套。
自己撸一个要稍微花点时间。
有没现成的?yara、lua可能重了点。
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*
【 在 z16166 的大作中提到: 】
: 只支持逻辑表达式就行,也就是与、或、非的嵌套。
: 自己撸一个要稍微花点时间。
: 有没现成的?yara、lua可能重了点。
就是解释表达式呗,LEX+YACC试试。
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*
我用的是github /Blake-Madden/tinyexpr-plusplus
你可以先看看它的手册是不是符合你的需求
github /Blake-Madden/tinyexpr-plusplus/blob/tinyexpr%2B%2B/docs/TinyExpr++ReferenceManual.pdf
--
FROM 171.213.193.*
好哒。谢谢
你的那个编辑器里面用的?
【 在 poocp 的大作中提到: 】
: 我用的是github /Blake-Madden/tinyexpr-plusplus
: 你可以先看看它的手册是不是符合你的需求
: github /Blake-Madden/tinyexpr-plusplus/blob/tinyexpr%2B%2B/docs/TinyExpr++ReferenceManual.pdf
--
FROM 114.241.228.*
手撸也没问题,就是想看看有没现成的、更好的
【 在 ylh1969 的大作中提到: 】
: 就是解释表达式呗,LEX+YACC试试。
--
FROM 114.241.228.*
我从Notepad3源代码修改了一个版本叫NotepadEE,里面除了这个TinyExpr++之外,我还自己写了编辑器内执行的部分,可以支持直接在编辑器里运行各种命令保存结果的功能,方便拿记事本当计算器和免保存的脚本测试小工具。比如在下面的等号按回车或者问号,就能自动执行不需要存盘再开个命令行工具执行。
```python
import re
p = '324'
print(re.match(r'^\d+$', p, re.A))
```=
<re.Match object; span=(0, 3), match='324'>
【 在 z16166 的大作中提到: 】
: 好哒。谢谢
: 你的那个编辑器里面用的?
--
FROM 171.213.193.*
exprtk,一个大头文件,我用来做表达式数值求解的。
【 在 z16166 的大作中提到: 】
: 只支持逻辑表达式就行,也就是与、或、非的嵌套。
:
: 自己撸一个要稍微花点时间。
:
: 有没现成的?yara、lua可能重了点。
: --
: 每天半小时节奏光剑,预防老年痴呆
发自「今日水木 on 22041216C」
--
FROM 101.90.175.*
好的。
我发现我其实还有个隐藏需求:最好是能预编译一下,防止被人简单就能扒拉出来表达式字符串的。
luajit这个应该是可以的
【 在 meizhi 的大作中提到: 】
: exprtk,一个大头文件,我用来做表达式数值求解的。
: 发自「今日水木 on 22041216C」
--
FROM 114.241.228.*
我开始想推荐一lua到底的。看你抠效率。算了
这种问题要么撸啊,要么js,要么python,
语法平易近人,用户广泛,完整的语言,久经考验。
DSL是30年前没条件时的自力更生。
【 在 z16166 的大作中提到: 】
: 好的。
: 我发现我其实还有个隐藏需求:最好是能预编译一下,防止被人简单就能扒拉出来表达式字符串的。
: luajit这个应该是可以的
: ...................
--
FROM 1.86.63.*
我以前在网上找到一个,拿来改成自己的轮子了。
现在上班中,等回去给你发一下。
【 在 z16166 的大作中提到: 】
: 只支持逻辑表达式就行,也就是与、或、非的嵌套。
: 自己撸一个要稍微花点时间。
: 有没现成的?yara、lua可能重了点。
--
FROM 122.193.118.*