【发布时间】:2015-02-21 05:43:24
【问题描述】:
最近我对解析器生成器和编译器编译器非常感兴趣。为了玩转,我下载了 TinyPG,现在有了一种简单的语言来解析字符串和浮点数。现在,我很好奇用参数实现简单的函数。我设法通过评估一个表达式主体并将其存储在一个表中来创建无参数函数,然后在调用函数时检索该值。我将如何在 TinyPG(或任何其他解析器生成器)中实现简单的、带有参数的表达式函数?
【问题讨论】:
标签: c# parser-generator tinypg
最近我对解析器生成器和编译器编译器非常感兴趣。为了玩转,我下载了 TinyPG,现在有了一种简单的语言来解析字符串和浮点数。现在,我很好奇用参数实现简单的函数。我设法通过评估一个表达式主体并将其存储在一个表中来创建无参数函数,然后在调用函数时检索该值。我将如何在 TinyPG(或任何其他解析器生成器)中实现简单的、带有参数的表达式函数?
【问题讨论】:
标签: c# parser-generator tinypg
好的,我实际上是偶然找到了答案。我偶然发现了Tiny Expression Evaluator,它是用 TinyPG 编写的。为了测试函数功能,我输入了斐波那契数列fib(x) := x=0 ? 0 : (x=1 ? 1 : fib(x - 2) + fib(x - 1)),它按预期工作。现在我得弄清楚他们是怎么做到的。
【讨论】: