大连理工大学软件学院编译技术课程——MicroC词法分析上机实验

题目

编写词法分析编译程序

实验目的:对循环语句和条件判断语句编写词法分析编译程序,只能通过一遍扫描完成。

实验要求:
(1) 关键字:
for if then else while do until int input output
所有关键字都是小写。
(2)运算符和分隔符:
: = + - * / < > <= <> >= ; ( ) #
(2) 其他标识符(ID)和整型常数(NUM),通过以下模式定义:
ID=letter(letter | digit)*
NUM=digit digit*
(4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM、运算符、分隔符和关键字,词法分析阶段通常被忽略。

各种词法单元对应的词法记号如下:

词法单元 词法记号 词法单元 词法记号
for 1 : 17
if 2 := 18
then 3 < 20
else 4 <> 21
while 5 <= 22
do 6 > 23
letter(letter+digit)* 10 >= 24
digit digit* 11 = 25
+ 13 ; 26
- 14 ( 27
* 15 ) 28
/ 16 # 0
until 29 int 30
input 31 output 32

词法分析程序的功能
输入:源程序
输出:二元组(词法记号,属性值/其在符号表中的位置)构成的序列。

例如:对源程序
int x:=5; if (x>0) then x:=2*x+1/3; else x:=2/x; #
经词法分析后输出如下序列:
(30, int)(10,’x’)(18, :=) (11,5) (26,

大连理工大学软件学院编译技术课程——MicroC词法分析上机实验相关推荐

  1. 大连理工大学软件学院编译原理第四次上机-----非递归语法分析

    题目描述 要求: 使用的文法如下: E->TE' E'->+TE'|ε T->FT' T'->*FT'|ε F->(E)|id 对于任意给定的输入串(词法记号流)进行语法 ...

  2. 【20保研】大连理工大学软件学院2019年优秀大学生学术夏令营通知

    点击文末的阅读原文或者公众号界面左下角的保研夏令营或者公众号回复"夏令营"是计算机/软件等专业的所有保研夏令营信息集合,会一直更新的. 一.院系与学科介绍  大连理工大学软件工程学 ...

  3. 2016大连理工大学计算机科学与技术考研经验

    2016考研成绩已出,本人报考大连理工大学计算机科学与技术(本科也在大连理工),初试总分387排名第一,政治64,数学114,英语78,数据结构和计算机组成原理131.这个分数并不算高,现在记下本人复 ...

  4. 编译原理课程设计词法分析

      编译原理课程设计词法分析任务书 5)参考文献: (1)张素琴,吕映芝. 编译原理[M]., 清华大学出版社 (2)蒋立源.康慕宁等,编译原理(第2版)[M],西安:西北工业大学出版社 6)课程设计 ...

  5. 大连理工计算机组成实验,大连理工大学软件学院计算机组成原理实验报告

    <大连理工大学软件学院计算机组成原理实验报告>由会员分享,可在线阅读,更多相关<大连理工大学软件学院计算机组成原理实验报告(57页珍藏版)>请在人人文库网上搜索. 1.大连理工 ...

  6. 大连理工计算机专业导师,大连理工大学计算机科学与技术学院研究生导师简介-申彦明...

    大连理工大学计算机科学与技术学院研究生导师简介-申彦明大连理工大学 免费考研网/2016-05-04 申彦明院系:计算机科学与技术学院 办公电话:无 电子信箱:shen@dlut.edu.cn 更新时 ...

  7. 大连理工大学c语言第三次上机作业答案,大连理工大学软件学院C语言上机第五六章课后题...

    大连理工大学软件学院C语言上机第五六章课后题 五.1. #includeint main() { int a,b,c; float X,Y,Z; scanf("%d%d%d",&a ...

  8. 李云大连理工计算机系2015级,大连理工大学计算机科学与技术学院介绍

    大连理工大学计算机专业创建于1974年,并于1981年发展成计算机科学与工程系.2009年,成立计算机科学与技术学院.目前,大连理工大学计算机科学与技术学院拥有1个博士后流动站.2个博士点和3个硕士点 ...

  9. 大连理工计算机科学与技术,学院概况-大连理工大学计算机科学与技术学院

    大连理工大学计算机专业创建于1974年,并于1981年发展成计算机科学与工程系.2009年,成立计算机科学与技术学院.目前,大连理工大学计算机科学与技术学院拥有1个博士后流动站.2个博士点和3个硕士点 ...

最新文章

  1. 【java】File的使用:将字符串写出到本地文件,大小0kb的原因
  2. 【Android 逆向】ELF 文件格式总结 ★★★
  3. C语言拾零(to be continued)
  4. chart控件做实时曲线显示_用PyQt5.QtChart实现动态曲线图
  5. powerdesigner导出sql时自动生成注释
  6. 显示播客信息-bloginfo() 函数
  7. gitgub常用按钮说明
  8. chkdsk 后数据丢失的恢复方法chkdsk 后数据丢失的恢复方法
  9. FireWorks-程序员的做图工具
  10. 2倍研发费用=营销费用,小牛电动“智”在何方?
  11. Java 在Windows上通过代码开启和关闭exe程序
  12. html收藏夹导入mac,Mac浏览器导入其他浏览器收藏-功能说明
  13. 宽带和流量是分开的吗_宽带、带宽和流量的区别
  14. 网站被挂木马病毒了,怎么办?
  15. Collection集合,List集合
  16. 使用QT SDK 1.1 Qt Creator 2.0.9创建symbian sisx安装包
  17. c4d python 插件_【影视后期必知干货!C4D插件的安装及类型合集】- 环球网校
  18. Linux中的shell到底是啥,它和bash的关系是什么?
  19. 无心剑七绝《十里龙舟》
  20. 注意PostgreSQL的关键字(保留字)和identified的用法和位置

热门文章

  1. 自动驾驶车载激光雷达-数据集整理
  2. nsi学习之HelloWorld
  3. 论文常用图表四:Bland-Altman图【MedCalc】
  4. 腾讯位置服务JSAPI GL实现文本标记的碰撞避让
  5. DD驱动鼠标键盘(驱动级别机器人使用鼠标键盘)
  6. 不可思议!一个3D面具就能破解刷脸支付,还能进火车站?微信:盗刷,我赔!...
  7. 啊哈,算法自学记——9th
  8. 在 VirtualBox 中构建 Debian11 虚拟电脑
  9. php个人网盘搭建,一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南...
  10. vba 跨工作簿运行模块