编译原理实验 源程序的输入和扫描
发布时间:2021-06-05
发布时间:2021-06-05
实验一 源程序的输入和扫描
学时数:2
[实验内容]:
1、 编制一个源程序的输入、扫描程序,从文件中每次读入一行到输入缓冲区(可以用字符数组实现);然后从缓冲区中依次取出字符显示在屏幕上。
2、从文件每次读入一行到输入缓冲区的功能(可以用字符数组实现)用一个子程序实现。
[实验目的]:
1、通过编制一个源程序的输入、扫描程序,熟悉和了解从文件中读入数据到输入缓冲区的过程。
[实验步骤]:
(一)准备:确定开发工具,如TC、VC++等;熟悉开发工具;确定被处理的语言的语法特点(初步确定,也可使用现成语言如Pascal、C等)。写好实验报告,编好程序。
(二)上机:输入程序,修改、调试,运行。
1、编程思想:
采用一个子程序实现的形式。
(1)程序判断源文件是否为NULL,如果是,则输出错误提示!如果不是,则进入循环。
(2)调用子程序readbuffer(),每次读入一个字符给字符变量,如果字符变量的内容不是回车符,则把字符变量的内容存入数组buffer(),然后读入下一字符,再判断再存入数组,直到一行全存入数组,然后返回主程序,用输出语句输出刚才存入数组的一行字符;
(3)如果没有到文件尾,则重复第(2)步,直到文件结束,则退出主程序,完成任务!
[程序要求]:
1)如输入如下一段C语言源程序,要求运行编制的输入、扫描程序后输出与输入相同。 main()
{
int a,b ,c;
a = 10; b=20;
c=a+b;
}
例: 输入、扫描程序源代码(参考):
//程序开始:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//声明头文件
int i;
FILE *fp;
char buffer[256];
//声明变量