问题跟踪: 数学表达式解析器/计算器
作者: Keavon创建于 2024年10月9日更新于 2026年9月17日
标签Help WantedGood First Issue
这是我们在[`/librarys/math-parser']的图书馆(https://GitHub.com/GraphiteEditor/Graphite/tree/master/librarys/math-parser),它使用一个解析框架,在运行时取出一个字符串并计算其结果,包括单位和维度分析.
□ 路线图
- Scalars (实数)
- 第1条(复数)
- [ ]矢量1/分量2/分量3和分量2/分量3(至四分位数)
- [ ]地图(线和相邻地图)
- [ ]静态打字:类型(数值对矩阵),值阶梯,矩阵钻石(Linear/Affine × 2D/3D),以及改进
- [ ]单位
- 文档
- 报告出错 *(部分完成:解析出错带字节跨度并输入评价出错,但没有源片渲染) *
- 编入Graphene AST
□ 运算符
- 插件操作员:
- 添加:
- 减法:
-',−` - [x]乘法:
*,×,⋅. - [x]分区:`/',
- [ ]Modulo:
%(已下架,结果取出modulus的标志,而(-3.2)% 2'是0.8',与Modulo节点的默认相匹配;`x%把'将一个角度包装成一个革命') - 指标:
- 等数:
- 不等于:
!=;≠; - 少于或等于:
- 大于或等于: ,
- [x]小于: ++
- 比:
> - 或:
||,∨ - 还有:
&&,∧ - 前缀运算符:
- Unary Plus:
+ - 一等分数:
-', - 不:
! ' ,¬` - 后缀操作员:
- [x]因果:`!
- 分组操作员:
- 父母:`(.)'
- Magnitude 栏: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
□ 连锁比较 像`a < b < c'这样的链条是一个n-ary 上游:每次比较只读出最初的操作和单个结果合并在一起,因此任何比较的结果都无助于再次比较。
a < b < c ' 和较长的连锁店维护相邻的每对对搭配之间的关系,如间隔标记(0 ' x < 1 ' ),永远不要C-型`(a < b) < c'- 一条链必须留在一个方向的家族内,QQ/QQ/QQ或QQ/;混合方向是一个解析错误
-
a!=b!=c'声称,所有对子都是不同的,与Mathematica的不平等'相匹配(完全不是Python的相邻-pairs读取)
□ 函数
- [x]特里格:
- [x]
sin()'、cos()'、`tan()' csc()'、sec()'、`cot()'- 反三:
- [x]
asin()'、acos()'、atan()'、atan2()' - [x]
asc()'、asec()'、`acot()' - 双曲:
辛()'、可什()'、`tan()'- [x]
csch()'、shech()'、`coth()' - [x]反双曲:
- [x]
asinh()'、acosh()'、`atanh()' - [x]
acsch()'、asech()'、`acoth()' - 对数:
- 自然对数:`ln()'
- 对数基础N:`logN ()'(别名: . . . . . . .
内容来源: GraphiteEditor/Graphite