乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 6

字符串公式计算器

[复制链接]

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2018-9-22 14:50:30 | 显示全部楼层 |阅读模式
我正在寻找一个字符串公式求值器的建议,理想情况下,公式将被发送到求值器,它将返回一个可以转换为数字类型的对象。
我目前使用的是逃离,但它只做基本的东西。我需要ROUND,ABS,MIN,MAX等。而且和新项目不太配合。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2018-9-22 20:19:34 | 显示全部楼层
除非您构建一个简单的解释器,否则没有简单的方法可以做到这一点。最难的部分是解析和词法分析,但由于您可能只需要真正语言的一小部分,因此会容易得多。
http://www.craftinginterpreters.com/
上面的链接非常好,即使只是阅读第1部分(Java解释器)也会为您提供足够的信息来获得一些东西,或者至少是一些方向或更好地理解Flee。
我已经构建了Java版本,并且即将开始C版本,我的兴趣是构建一个小型脚本语言来自动化我的插件。你所做的没有什么不同,只是你在解析短句,这将容易得多(理论上)
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2018-9-22 23:54:48 | 显示全部楼层
这正是我寻找现有库的原因,理想情况下,该库将允许我导入可以解释为如下的函数:Evaluator.functions.Add(foo);。

函数双 foo(双值)。
{。
//dostuff here。
}我现在有点困难......刚回到家,我很确定我已经喝了几乎整整1.5升的瓶子,所以如果我的信息有点不连贯,请原谅我。
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2018-9-24 15:49:11 | 显示全部楼层
至于原始问题,请阅读前两部分。
https://llvm.org/docs/tutorial/
对于像这样的简单解析器来说,转到IR / L有点过分(一团糟的代码)。
Mick,
如果你把那段代码放在github(或类似的东西)上,请告诉我。那会很酷。
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2018-9-24 16:38:39 | 显示全部楼层
天哪...周六晚上是另一回事...结果我喝了一整瓶1.5升的摩根船长。
无论如何,阅读作业看起来很酷。我肯定这是我能做的事情。一两个星期应该给我足够的时间去做我需要的事情,甚至更多
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2018-9-24 17:58:12 | 显示全部楼层

这是一个很好的阅读/学习,我认为非常值得。你一定能够敲出一些简单的东西 n C#
会做的,作者的C部分仍在进行中,但开始变得有趣 - 动态字符串是下一个
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2018-9-24 22:01:31 | 显示全部楼层
对我来说幸运的是,我只需要实现一小部分数学函数,我只需要评估两个函数,尽管这两个函数平均需要评估大约300次。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 09:01 , Processed in 0.368361 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表