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

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

发布时间: 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

热点内容
linux分割行 发布:2024-11-24 22:11:02 浏览:577
获取ftp文件 发布:2024-11-24 21:54:20 浏览:520
资源平滑算法 发布:2024-11-24 21:54:18 浏览:58
vs和vc编译器哪个好使 发布:2024-11-24 21:54:07 浏览:805
爱课程适用于什么安卓系统 发布:2024-11-24 21:54:02 浏览:38
51单片机编译 发布:2024-11-24 21:50:05 浏览:367
android常用的工具类 发布:2024-11-24 21:42:25 浏览:48
用户管理源码 发布:2024-11-24 21:29:36 浏览:677
监控怎么配置路由器 发布:2024-11-24 21:29:27 浏览:456
小型编译器的实现 发布:2024-11-24 21:27:48 浏览:1000