# Curriculum-design-of-Compilers-Principles
简要介绍:这是由广西大学计算机科学与技术系的三位同学编写的编译原理课程设计。使用java编写的c语言编译原理玩具,将c语言程序翻译到简单汇编指令,满足编译原理课程设计编写需求。
# 词法分析
首先在input.txt写下你的c语言程序,可以参考example.txt,毕竟是玩具,考虑的语法没有那么多。
然后运行lexer生成LexerOutput.txt用于识别各个词。
# 语法分析
使用lr1语法分析,具体这个玩具有什么语法可以去grammar.xls看,根据grammar.xls手动编写的lr1.xls表,要修改语法的话慎重。
运行lr1,同时完成语法分析和语义分析阶段,生成中间代码即四元式在SemanticOutput.txt。
# 语义分析与中间代码生成
具体实现在Semantics,并搭载在lr1中,运行lr1后已经生成四元式。
# 四元式翻译成汇编
读取SemanticOutput.txt,生成简单汇编指令(基于王爽那本书的8086cpu的汇编指令)。
运行Complie完成翻译过程
# 最后提示一下
由于需要读取excel表,用到poi-3.9.jar(在lib下),如果你第一次运行需要配置就自己配置一下,我用的idea。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源内项目源码是个人的课程设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
Curriculum-design-of-Compilers-Principles-master.zip (46个子文件)
Curriculum-design-of-Compilers-Principles-master
.classpath 352B
Compilers Principles.iml 991B
.settings
org.eclipse.jdt.core.prefs 587B
src
input.txt 120B
lib
poi-3.9.jar 1.78MB
LexerOutput.txt 314B
example.txt 2KB
compile3
lr1.java 10KB
Complie.java 8KB
Lexer.java 21KB
Semantics.java 25KB
out.txt 303B
output.txt 370B
grammar.xls 34KB
lr1.xls 458KB
SemanticOutput.txt 211B
.idea
codeStyles
codeStyleConfig.xml 149B
misc.xml 278B
modules.xml 280B
.gitignore 47B
encodings.xml 274B
bin
input.txt 120B
lib
poi-3.9.jar 1.78MB
LexerOutput.txt 314B
example.txt 2KB
compile3
Semantics$Tpro.class 563B
Semantics$Fpro.class 563B
Lexer.class 10KB
Semantics$Upro.class 502B
Complie.class 9KB
Semantics$Epro.class 563B
LexicalError.class 339B
Semantics.class 15KB
lr1.class 8KB
Semantics$StatementFor.class 781B
Semantics$Iden.class 1KB
lr1$InputArr.class 832B
Semantics$Ipro.class 500B
Semantics$Xpro.class 502B
out.txt 303B
output.txt 370B
grammar.xls 34KB
lr1.xls 458KB
SemanticOutput.txt 211B
.project 375B
README.md 1KB
共 46 条
- 1
资源评论
- m0_735792172024-08-08这个资源总结的也太全面了吧,内容详实,对我帮助很大。
机智的程序员zero
- 粉丝: 2421
- 资源: 5014
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自定义 带时间 戳的 ping 命令
- StockMatchs子项目,模拟的股票交易系统go语言实现,基于http的jsonrpc接口通信.zip
- 公司面试题记录汇总11
- SQuant是使用scala语言编写的量化开发工具箱,提供开箱即用的A股股票数据和外汇数据(docker镜像),以及高效的回测框架与交易模块 方便Java,Scala爱好者进行量化投资研究 .zip
- 面向云端优化的弹性与可扩展高性能计算传输协议SRD
- C# WInForm IrisSkin4控件ssk皮肤
- Sciter3易语言模块.zip
- STM32_Register_01_寄存器点灯.zip
- Rust语言版网易云音乐API.zip
- Rust 解释器基于Rust+Vue的简易解释器适用于入门Rust语言,学习语言特性简单易上手.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功