实验报告

名称:     编译原理:词法分析器

设计:     03 计算机B kikikind 086

指导老师: 周艳明

时间:     2006-4-13

一.   编程实现

1.本程序在VC++6.0上,以C++语言实现

2.在winxp+sp1上测试通过

二.   程序设计说明

1.      界面(没有实现)

a)        初定文档/视图界面

b)        设定文件路径

2.程序初始化

a)        读入关键字

所有关键字指定保存在根目录的 keywold文件中,程序运行时读入

b)        读入内部字符

所有关键字指定保存在根目录的 CharTable文件中,程序运行时读入

c)        建立二叉排序树

将读入的关键字以建立二叉排序树,这样在词法分析讲入关键字时,减

少平均查找时间,优化程序

3.源程序读入,词法分析

a)        将读入字符送入缓冲

b)        分析

4.输出

a)        输出分析结果

b)        形式:<字符,机内码>

c)        保存结果

5.出错处理

a)        出错提示

二.说明

1.本程序是有参考网上C语言版例子,主要还是书上的例子,但是看了后发觉网上的例子都太麻烦,自己做一个更加容易,所以就对着书上的说明,完全自己编写了,主要有如下改进:

a)        完全以C++语言重新改写

b)        将关键字,所有字符以外部文件形式读入,可以随时增减

c)        加入二叉排序树查找关键字,优化程序

d)        分析结果保存(未完成)

e)        错误提示

2.可能由于时间问题,尚有部不不太完善,希望老师指定

3.我的邮箱: kejieleung@163.com 如果老师您对程序有什么问题或需要对程序提示什么改进的地方,请老师以这个邮箱通知我,谢谢J

4.程序文件说明

main.cpp        程序主文件

BSTree.h        二叉排序树头文件

BSTree.cpp    二叉排序树实现

Analysis.h       词法分析类的头文件

Analysis.cpp   词法分析类实现

(以下文件可以修改,程序动态读入)

source.txt              要读进的程序

keyworld.txt   关键字文件

OperatorTable.txt 操作符文件

4. 程序调试记录(Created 4.7 Update 4.13)

l         字符串识别有问题,比如输出时"X..."应为全输出而不用考虑是否为关键字  (OK)

l         二元操作符无法识别           (OK)

l         编码出现负数                     (OK)

l         空格时无法正确确认           (OK)

l         释放二叉树出错                  (OK)

l         变量未初始化(构造函数不能自己调用引起)            (OK)

l         对关键字还是普通字符串的判断出现逻辑错误       (OK)

l         缓冲指示 bufPos 值异常           (OK)

l         操作符不完全

l         变量重复(应该保存在符号表中,用指针指示)

l         无法去除读入注释                     (OK)

l         错语输入选择是没有处理

l         常量表没有做

词法分析器(实现报告)相关推荐

  1. c语言字符串算法判断实验原理,C语言词法分析器实验报告

    <C语言词法分析器实验报告>由会员分享,可在线阅读,更多相关<C语言词法分析器实验报告(22页珍藏版)>请在人人文库网上搜索. 1.计算机科学与工程系编译原理课程设计实验报告姓 ...

  2. 【SEUSE】编译原理 - 词法分析器实验报告

    [SEU&SE]编译原理 - 词法分析器实验报告 README 一. 实验目的 二. 实验环境 1. 开发环境: 2. 运行环境 三. 实验内容 1. 主要内容 2. 主要功能 3. 种别码 ...

  3. 实验一 词法分析java,java词法分析器实验报告

    java词法分析器实验报告 Java 词法分析器实验报告 --07111101 --奥特曼 一.词法分析器功能概述: 1. 使用DFA实现词法分析器的设计: 2. 实现对Java 源程序中注释和空格( ...

  4. 语法分析器 java实验报告_词法分析器实验报告.doc

    Java 语言词法分析器 班级学号:1120111822 姓名:徐少杰 实验目的 强化对系统软件综合工程实现能力.规划能力的训练: 加强对词法分析原理.方法和基本实现技术的理解. 实验内容 用 C++ ...

  5. 词法分析器实验报告(C++源码、状态图、流程图、打包.exe方式)

                       实验一 词法分析器的设计与实现            [实验目的] 通过设计编制一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序 设计语言源程序进 ...

  6. java词法分析器实验报告_词法分析器实验报告(JAVA)

    实验一.词法分析实验 商业软件工程专业   张树恒  201506110093 一.实验目的 通过设计一个词法分析程序,对词法进行分析,加强对词法的理解,掌握对程序设计语言的分解和理解. 二.实验内容 ...

  7. html解析器编译原理,编译原理实验报告词法分析器(内含源代码).docx

    编译原理实验报告词法分析器(内含源代码) 编译原理实验(一) --词法分析器 实验描述 运行环境:vc++2008 对某特定语言A ,构造其词法规则. 该语言的单词符号包括: 1该程序能识别的单词符号 ...

  8. c语言词法分析器报告,C语言词法分析器构造实验报告.doc

    C语言词法分析器构造实验报告 02计算机(2) 2002374203 冯绍欣 一.题目要求: 完成一个C语言的词法分析器的构造.此词法分析器能识别附值语句.循环语句.条件语句.并能处理注释. 二.设计 ...

  9. c语言词法分析器实验原理,词法分析器的设计与实现 编译原理实验报告.doc

    词法分析器的设计与实现 编译原理实验报告 中北大学软件学院 实 验 报 告 专 业 软件工程 课程名称 编译原理 学 号 姓 名 辅导教师 张静 成绩 实验日期2015.5.19实验时间14:00~1 ...

最新文章

  1. Titanium Developer
  2. iOS编程——经过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版)
  3. centos7离线安装oracle11g,CentOS 7.5离线安装Oracle 11gR2
  4. thymeleaf 获取yml中的值_Thymeleaf模板引擎学习
  5. 手机抓包HTTPS (Fiddler Packet Capture)
  6. Python批量替换掉某些值为新的值
  7. 单例设计模式 优缺点 及 使用场景
  8. 厨师刀行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. vue list数组合并和插入数据
  10. python中sorted_关于python中sorted方法的key参数
  11. 超市仓库管理系统(过期提醒)
  12. LNK2005符号重定义问题
  13. 谈谈移动硬盘或者手机连接到PC提示“无法访问,拒绝访问”或“您没有访问该设备的权限”的解决办法
  14. linux下的/usr目录
  15. Python repr函数——学习笔记
  16. 《Oracle内核技术解密》读书笔记(一)
  17. C++: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  18. 玩机搞机-----安卓全机型刷机卡fastboot模式解决方法与故障解析
  19. 谁动了妙可蓝多的奶酪?
  20. 数据库连接池 DBCP和c3p0数据库连接池

热门文章

  1. MEMZ彩虹猫病毒讲解
  2. BZOJ 1251 序列终结者 Splay
  3. 两次腾讯面试挂二面的苦逼经历
  4. CTF-Crypto-各种密码原理及解密方法
  5. Git——SSH免密登录
  6. RestTemplate和ResponseEntity
  7. 贾扬清:云原生是数据智能的必然
  8. CISP 相关知识点梳理
  9. 二叉树的遍历——层序遍历
  10. 2023电工杯数学建模竞赛B题思路解析+代码+论文