资源简介
编译原理扫描程序,每个对应的关键字或者符号,数字都有对应的行输出
代码片段和文件信息
#include
#include
#include//??
#include
#include
#define START 1 //初态
#define INNUM 2 //数字状态
#define INID 3 //标识符状态
#define INASSIGN 4 //赋值符号状态
#define INCOMMENT 5//注释状态
#define DONE 6 //终态
#define bufsize 9999//缓存大小
int i=0jk=0n=0; //记录指针位置的全局变量
int read(FILE *frchar c[]int &i)
{
c[i]=getc(fr); //将文件读入缓冲区
while(c[i]!=EOF&&i { c[i]=getc(fr);
i++;
}
if(i==bufsize)
{
i--;
while(c[i]!=‘\n‘)//文件超出缓冲区的大小,回退到最近一个完整的语句。
{ i--;
fseek(fr-11);//指针回退一格
}
// c[i+1]=‘\0‘;
//fseek(fr11);
return 1;
}//文件大于缓冲区的大小,则分次读入缓冲区
else
return 0;//文件已读完毕,结束
}
void readbyline(FILE *fwchar c[]int &n)
{
do /
- 上一篇:经典的吃豆游戏及源代码
- 下一篇:c++实现电梯调度模拟
评论
共有 条评论