资源简介
编译原理的课后附录实验,是源程序哦!运行好的!
代码片段和文件信息
# 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神经网络进行车牌数字识别
相关资源
- 编译原理课程设计:词法语法编译器
- 编译词法分析器识别关键字常数和符
- SAMPLE (类pascal) 词法分析程序 C 版
- Delphi做的用于分析Pascal语言的词法分
- 编译原理LR(0)语法分析
- 见过的最好 英语语法讲义
- 编译原理实验:词法分析,语法分析
- Kuka库卡机器人编程语法进阶
- 编译原理语法分析器、词法分析器
- arcpy语法教程入门以及ArcGIS的脚本构建
- pl/0编译器 语法分析
- 最全中文情感词库
- 哈工大威海-编译原理实验报告和源码
- Ultraedit环境下配置verilog语法高亮的字
- 最全中文情感和语义词库包含好几种
- 最全中文情感和语义词库
- TINY+编译器 改编自原版TINY
- 情感和语义分析最全中文数据库
- 编译原理课程设计 while do循环语句翻
- replace pioneer语法大全
- 基于领域本体的开放获取资源语义检
- my_antd_design_pro.pptx
- 词法分析器 -计算器版
- 高级英语语法薄冰下.pdf
- 天津理工大学编译原理实验2
- VHDL 语法 IEEE std 1076-2008
- 词法语法分析器
- 代码编辑器(支持自动缩进,语法高
- Essential Grammar in Use 3rd ed [Raymond Murph
- GAMS培训材料语法及案例2011
评论
共有 条评论