【发布时间】:2010-08-24 06:08:07
【问题描述】:
是否可以使用 bison/yacc 为使用反向波兰表示法(和类似 Postscript 的语法)的脚本语言生成解析器?
解析器应该能够解析类似于以下的代码:
/fib
{
dup dup 1 eq exch 0 eq or not
{
dup 1 sub fib
exch 2 sub fib
add
} if
} def
【问题讨论】:
-
Postscript是什么意思?你指的是后记语言还是指其他稍微抽象一点的东西? -
对于类似 Postscript 的编程语言,我的意思是像 Postscript 这样的面向堆栈的编程语言。
-
当你说“后记”时,我想到了打印机语言en.wikipedia.org/wiki/PostScript。但我认为你的意思是“我称之为基于堆栈的反向波兰语言”:en.wikipedia.org/wiki/Stack-oriented_programming_language 但不要认为这意味着“我认为你的描述是错误的”这正是我的想法和想要的方式澄清(为我自己)。
-
我现在明白了。 en.wikipedia.org/wiki/…我在维基百科上找到了你的例子。有时添加链接比尝试描述链接更容易。
-
事实上,使用 Bison 的例子是一个 RPN 计算器 :)