最近我对解析器生成器和编译器编译器非常感兴趣。为了解决这个问题,我下载了TinyPG,现在有了一种简单的语言来解析字符串和浮点数。现在,我很好奇用参数实现简单的函数。我已经设法通过计算one-expression主体并将其存储在表中来创建无参数函数,然后在调用函数时检索该值。我如何在TinyPG(或任何其他解析器生成器)中使用参数实现简单的一个表达式函数?
答案 0 :(得分:0)
好吧,我实际上是偶然找到了答案。我偶然发现了用{TinyPG写的Tiny Expression Evaluator。为了测试函数功能,我输入了Fibonacci序列fib(x) := x=0 ? 0 : (x=1 ? 1 : fib(x - 2) + fib(x - 1))
,它按预期工作。现在我必须弄清楚他们是如何做到的。