gpt4 book ai didi

python - 我应该使用 Lex 还是自制的解决方案来解析公式?

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:28 24 4
gpt4 key购买 nike

我正在编写一个基于规则的小型“数学”引擎。我意识到这还不清楚,所以我将提供一个小例子。

假设您有一些变量 a,它包含一个整数。您还有一些可以应用于该号码的功能,即

  • sqr - 平方数
  • flp - 翻转数字的位
  • dec - 减少数字
  • inc - 增加数字

然后你可以说,do_formula(a, "2sqr+inc+flp")。如果 a 是 3,它会将它平方两次 (81),递增它 (82),然后翻转它的位(~82 —— 如果处理有符号整数,我相信是 -83)。

解析公式的最佳方法是什么?它相对简单,我正在考虑将所有操作码设为 3 个字符……使用 Lex 会不会太过分了?我应该只编写一个简单的自制解决方案还是完全使用其他东西?

我意识到上面的例子很愚蠢;我不是在构建一个可以做到这一点的计算器,但它很好地说明了我正在努力做的事情。

最佳答案

如果您的语法不是非常复杂并且您不介意用 Python 来实现,pyparsing可能正是医生要求的。我为解析化学方程式实现了一些非常相似的东西,我花了一个小时左右的时间来完成。我会在此处添加代码,但它不会特别相关。

关于python - 我应该使用 Lex 还是自制的解决方案来解析公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2001504/

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