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

当前位置:首页 > 山东科技大学编译原理课程设计

山东科技大学编译原理课程设计

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 5:27:50

山东科技大学学生课程设计

c) 模块间的调用关系

3. 详细设计

主体代码部分: %%

//识别关键字 {key}

{printf(\行 \打印行号

printf(\关键字\\n\输出关键字 //识别数字 {num}

{printf(\行 \打印行号

printf(\数字\\n\输出数字 //识别关系运算符 {guanxi}

{printf(\行 \打印行号

printf(\关系运算符\\n\输出关系运算符 //识别关系运算符

6

山东科技大学学生课程设计

{suanshu}

{printf(\行 \打印行号

printf(\算术运算符\\n\输出算术运算符 //识别分界符 {fenjie}

{printf(\行 \打印行号

printf(\关系运算符\\n\输出分界符 //识别注释符 {zhushi}

{printf(\行 \打印行号

printf(\注释符\\n\输出注释符号 //识别标识符

{id}

{printf(\行 \打印行号

printf(\标志符号\\n\打印标识符 //识别错误的标识符 {error}

{ printf(\行 \

printf(\//识别空格

{whitespace} {}//忽略空格 //识别换行

{enter}

{linenum++;}//遇到回车行号自动加1

7

山东科技大学学生课程设计

analyse文件是否为空退出读一个字符字母关键字非关键字,即为标识符继续判断,下一个单词

四、运行结果及分析 1. 测试数据

在test.txt文件中写入如下数据。 void main() { int x;int y;

x = input(); y = intput(); output(gcd(x,y));}

8

山东科技大学学生课程设计

2.测试输出的结果

3. 设计与思考

基于lex的词法分析,一个模块定义好了之后,其他模块也就出来了。难点在于正则表达式的设计,每个模块都有定义集,规则集和辅助程序集。而且第一部分用“%{”和“%}”括起来。第一和第三个部分为C语言的代码和函数定义,第二个部分为一些规则。

五、总结

通过本次实验,学会了基于Lex的词法分析器构造方法。在实验过程中,万事开头难,刚开始不知道怎么做,以及不知道如何使用老师给的软件,在仔细分析了需求之后,查找了一些关于Parser Genarator 2软件的使用方法,很快的连接好了VC6.0和Parser Genarator2.然后输入简单的程序对其进行了测试,成功后,给自己 极大地信心继续完成接下来的实验,参考了资料的源程序之后,动手开始写自己的代码,最终一步步实现能够达到要求的程序。经过程序的书写,使我了解了Lex语言。了解了基于LEX语言的词法分析程序构造的重要性,对今后的学习和工作有很大的帮助。

9

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

共分享92篇相关文档

文档简介:

山东科技大学学生课程设计 c) 模块间的调用关系 3. 详细设计 主体代码部分: %% //识别关键字 {key} {printf(\行 \打印行号 printf(\关键字\\n\输出关键字 //识别数字 {num} {printf(\行 \打印行号 printf(\数字\\n\输出数字 //识别关系运算符 {guanxi} {printf(\行 \打印行号 printf(\关系运算符\\n\输出关系运算符 //识别关系运算符 6 山东科技大学学生课程设计 {suanshu} {printf(\行 \打印行号 print

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