12

有谁知道我在哪里可以获得LOGO编程语言的 BNF 或 EBNF?

4

2 回答 2

13

BNF 语法在某些情况下可能不太有用……

编写与现有/历史实现准确兼容的 LOGO 并非易事(我曾从事过这样的项目)。问题是解析器没有完成全部工作,而评估器(解释器)必须处理部分数据。考虑这个例子:

proc1 ab proc2 c

根据 proc1 和 proc2 的参数数量,它可能意味着 proc1(a, b, proc2(c)) 或 proc1(a, b, proc2(), c)。

此外,我所知道的 LOGO 解释器,例如 Berkely LOGO,粗略一看,似乎并没有编写一个传统的解析器,该解析器还可以访问每个过程及其数量;相反,他们运行程序并且程序“吃掉”了他们需要的参数数量。这使得解析器有点幼稚,主要角色是解释器,因此解析有点不寻常。

于 2011-07-25T21:02:25.633 回答
3

没有标准的LOGO实现。

您最好的电话可能是查看流行实现的源代码,例如UCBLogo

于 2011-07-25T21:20:29.367 回答