当前位置:首页 » 编程软件 » 编译原理怎么看是终态和初态

编译原理怎么看是终态和初态

发布时间: 2024-09-15 09:24:02

‘壹’ 编译原理搜索符的问题

从初态开始,(S':=.S,# ) ,初态的核心项目的搜索符为#号,这是定的,然后扩充初态,就是把所有的(S:=. αβ,# )加进去,若α为一个非终结符,假设为A,则把(A:= .γ)加进去,A:= .γ的搜索符为 FIRST(β#),就是说若β为空,则为原来S的搜索符,若β不为空,则为β的首终结符。继续扩γ,一直到初态不能扩充为止。goto时,核心项目的搜索符是继承过来的。
例子,若某状态的核心项目为(A:=α.Bβ,a),则把项目(B:= .γ,FIRST(βa))加进去。

‘贰’ 编译原理,如何判断一个FA是DFA还是NFA

第一个是NFA 第二个是DFA
主要区别
1)DFA没有输入空串之上的转换动作;
2)对于DFA,一个特定的符号输入,有且只能得到一个状态,而NFA就有可能得到一个状态集;

‘叁’ 对给定的正规式b(a|b)*aa,构造其NFA M,并将其确定化。

表示方法:五元组(S,Z,f,S0,z)

S:状态集

Z:字母表

f:映射关系

s0:初态

z:终态

(2)确定有限自动机DFA:f为单值映射

(3)非确定有限自动机NFA:f为多值映射

(4)状态转换图和状态转换矩阵

(3)编译原理怎么看是终态和初态扩展阅读

假定DFAMd=({s0,s1,s2},{a,b},f,s0,{s2}):

f:

f(s0,a)=s1f(s0,b)=s2

f(s1,a)=s1f(s1,b)=s2

f(s2,a)=s2f(s2,b)=s1

试着给出Md的状态转换图和状态转换矩阵。

状态转换矩阵如下

ab

s0s1s2

s1s1s2

s2s2s1

热点内容
python做web开发 发布:2025-07-09 14:28:48 浏览:374
排序算法代码 发布:2025-07-09 14:27:59 浏览:501
存储分类介绍 发布:2025-07-09 14:23:37 浏览:773
magento缓存 发布:2025-07-09 14:23:22 浏览:473
安卓机怎么把时间弄在主页面 发布:2025-07-09 14:17:28 浏览:1001
地产网站源码 发布:2025-07-09 14:07:08 浏览:72
sdk3000编译环境 发布:2025-07-09 14:06:09 浏览:979
烟灰奇迹脚本 发布:2025-07-09 14:02:27 浏览:76
游戏王服务器地址 发布:2025-07-09 13:38:07 浏览:772
双加密狗 发布:2025-07-09 13:26:51 浏览:471