QT词法语法编译器

QT词法语法分析

​ 本学期上过编译原理的课程,课程设计要求做一个词法语法分析器,就相当于一个编译器的部分功能,正好最近也在学习QT,所以就用QT做课设,里面涉及到sqlite数据库对种别码表信息进行增删查改,另外有修改字体,颜色,背景进行永久保存,相关源代码在最下面,可以选择github下载链接,不需要积分。

词法分析

​ 词法分析是计算机科学中将字符序列转换为单词序列的过程。进行词法分析的程序或者函数叫作词法分析器,也叫扫描器。词法分析器一般以函数的形式存在,供语法分析器调用。

​ 词法分析是编译程序的第一个阶段且是必要阶段;词法分析的核心任务是扫描、识别单词且对识别出的单词给出定性、定长的处理;实现词法分析程序的常用途径:自动生成,手工生成。

1.单词种别构成表

单词符号种别码单词符号种别码
begin117
if2:=18
then3<20
while4<>21
do5<=22
end6>23
lettet(letter|digit)*10>=24
dight dight*11=25
+1326
14(27
*15)28
/16#0

2.状态转换图

在这里插入图片描述

语法分析

​ 递归下降语法分析是在每个非终结符都对应一个子程序。该子程序根据下一个输入符号来确定按照哪一个产生式进行处理,再根据该产生式的右端:

1.每遇到一个终结符,则判断当前读入的单词是否与该终结符相匹配,若匹配,再读取下一个单词继续分析;不匹配,则进行出错处理

2.每遇到一个非终结符,则调用相应的子程序

语法分析器在其工作过程中,一般应完成下列的任务:

(1)给出语法分析的文法;

(2)有必要还需要将文法转成LL(1)文法;

(3)求出first和follow集合构造预测分析表;

(4)进行语法检查,报告所发现的错误。

相关流程图

词法分析流程图

在这里插入图片描述

递归下降分析流程图

在这里插入图片描述

语句串分析流程图

在这里插入图片描述

语句分析流程图

在这里插入图片描述

表达式分析流程图

在这里插入图片描述

项分析流程图

在这里插入图片描述

因子分析流程图

在这里插入图片描述

功能演示

词法分析

​ 可识别符号对应的种别码,未识别的种别码也会显示在错误结果框中,可以将需要识别的种别码加入到种别码表中,这样词法分析就可以识别。

在这里插入图片描述

语法分析

可以识别语句错误,缺少括号,if语句判断。

在这里插入图片描述

字体设置

​ 设置编辑框字体和字体大小。

在这里插入图片描述

颜色设置

​ 设置编辑框字体颜色。

在这里插入图片描述

背景设置

​ 设置编辑框背景图片。

在这里插入图片描述


学如逆水行舟,不进则退。
心似平原走马,易放难追。


Github下载地址:https://github.com/ys-lucky/QtCompiler.git

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值