gpt4 book ai didi

parsing - 将数学函数转换为 lua

转载 作者:行者123 更新时间:2023-12-01 16:02:52 27 4
gpt4 key购买 nike

我想读取使用 Mathematica 函数“保存”编写的文件。在里面,它们是我想用 lua 翻译的表达式。

例如:mathematica -> lua

foo[bar_]:= a*bar + b     ->    function foo(bar) return a*bar + b end   
foo[bar_]= a*bar + b -> foo[bar] = a*bar + b
foo = N[bar] -> foo = bar
Pi or \[Pi] or -> math.pi
-7.809692029744407*^-8 -> -7.809692029744407e-8
2.7067*^-8 + 2.268*^-8*I -> 2.7067e-8 + 2.268e-8*math.i

这不一定是个难题,我只要学会lua正则表达式就可以了。但是他们需要考虑很多情况(上面没有提到),我不想“重新发明轮子”。 Maybe I should ,你会说……

但是无论如何,是否有专门用于此的 lua 库或项目?

最佳答案

我不知道在那个方向上已经做了什么,但我建议您考虑在 Mathematica 中构建 Mathematica 到 Lua 的转换器,类似于将其输出保存到文本文件的“LuaForm”。它将使用 FortranForm/CForm 等现有程序 block 来转换基本表达式(例如数字和变量的代数组合),并且您可以在使用其他 Mathematica 功能时添加新规则。

CForm /@ {Pi, \[Pi], a b+3x, -7.809692029744407*^-8, 2.7067*^-8 + 2.268*^-8*I}

{Pi,Pi,a*b + 3*x,-7.809692029744407e-8,Complex(2.7067e-8,2.268e-8)}

我过去(针对其他目标语言)做过类似的代码,结果令人满意。

关于parsing - 将数学函数转换为 lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com