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

当前位置:首页 > 编译原理词法分析实验报告

编译原理词法分析实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 22:25:16

通过这次实验,我更深刻的理解了词法分析的原理,词法分析是编译程序

的基础,是为学习语法分析、语义分析以及代码生成打基础。在实验过程中,遇到了许多概念理解不深刻的问题,我重新翻阅了课本,从而更深刻的理解了词法分析的原理, 发现自己的不足之处,在今后的学习中将会有更加明确的目标.虽然只是读程序,但是我觉得还是有一定难度的,需要花一定的时间去理解写程序人的思路和每个函数的意思。

九、源代码

#include\#include\#include\#define keyword 8

char *key[keyword]={\#define yunsuan 9

char yun[yunsuan]=\#define fenge 8 char fen[fenge]=\char ch; int i,k; char buff[20]; void output(int ,char*); void scan(FILE *fp) { int j; ch=fgetc(fp);

while(ch==' '||ch=='\\n'||ch=='\\t') {ch=fgetc(fp);}

if(isalpha(ch)) /*输入的是字母,进行 标识符处理*/ {buff[0]=ch; i=1; ch=fgetc(fp);

while(isalnum(ch)) /*如果是字母数字则组合,否则结束*/ { buff[i]=ch; i++;

ch=fgetc(fp); }

buff[i]='\\0'; /*查找保留字*/ fseek(fp,-1,1); j=0;

while((j

if(j>=keyword) { output(2,buff); } else

{ output(1,buff); } }

else if(isdigit(ch)) { buff[0]=ch; ch=fgetc(fp); i=1;

while(isdigit(ch)) /*如果是数字则整合数字*/ {buff[i]=ch; i++;

ch=fgetc(fp);}

buff[i]='\\0'; /*整数整合结束*/ fseek(fp,-1,1); output(3,buff); }

else if(strchr(fen,ch)>0) /*判断分隔符*/ {buff[0]=ch; ch=fgetc(fp); buff[1]='\\0'; fseek(fp,-1,1); output(5,buff);}

else if(strchr(yun,ch)>0) /*判断运算符*/ {buff[0]=ch;

if(ch=='=') /*双运算符*/ {ch=fgetc(fp); if(ch=='=') {output(4,\ else

{fseek(fp,-1,1);

output(4,\ else if(ch=='>') { ch=fgetc(fp); if(ch=='=') {output(4,\ else

{fseek(fp,-1,1); output(4,\ else if(ch=='<') { ch=fgetc(fp); if(ch=='=') {output(4,\ else

{fseek(fp,-1,1); output(4,\ else if(ch=='!') { ch=fgetc(fp); if(ch=='=') {output(4,\ else

{fseek(fp,-1,1); output(0,\

搜索更多关于: 编译原理词法分析实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

通过这次实验,我更深刻的理解了词法分析的原理,词法分析是编译程序的基础,是为学习语法分析、语义分析以及代码生成打基础。在实验过程中,遇到了许多概念理解不深刻的问题,我重新翻阅了课本,从而更深刻的理解了词法分析的原理, 发现自己的不足之处,在今后的学习中将会有更加明确的目标.虽然只是读程序,但是我觉得还是有一定难度的,需要花一定的时间去理解写程序人的思路和每个函数的意思。 九、源代码 #include\#include\#include\#define keyword 8 char *key[keyword]={\#define yunsuan 9 char yun[yunsuan]=\#define fenge 8 char fen[fenge]=\char ch; int i,k; cha

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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