云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理课程设计

编译原理课程设计

  • 62 次阅读
  • 3 次下载
  • 2025/7/1 0:21:47

编译原理课程设计

3.2 扫描子程序的算法思想:

首先设置3个变量:①token用来存放构成单词符号的字符串;②sum用来存放整型单词;③syn用来存放单词符号的种别码。扫描子程序主要部分流程如图3-2所示。

图 3-2

第 5 页

编译原理课程设计

四、详细设计

词法分析程序的C++语言程序源代码: #include\

#include\ //包含getch函数的头文件 #include\ //包含exit函数的头文件 #include #include

char prog[81],token[8],ch,tmp; int syn,p,m,n,sum,rows;

char *rwtab[6]={\void scaner(); void main() { FILE *out; FILE *in; rows=1;

if((out=fopen(\{printf(\getch(); exit(1); }

if((in=fopen(\{printf(\getch(); exit(1);

}/* printf(\rewind(in); rewind(out);

fprintf(out,\

-第 6 页 -

编译原理课程设计

do{ p=0; do

{ /*scanf(\ if(p==80)

{printf(\ getch(); exit(1); }

ch=fgetc(in); prog[p++]=ch;

}while(ch!=EOF&&ch!='\\n'); prog[p]='#'; tmp=ch; p=0; do{ scaner(); switch(syn)

{case 11:fprintf(out,\ break; case

-1:printf(\

have

input

a

wrong

string,rows

cols=(%d,%d)\\n\ getch(); exit(0); default:if(syn!=0)

fprintf(out,\ break; }

}while(syn!=0); if(tmp=='\\n') rows++; }while(ch!=EOF);

第 7 页

编译原理课程设计

fclose(in); fclose(out); }

void scaner() { sum=0;

for(m=0;m<8;m++)token[m++]=NULL; ch=prog[p++]; m=0;

while((ch==' ')||(ch=='\\n'))ch=prog[p++];

if(((ch<='z')&&(ch>='a'))||((ch<='Z')&&(ch>='A')))

{ while(((ch<='z')&&(ch>='a'))||((ch<='Z')&&(ch>='A'))||((ch>='0')&&(ch<='9')))

{ token[m++]=ch; ch=prog[p++]; } p--; syn=10; for(n=0;n<6;n++)

if(strcmp(token,rwtab[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--;

-第 8 页 -

搜索更多关于: 编译原理课程设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

编译原理课程设计 3.2 扫描子程序的算法思想: 首先设置3个变量:①token用来存放构成单词符号的字符串;②sum用来存放整型单词;③syn用来存放单词符号的种别码。扫描子程序主要部分流程如图3-2所示。 图 3-2 第 5 页 编译原理课程设计 四、详细设计 词法分析程序的C++语言程序源代码: #include\ #include\ //包含getch函数的头文件 #include\ //包含exit函数的头文件 #include #include char prog[81],token[8],ch,tmp; int sy

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com