编程语言语义:历史、方法与应用
1. 编程语言历史中的经典案例
1.1 ALGOL 60
ALGOL 60 最早于 1960 年的一篇论文中被记录,这篇论文如今常被简称为 “ALGOL 60 报告”。它在编程语言的发展历程中具有里程碑意义,主要体现在以下几个方面:
- 强大的研发团队 :该语言是由一群杰出研究人员组成的委员会精心打造的成果,成员包括 FORTRAN 的创造者 John Backus、Lisp 的创造者 John McCarthy 以及首位丹麦计算机科学教授 Peter Naur。后来,他们都因在编程语言方面的贡献获得了 ACM 图灵奖。
- 深远的影响力 :ALGOL 60 启发了众多后续语言的发展,如 Pascal 和 Modula。
- 形式化的语法定义 :它是第一种对语法进行形式化定义的编程语言,所使用的符号是上下文无关文法的一种变体,后来被称为巴科斯 - 诺尔范式(BNF)。
然而,在 ALGOL 60 的语义方面,由于当时还没有通用的程序行为数学理论,Backus 及其同事只能依靠非常详细的英文描述。这导致即使是一群杰出的研究人员(他们大多是数学家),在缺乏形式化数学理论的情况下,也无法避免语义的不精确性。1963 年,ALGOL 60 委员会发布了修订版的报告,试图解决自原始报告发布以来发现的歧义并纠正错误。
但问题并未就此结束。1967 年,Donald E. Knuth 发表论文指出 ALGOL 60 仍然存在一些问题。其中一个问题与过程中的全局变量有关,以下是一个示例代码:
超级会员免费看
订阅专栏 解锁全文
7994

被折叠的 条评论
为什么被折叠?



