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