奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 388 页

PDF 物理页索引 404 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
388
PDF 物理页
404(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
391c208cd314d0265c0a541b7f4fa4d0d7249b8df7139fe60a78daf8171b248d

通过在命令行运行ALGOL编译器对FIRST.ALG文件进行编译,其格式如下:

ALGOL FIRST.ALG

ALGOL编译器对这条命令很可能做出这种响应,在显示设备上给出以下提示信息:

Line 3: Unrecognized keyword 'ende'.

ALGOL编译器对拼写的检查非常严格,它在这一点上比传统的语文教师更甚。因为输入程序时,误把“end”拼写做“ende”,所以编译器通过提示信息告诉我们程序中有语法错误(syntax error)。当编译器检查到“ende”时,它期待能遇到一个可识别的关键字(keyword),但由于上述错误,编译不能通过。

将程序中的错误改正之后,可以再次执行编译命令。由于系统平台和编译器版本的不同,有时编译器会直接生成一个可执行文件(CP/M平台下此文件名为FIRST.COM,MS-DOS平台下名为FIRST.EXE);有时还需要再执行一个步骤才可以完成。不论是哪种情况,最后你都可以在命令行执行FIRST程序:

FIRST

FIRST程序会对此响应,并显示以下内容:

This is my fist ALGOL program!

注意,这里还有一个拼写错误:first被误做fist!编译器没有检查出这个错误,因此它被称为运行时错误(run-time error)—程序被执行时才出现的错误。

很明显,我们的第一个 ALGOL程序中,print 语句的功能是把一些信息显示到屏幕上,在本程序中是显示一行文本(从功能的角度来看,该程序与本章开始所给出的汇编程序是等价的)。ALGOL语言的正式规范中并不包括print语句,但我们假设所使用的特定 ALGOL编译器包括这个便利的工具,它有时候也被称做内部函数(built-in function)。除了begin和 end之外的大部分 ALGOL语句都要以分号结尾。你可能注意到了print 语句使用了向右缩进的格式,这并不是必要的,其作用只是为了让程序的结构更加清晰。

假设现在要编写一个用于两个数相乘的程序。每一种程序设计语言都包括变量(variabie)的概念。程序中的变量可以是一个字母、个短的字母序列,也可以是一个单词,由程序员自己决定。变量名实际上对应内存的一个存储单元,但在程序中是通过名字来访问该存储单元的,而不是直接使用存储单元的地址值。下面的程序定义了三个变量,分别命名为a,b,c:

编码隐匿在计算机软硬件背后的语言

388