BCPL

编辑
本词条由“匿名用户” 建档。

BCPL (BCPL) 是一种编译型低级编程语言。 它是 ALGOL 家族的一种语言。 BCPL 的进一步发展是编程语言 B,它反过来构成了xxx重要的编程语言 C 的开发基础。

一般说明

编辑

BCPL的优点是学起来快,实现容易,移植容易。 它主要用于编译器构造、系统编程和作为“先驱语言”,即作为新系统的xxx语言。

BCPL 程序由也可以递归定义的单个函数组成; 函数调用是使用值参数进行的。

BCPL 只将单词识别为一种数据类型。 所有变量都是对存储单元的引用。 根据运算符的不同,变量可以被视为整数值、内存引用、向量或函数的入口点。 只有局部标识符和一个全局向量,其中在整个程序中可见的标识符(包括函数名称)被组合在一起。

变量的内容称为 R 值(可能只出现在赋值的右侧),存储位置称为 L 值(可能只出现在赋值的左侧) .

lv 和 rv 运算符允许将左值解释为右值,反之亦然(即取消引用变量)。

BCPL 本身实际上只提供位和字操作的功能。 所有其他功能都组合在其他库中。

Ken Thompson 在 1969 年开发了 B 语言,它深受 BCPL 的影响。 由于 B 是为在具有 8 kB RAM 的 PDP-7 上进行解释而开发的,因此 B 比 BCPL 更简单。 例如,嵌套函数定义是不可能的。 从 B 的进一步发展中出现了编程语言 C。

几乎每个操作系统都有 BCPL 实现,不同的实现与源代码不兼容。

BCPL

操作系统

编辑

AmigaOS 的一部分(AmigaDOS 组件)基于 TRIPOS,这是 MetaComCo 公司的多用户操作系统,它是用 BCPL 编程语言开发的,因此今天仍然带有 BCPL 的痕迹。 例如,AmigaDOS 数据结构中的 BCPL 指针必然以 32 位边界结束,因为它们向右移动了 2 位,相当于除以 4。 此外,AmigaDOS 中经常使用字符串,它使用前缀长度字节而不是编程语言 C 中常见的零终止符。

AEG(系统软件部门 Konstanz)在 BCPL 为其自己的 AEG 80-40 和 AEG 80-60 机器(不到 100 台,1980 年左右)开发的另一个操作系统是 MARTOS(多路访问实时操作系统)。 以BCPL实现并与C和PL/I相关的编程语言SL3(System Low Level Language)也是为这些机器开发的,仅在少数项目中使用,在当时实际上非常现代,但另一方面也可以使用复杂的嵌套结构进行编程。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/371992/

(3)
词条目录
  1. BCPL
  2. 一般说明
  3. 操作系统

轻触这里

关闭目录

目录