资源简介
编译原理的课后附录实验,是源程序哦!运行好的!
代码片段和文件信息
# include
# include
char prog[80]token[8];
char ch;
int synp=0mnsum=0;
char *rwtab[6]={“begin““if““then““while““do““end“};
void scaner();
main()
{
p=0;
printf(“********************词法分析程序***************\n“);
printf(“\n please input string:\n“);
do{
ch=getchar();//scanf(“%c“&ch);
prog[p++]=ch;
}while(ch!=‘#‘);
p=0;
do{
scaner();
switch(syn)
{
case 11:printf(“(11%d)“sum);break;
case -1:printf(“error!“);break;
default:printf(“(%d%s)“syntoken);
}
}while(syn!=0);
}
void scaner()
{
for(n=0;n<8;n++) token[n]=NULL;
ch=prog[p++];
while(ch==‘ ‘) ch=prog[p++];
if((ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘))
{
m=0;
while((ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘)||(ch>=‘0‘&&ch<=‘9‘))
{
token[m++]=ch;
ch=prog[p++];
}
token[m++]=‘\0‘;
--p;
syn=10;
for(n=0;n<6;n++)
if(strcmp(tokenrwtab[n])==0)
{
syn=n+1;
break;
}
}
else
{
if(ch>=‘0‘&&ch<=‘9‘)
{
while(ch>=‘0‘&&ch<=‘9‘)
{
sum=sum*10+(ch-‘0‘);
ch=prog[p++];
}
--p;
syn=11;
}
else{
switch(ch)
{
case‘<‘: m=0;token[m++]=ch;
ch=prog[p++];
if(ch==‘>‘)
{
syn=21;
token[m++]=ch;
}else if(ch==‘=‘){
syn=22;
token[m++]=ch;
}else{
syn=20;
--p;
}
break;
case ‘>‘:token[m++]=ch;
ch=prog[p++];
if(ch==‘=‘)
{
syn=24;
token[m++]=ch;
}
else
{
syn=23;
--p;
}
break;
case ‘:‘: token[m++]=ch;
ch=prog[p++];
if(ch==‘=‘)
{
syn=18;
token[m++]=ch;
}
else
{
syn=17;
--p;
}
break;
case‘+‘:syn=13;token[0]=ch;break;
case‘-‘:syn=14;token[0]=ch;break;
case‘*‘:syn=15;token[0]=ch;break;
case‘/‘:syn=16;token[0]=ch;break;
case‘=‘:syn=25;token[0]=ch;break;
case‘;‘:syn=26;token[0]=ch;break;
case‘(‘:syn=27;token[0]=ch;break;
case‘)‘:syn=28;token[0]=ch;break;
case‘#‘:syn=0;token[0]=ch;break;
default:syn=-1;
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5381 2011-06-09 10:25 词法,语法,语义分析\语义分析.c
文件 2170 2011-06-09 23:11 词法,语法,语义分析\词法分析.c
文件 3155 2011-06-09 23:12 词法,语法,语义分析\语法分析.c
目录 0 2011-06-10 23:39 词法,语法,语义分析
----------- --------- ---------- ----- ----
10706 4
- 上一篇:文件读入 画变形监测曲线
- 下一篇:BP以及Hopfield神经网络进行车牌数字识别
相关资源
- 语法分析实验报告
- 编译原理词法分析器语法分析器实验
- LL(1)语法分析程序
- 语法分析器
- 语法分析的源代码文件与相关文件
- 语法分析
- 自顶向下预测分析语法分析程序
- 以词法分析和语法分析部分的上机结
- 编译原理课程设计-LL(1)预测分析法
- 递归下降语法分析实验报告
- 语义分析程序的设计与实现
- 实验二 递归下降语法分析程序设计
- 语法分析器_编译原理_带报告
- 语义分析c源代码
- 实验三 LL1语法分析器设计
- PL0词法语法分析器225358
- 编译原理中VC实现语法分析器
- 语法分析器 算符优先 编译原理实验
- 赋值语句语法分析
- 词法分析实验源程序c版
- 使用flex编写一个词法分析器
- 实验二 实现一门语言的词法分析器
- 编译原理 语法分析、语义分析综合实
- 哈工大软件学院编译原理语法分析源
- 基于Pascal语言的语法分析器
- 词法分析、语法分析、语义分析
- 编译原理词法、语法、语义分析器
- 词法分析语法分析语义分析
- 算术表达式的语法分析及语义分析程
- 编译原理词法分析程序代码
评论
共有 条评论