0

例如,我传递了一个表达式字符串和一个上下文表,它返回一个布尔值,无论它是真还是假。我可以使用 LPEG 做到这一点吗?

与此类似的东西:

context = {
  x = 3,
  y = 3
}
local result = eval("x==y", context)
4

1 回答 1

2

您可以编写将表达式解析为 AST 的 LPeg 语法,并且您的 eval 函数读取 AST 并使用上下文对其进行评估。请参阅lpeg.re 文档了解如何使用 LPeg 获取 AST。

于 2021-10-25T02:38:01.020 回答