理论教育 编译器设计之路:Pascal程序基本组成

编译器设计之路:Pascal程序基本组成

时间:2023-11-04 理论教育 版权反馈
【摘要】:表1-3 C与Pascal程序的比较下面简单分析上述Pascal程序的基本结构。一个完整的Pascal程序包含三个部分:程序首部、声明部分、执行部分。program是保留字,接着是程序名,Pascal的程序名是任意的,并不一定是main。而且不同的编译器对主程序参数的支持是不同的,Neo Pascal并不关注这两个参数,仅仅是为了形式上兼容标准Pascal而已。 Pascal程序的声明是有顺序要求的,必须严格按照上述顺序进行声明,不可倒置。Pascal的语句种类与C语言非常类似,后续章节中将详细讲述。

编译器设计之路:Pascal程序基本组成

请读者先阅读下列两段程序,比较计算圆周长程序的C与Pascal的描述。

例1-1 计算圆的周长,代码见表1-3。

表1-3 C与Pascal程序的比较

978-7-111-32164-4-Chapter01-6.jpg

下面简单分析上述Pascal程序的基本结构。

一个完整的Pascal程序包含三个部分:程序首部、声明部分、执行部分。不同的Pascal编译器,程序注释的形式也有所不同,Neo Pascal用“//”或“(**)”表示。

1.程序首部

第1行称为程序首部。program是保留字,接着是程序名,Pascal的程序名是任意的,并不一定是main。其后的input、output是主程序参数,但这里的参数与C语言里的argv不同,并不是用于传递命令行参数的。而且不同的编译器对主程序参数的支持是不同的,Neo Pascal并不关注这两个参数,仅仅是为了形式上兼容标准Pascal而已。

2.声明部分(www.daowen.com)

声明部分依次包含程序的单元声明、标号声明、常量声明、类型声明、变量声明、函数或过程声明。这里,简单说明三点:

(1) 声明部分是可选的,对于简单的Pascal程序可以没有声明部分。

(2) Pascal程序的声明是有顺序要求的,必须严格按照上述顺序进行声明,不可倒置。

(3) 函数或过程声明就是用于声明自定义函数的。

而函数或过程声明又包含函数首部(例1-1中程序第3行)、声明部分(例1-1中省略了)、执行部分(例1-1中程序第4~6行)。在主程序声明部分声明的对象是在全局有效的。在子函数或过程声明部分声明的对象只在其声明函数或过程内有效,即局部有效。

3.执行部分

执行部分就是用于描述函数或过程的语句序列。在例1-1中第8行、第10行就是调用输入/输出函数完成IQ,这与C语言的scanf,printf相似。第9行是调用Calc函数并将返回值赋给变量c。Pascal的语句种类与C语言非常类似,后续章节中将详细讲述。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈