编译器设计中对顺序文件的操作有哪些?
对顺序文件的主要操作如下-
创建文件-文件的主要创建也定义为文件的加载。在一些实现中,首先为文件指定空间,因此数据被加载到该骨架中。
打开文件-在程序可以访问文件进行输入或输出之前,必须打开该文件。打开操作被赋予文件名和访问模式(读或写)。在Pascal中,过程reset以读取模式打开文件,过程rewrite以写入模式打开文件。
读取文件-使用以下类型的语句从顺序文件中读取记录。在COBOL中
READ文件名INTO标识符
ATEND命令式–语句
其中文件名在FD(文件描述)中定义,可选。INTO子句在WORKING-STORAGE中指定将接收记录内容的标识符,并且需要ATEND子句来指定当输入文件耗尽时会发生什么。
在帕斯卡-
读取(文件名,记录名);
readln(文件名,记录名);
取决于输入记录中任何剩余字符的处置,文件名出现在程序语句中,记录名变量将接收数据。
写入文件-写入操作在文件的内容位置生成一个新组件,并将指定程序变量的内容移动到新组件。在COBOL中
WRITE记录名称[FROM标识符]
其中记录名称在文件的FD(文件描述)中定义,而FROM子句的可选标识符在WORKING-STORAGE中定义
在帕斯卡-
writeln(文件名,记录名);
写(文件名,记录名);
取决于在这一行之后是否要开始新行,文件名出现在程序语句中的位置,记录名变量将包含要写入的信息。记录将按照写入的顺序出现在文件中。
更新文件-它可以修改主文件的内容以创建它遵循现实世界的更新快照称为更新文件。这些更改可以包括记录的插入、删除和修改。
从文件中检索-为获取有意义的数据而访问文件称为检索。
维护文件-对文件进行的更改以增强创建它们的程序的实施称为维护活动。
End-of-filetest-需要对文件结束位置进行显式测试,因此程序可以采取特定操作。Pascal提供了一个功能-
eof:file→Boolean
如果文件位于其末尾,则返回true,否则返回false。