【发布时间】:2021-10-25 10:38:01
【问题描述】:
例如,我传递一个表达式字符串和一个上下文表,它返回一个布尔值,无论它是真/假。我可以使用 LPEG 做到这一点吗?
类似的东西:
context = {
x = 3,
y = 3
}
local result = eval("x==y", context)
【问题讨论】:
例如,我传递一个表达式字符串和一个上下文表,它返回一个布尔值,无论它是真/假。我可以使用 LPEG 做到这一点吗?
类似的东西:
context = {
x = 3,
y = 3
}
local result = eval("x==y", context)
【问题讨论】:
您可以编写一个 LPeg 语法,将表达式解析为 AST,然后您的 eval 函数读取 AST 并使用上下文对其进行评估。请参阅lpeg.re doc 了解如何使用 LPeg 获取 AST。
【讨论】: