词法分析器实验报告(2)_第1页
词法分析器实验报告(2)_第2页
词法分析器实验报告(2)_第3页
词法分析器实验报告(2)_第4页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、保留字感谢下载载isreturnNonecontinueforlambdatryTruedeffromnonlocalwhileanddelglobalnotwithaselififoryieldassertelseimportpassbreakexceptinraise+-*/精品104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133201202203204保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留

4、字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字保留字运算符运算符运算符运算符感谢下载载精品=205:206<207>208%209&210!211(212)213214215216217#218|219,220变量301常量401错误5016. 程序运行环境操作系统: Linux ( 推荐 ) 或 Windows解释器: Python3.4.x or above7. 单词状态转换图运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符运算符变量(标示符)常量 (数字,字符串)非以上定义感谢下载载精品8. 实验结果展示输入源

5、文件:#!/usr/bin/env python# encoding: utf-8 list=for i in range(0,5,1):x=input(" 请输入第 "+str(i+1)+" 个元素 ") list=list+xfor i in range(0,5,1): for j in range(i,5,1):感谢下载载精品# print jk=iif(listk<listj):k=jh=listklistk=listilisti=hprint listvfd_evf*vefdbgf输出中间文件:list= for i in range(0

6、,5,1): x=input("请输入第 "+str(i+1)+"个元素 ") list=list+x for iinrange(0,5,1):forjinrange(i,5,1):k=iif(listk<listj):k=jh=listklistk=listilisti=h print list vfd_evf*vefdbgf输出的二元组:( 501 , vfd_evf*vefdbgf )(214,)( 123 , if )(213,)( 301 , k )( 301 , print )( 301 , input )(401," 请输入第 ")(206,:)(401,0)( 108 , for )(215,)(401," 个元素")(401,1)( 301 , x )( 132 , in )(205,=)(201,+)( 301 , i )感谢下载载精品( 301 , j )( 301 , str )( 301 , list )(220,)(212,()( 301 , range )(207,<)( 301 , h )(401,5)截图:9. 实验总结通过此次实验,让我了解到如何设计、编制并调试词法分析程序,加深对词法分析原理的理解;熟悉了构造词法分析程序的手工方式的相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论