自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 用仓颉完成编译原理实验-消除左递归和左公共因子,求FIRST集和FOLLOW集

1. 非终结符排序:对非终结符进行字典顺序排序(或者按某个其他特性排序,如出现顺序等)。2. 遍历非终结符:对于每个非终结符 Ai:查找其候选式是否有其他非终结符(排在 Ai 前面的非终结符)作为开头:如果有,将候选式中该非终结符为首用该非终结符的产生式替代,从而将可能的间接左递归转化为直接左递归。如果没有,跳过该候选式。对所有直接左递归的候选式进行处理,⽣成新非终结符,并转换产生式,使其无左递归。3.消除左递归后可能需要化简文法。

2025-01-01 15:21:33 1092

原创 用仓颉完成编译原理实验-正规式转NFA转DFA

虽然我只用到仓颉语言简单基础的语法,但能感觉到它融合了多种语言的便捷的写法,写起来是比较舒服的。实现子集构造算法,将NFA状态集合的子集映射为DFA的单个状态。设计合理的数据结构来表示NFA和DFA,应包括状态集、状态转移表、初始状态和接受状态的表示。步骤4:设计并实现DFA的数据结构,将其表示为状态集合、状态转换表、初始状态和接受状态。步骤5:模拟DFA,验证对给定输入字符串的接受性,确保DFA与NFA的接受结果⼀致。步骤2:计算NFA各状态的ε-闭包,并根据子集构造算法生成DFA的状态。

2024-12-31 17:43:09 883 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除