西 安 邮 电 大 学
毕 业 设 计 (论文) 任 务 书
学生姓名 徐波 指导教师 董梁 职称 讲师
学院 计算机学院 专业 软件工程
题目 单处理器的编译器设计与实现
一、任务与要求
首先编译器进行词法分析,也就是要把那些字符串分离出来;接下来进行语法分析,即在词法分析的基础上将单词序列组合成各类语法短语;然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚;最后生成的是目标文件,也称为obj文件;再经过链接器的链接就可以生成最后的EXE文件了。使用lex和yacc工具,设计并实现一个简单的单处理器的编译器设计,要求能够将C语言程序编译成类似8086的汇编语言程序。
对于单个处理器的编译器而言,其工作就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。使用工具包括:Lex(Lexical Analyzar 词法分析生成器),Yacc(Yet Another Compiler Compiler 编译器代码生成器)是十分重要的词法分析,语法分析的工具。
二、参考资料
[1]《编译原理》
陈火旺 国防工业出版社 2010年
[2]《编译原理》
陈意云 高等教育出版社 2003年
[3]《Lex和Yacc从入门到精通》
熊春雷(百度文库)http://wenku.baidu.com/link?url=ume_-v1sKqFseIiJ49AB4iSPK6lDcwX505rL58Fz9YqUBoOblJDlTYg2aRtpv0nZLPhF4Noruv_824SOzAzPFdLup79cfTUWLkWRNRU4B63
三、主要仪器及材料
PC机一台 Linux操作系统或Windows操作系统(需安装Linux虚拟机)
4、工作计划(时间进度)
2014.11.06-2014.12.3(第1-4周)完成总体工作计划,做好前期知识储备等工作;
2014.12.3-2015.01.07(第5-9周)阅读相关文献及参考资料并做好必要的笔记;
2015.01.08-2015.01.29(第10-12周)完成开题报告等相关文档的编写;
2015.02.15-2015.02.21(第13-15周)编写中期汇报表并提交;
2015.02.22-2015.03.21(第16-19周)进行本题相关编码工作并进行测试与修改;
2015.03.22-2015.04.12(第20-22周)完成并提交论文的第一次草稿;
2015.04.13-2015.05.04(第23-25周)完成论文的修改工作,完成并提交论文定稿;
2015.05-2015.06 论文答辩工作。
开始日期: 2014年11月6日 完成日期: 2015年6月4日
主管院长(签字): 年 月 日
本文来源:https://www.2haoxitong.net/k/doc/7c60299a4693daef5ff73d31.html
文档为doc格式