词法分析器实验报告.doc

词法分析器实验报告.doc

ID:60016303

大小:504.00 KB

页数:10页

时间:2020-01-31

词法分析器实验报告.doc_第1页
词法分析器实验报告.doc_第2页
词法分析器实验报告.doc_第3页
词法分析器实验报告.doc_第4页
词法分析器实验报告.doc_第5页
资源描述:

《词法分析器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、(计算机学院)课内实验报告实验名称:词法分析器专业名称:软件工程班级:软件1405班学生姓名:周攀学号(8位):04143153指导教师:陈燕实验日期:2016年10月17日一﹑10一﹑实验目的:设计、实现一个词法分析程序,对代码进行分析,整理,生成对应的符号表,供后续的编译过程使用,同时加深对词法分析原理和编译原理的理解。二﹑实验要求:该程序要实现的是从输入的源程序中,识别出各个具有独立意义的单词,即基本的保留字、标识符(变量)、常数、运算符四大类。并依次输出各个单词的内部编码及单词符号自身值,对于不在这四类中,或者是非法的标示符等进行出错处理。三

2、﹑实验内容1.功能描述:对给定的程序代码通过词法分析器后能够识别出每个单词符号的类别,最后以二元组的显示。2.程序结构描述:程序主要分为两个部分,第一部分是预处理阶段,预处理阶段要做的工作就是将程序中多余的空格,注释,回车等与程序本身无关的字符删除或者替换掉,以方便程序后续进行词法分析,第二部分就是真正的词法分析阶段,直接读取经过预处理的文件,对每个字符或字符串进行类型界定,然后保存到一个二元组中,形成符号表。3.程序总体思路图1010101.程序执行图101.单词分类表:符号编号类型False101保留字class102保留字finally103保

3、留字is104保留字return105保留字None106保留字10continue107保留字for108保留字lambda109保留字try110保留字True111保留字def112保留字from113保留字nonlocal114保留字while115保留字and116保留字del117保留字global118保留字not119保留字with120保留字as121保留字elif122保留字if123保留字or124保留字yield125保留字assert126保留字else127保留字import128保留字pass129保留字break130

4、保留字except131保留字in132保留字raise133保留字+201运算符-202运算符*203运算符/204运算符=205运算符:206运算符<207运算符>208运算符%209运算符&210运算符!211运算符(212运算符)213运算符[214运算符]215运算符{216运算符}217运算符#218运算符10

5、219运算符,220运算符变量301变量(标示符)常量401常量(数字,字符串)错误501非以上定义1.程序运行环境操作系统:Linux(推荐)或Windows解释器:Python3.4.xorabove2.单词状态转换图101.

6、实验结果展示输入源文件:#!/usr/bin/envpython#encoding:utf-8list=[]foriinrange(0,5,1):x=input("请输入第"+str(i+1)+"个元素")list=list+[x]foriinrange(0,5,1):forjinrange(i,5,1):#printjk=iif(list[k]

7、:x=input("请输入第"+str(i+1)+"个元素")list=list+[x]foriinrange(0,5,1):forjinrange(i,5,1):k=iif(list[k]

8、,for)(215,])(401,"个元素")(401,1)(301,x)(132,in)(205,=)(201,+)(301,i)(301,j)(301,str)(301,list)(220,,)(212,()10(301,range)(207,<)(301,h)(401,5)截图:1.实验总结通过此次实验,让我了解到如何设计、编制并调试词法分析程序,加深对词法分析原理的理解;熟悉了构造词法分析程序的手工方式的相关原理,使用某种高级语言(例如Python语言)直接编写此法分析程序。另外,也让我重新熟悉了Python语言的相关内容,加深了对Pytho

9、n语言的用途的理解。10

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。