1.1 库程序支持

我们将支持read、write、writeln、exit四个库程序调用。

read用于读取内容到指定的变量中,实参只能是普通变量、数组元素或参数,不能是常量或表达式,且不支持读取boolean类型的变量。

write和writeln都用于输出内容到标准输出,后者比前者在最后多输出一个换行符,不同于read,实参可以是各种变量、常量、表达式,且支持boolean类型的输出。

exit相当于C中的return,可以带0个实参,用于过程的返回,也可以带1个实参,用于函数的返回值,后者要求实参表达式与函数返回值类型一致。

库程序在作用域检查中,始终处于最关键的地位。即任何标识符都不能和库程序同名。因此,库程序需要提前加入主符号表中,相当于主符号表中的“钉子户”。正如1.1主程序分析中的主符号表存储结构,这四个库程序固定的处于amount+1到amount+4的位置,amount指主程序的参数个数。