【问题标题】:How to start writing an expression evaluator using LPEG in Lua?如何开始在 Lua 中使用 LPEG 编写表达式评估器?
【发布时间】:2021-10-25 10:38:01
【问题描述】:

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

类似的东西:

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

【问题讨论】:

标签: lua eval lpeg


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2010-11-12
    • 2019-03-16
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2018-10-18
    相关资源
    最近更新 更多