版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章有穷自动机第1页,课件共74页,创作于2023年2月§3.1有穷自动机的形式定义
有穷状态自动机(Finite-stateAutomata或简称FA)在识别功能上与正规文法类等价,而且也等价于一个特殊类型的语言产生器——正规表达式(RegularExpression)。因此许多简单的程序语言都可由FA所识别。事实上,它是描述词法的有效工具,也是进行词法分析的主要理论基础。
第2页,课件共74页,创作于2023年2月有穷自动机分为两类:(1)确定的有穷自动机(DeterministicFiniteAutomata简称DFA)(2)不确定的有穷自动机(NondeterministicFiniteAutomata简称NFA)。
第3页,课件共74页,创作于2023年2月3.1.1确定有穷自动机的形式定义
一个DFAM=(K,Σ,f,S,Z),其中(a)K是一个有限状态集合。(b)Σ是一个字母表,它的每个元素称为一个输入字符。(c)S∈K,S称为初始状态,唯一。(d)Z
K,Z称为终态集合,终态也称可接受状态或结束状态。(e)f是转换函数,是一个从K×Σ到K的单值映射。f(ki,a)=kj(ki,kj∈K,a∈Σ)kj称为ki的一个后继状态。第4页,课件共74页,创作于2023年2月确定性的体现:初始状态唯一;转换函数为单值映射。例:设DFAM=({S,U,V,Q},{a,b},f,S,{Q})其中
f(S,a)=U,f(S,b)=V
f(U,a)=Q,f(U,b)=V
f(V,a)=U,f(V,b)=Q
f(Q,a)=Q,f(Q,b)=Q因为(1)初始状态唯一是S,(2)每个转换函数均为单值映射。所以该FA为确定有穷自动机。
第5页,课件共74页,创作于2023年2月3.1.2状态转换表
DFA的映射关系可以由一个矩阵表示,矩阵的行标表示状态,列标表示输入字符,矩阵元素表示f(s,a)的值,这个矩阵称为状态转换表。
f(S,a)=U
f(S,b)=Vf(U,a)=Q
f(U,b)=Vf(V,a)=U
f(V,b)=Qf(Q,a)=Q
f(Q,b)=QabSUVUQVVUQQQQ第6页,课件共74页,创作于2023年2月q1aaabbabbq2q3q03.1.3状态转换图图中标有
的为开始状态,标有双圈的状态为终止状态。若f(Ki,a)=Kj,则从状态结点Ki到状态Kj画标记为a的弧。第7页,课件共74页,创作于2023年2月3.1.4自动机的等价性为了讨论自动机的等价性,先对DFA中的映射进行扩充。扩充的转换函数f设Q
K,函数f(Q,
)=Q,即如果输入字符是空串,则仍停留在原来的状态上。对
Q
K,T
,t1
*,f(Q,Tt1)=f(f(Q,T),t1)该定义是一个递归定义,说明当自动机处在状态Q且面临某个输入串Tt1时,则先应用函数f(Q,T)=P,然后应用函数f(P,t1)。第8页,课件共74页,创作于2023年2月DFA的确定性表现在转换函数f:K
K是一个单值函数,即对任何状态k
K和输入符号a
,f(k,a)唯一地确定了下一个状态,从状态转换图来看,若字母表
含有n个输入字符,那么任何一个状态结点最多有n条弧射出,且每条弧以一个不同的输入字符标记。
第9页,课件共74页,创作于2023年2月自动机接受字符串x如果对于某一自动机M=(K,
,f,S,Z),x
*,有f(S,x)=P,且P
Z,则x为该自动机M所接受(识别),即自动机从开始状态开始,在读完全部输入串以后,自动机恰恰到达终止状态,则该输入串能被该自动机所接受。
第10页,课件共74页,创作于2023年2月例:DFAM=({S,A,B,C},{0,1},,S,{S}),且定义为(S,0)=B,(S,1)=A,(A,0)=C,(A,1)=S,(B,0)=S,(B,1)=C,(C,0)=A,(C,1)=B状态图表示,矩阵表示:第11页,课件共74页,创作于2023年2月自动机处理字符串110101和11101的轨迹(S,110101)=((S,1),10101)=(A,10101)=((A,1),0101)=(S,0101)=((S,0),101)=(B,101)=((B,1),01)=(C,01)=((C,0),1)=(A,1)=S(接受)(S,11101)=((S,1),1101)=(A,1101)=((A,1),101)=(S,101)=((S,1),01)=(A,01)=((A,0),1)=(C,1)=B(拒绝)第12页,课件共74页,创作于2023年2月所有为自动机M所能接受的串组成一个集合,称这个集合为自动机M所能接受的语言,用L(M)表示:L(M)={t|f(S,t)
Z,t
*}对于任何两个有穷自动机M和M’,如果L(M)=L(M’),则称M与M’是等价的。第13页,课件共74页,创作于2023年2月3.1.5非确定有穷自动机NFA定义一个不确定的有穷自动机NFAM’是一个五元组:M’=(K,
,f,S,Z)一个含有m个状态和n个输入字符的NFA可表示为一张状态转换图,该图含有m个状态结,每个结可射出若干条箭弧与别的结点相连接,每条弧用
*中的一个字(不一定要不同的字,且可以为空字)作标记(称输入字),整个图至少含有一个初态结以及若干个终态结。第14页,课件共74页,创作于2023年2月NFA与DFA的区别NFA有一个开始状态集,而DFA只有一个开始状态。NFA的映射是Q
Q的子集,是一个多值映射,而DFA的映射是Q
Q,是一个单值映射。DFA是NFA的特例,对于每个NFAM,存在一个DFAM’,使得L(M)=L(M’)。第15页,课件共74页,创作于2023年2月对于
*中的任何一个串t,如果存在一条从某一初态结到某一终态结的道路,且这条道路上的所有弧的标记依序连接成的串等于t,则称t可为NFAM所识别(读出或接受)。若M的某些结既是初态结,又是终态结,或者存在一条从某个初态结到某个终态结的
道路,则空字可为M所接受。
第16页,课件共74页,创作于2023年2月例:NFAM=({0,1,2,3,4},{a,b},f,{0},{2,4})f(0,a)={0,3} f(2,b)={2} f(0,b)={0,1}f(3,a)={4} f(1,b)={2} f(4,a)={4}f(2,a)={2} f(4,b)={4}可用状态图或矩阵表示:03412aabba,ba,ba,b第17页,课件共74页,创作于2023年2月§3.2NFA到DFA的转换通过下述步骤可将一个NFA转换成等价的DFA:①寻找并消除空移环路;②消除余下的空移;③确定化。
第18页,课件共74页,创作于2023年2月3.2.1空移环路的寻找和消除第19页,课件共74页,创作于2023年2月3.2.2消除空移
下面给出一个消除空移的算法。给定从状态A到B的一个空移(即从状态A到B经由
连线的一个转换,换言之,t(A,
)={…,B,…})。置t(A,
)=
,对每个a和Q,如果Q
t(B,a),则将Q加到t(A,a)。如果A是开始状态,则将B也加入开始状态集。如果B是终止状态,则将A也加入终止状态集。
第20页,课件共74页,创作于2023年2月3.2.3利用状态转换表消除空移
利用FA的状态转换表,可以很容易地消除空移。这种方法的基本步骤是:首先,找出直接经由一个空移到达某个终态的所有状态。每当找到这样一个状态,便将它标记为终态。然后,考虑消除与未被标记为终态的那些状态相关的空移。对表中每一个具有射出ε连线的状态继续按上述方式处理,直到状态转换表不再变动为止。最后从表中删除ε列和没有任何元素的空行,便得到一个不含空移的状态转换表。
第21页,课件共74页,创作于2023年2月3.2.4确定化——造表法
造表法是一种简单而有效的确定化方法。定义:设NFAM=(Q,
∪{
},t,Q0,F),假定I是M中状态集的一个子集,定义
_closure(I)如下:若q
I,则q
_closure(I);若q
_closure(I),q
是由q出发经多条
弧到达的状态,则q
_closure(I)。第22页,课件共74页,创作于2023年2月定义:假定I是NFAM中状态集的一个子集,a
,定义Ia=
_closure(J)其中J是所有那些可从子集I中的任一状态出发,经过一条a连线(跳过a连线前的ε连线)而到达的状态(结)的全体。造表法的具体步骤:假定给定的NFAM中
仅含两个符号a,b。可用如下方法将M确定化:采用造表的方式,该表的每一行有三列(若
中含有n个符号,则该表有n+1列),第一列记为I,第二、三列分别记为Ia,Ib。
第23页,课件共74页,创作于2023年2月①置该表的第一行第一列为
_closure(Q0),即一列包含M初态集Q0的ε_闭包。然后计算它的Ia和Ib,分别填入第二、三列上,一般,若某一行的第一列上的I已确定,便可根据前述定义求出这一行的第二、第三列上的Ia和Ib。②检查Ia和Ib,看它们是否已在表的第一列中出现,把未曾出现者之一填入下一空行的第一列上,再计算该行的第二、第三列上的Ia和Ib。
第24页,课件共74页,创作于2023年2月③重复第二步,直至表中所有第二、第三列上的元素全部再第一列出现为止。因为M中的状态(子集)的个数是有限的,所以上述三步必定在有限步骤内终止。④将由上述过程得到的最终形式的表看作一个状态转换表,即把其中第一列中的元素作为状态,把Ia,Ib分别看作是输入符号a,b,把其余信息看作是状态转换函数之值。这个表唯一地刻画了一个确定的有穷状态自动机M
,其初态是该表第一行第一列的元素,其终态是该表中所有那些含有原终态的元素。可以证明,这个DFAM
和NFAM是等价的。
第25页,课件共74页,创作于2023年2月例:有一NFAM,用造表法使其确定化。bba
ab
012534678910
01234bbbbbaaaaa第26页,课件共74页,创作于2023年2月3.2.5确定的有穷自动机的化简
所谓一个确定的有穷自动机M的化简是指:寻找一个状态数比M少的DFAM’,使得L(M)=L(M’),可通过消除多余状态和合并等价状态而转换成一个最小的与之等价的有穷自动机。消除多余状态多余状态是指从该自动机的开始状态出发,任何输入串也不能到达的状态。
第27页,课件共74页,创作于2023年2月ABC第28页,课件共74页,创作于2023年2月3.2.6合并等价状态
等价状态若s和t是M的两个不同状态,称s和t等价:如果从状态s出发能读出某个字
而停于终态,同样从t出发也能读出同一个字
而停于终态;反之若从t出发能读出某个字
而停于终态,则从s出发也能读出同一个字
而停于终态。如果DFAM的两个状态s和t不等价,则称这两个状态是可区别的。
第29页,课件共74页,创作于2023年2月DFA中,状态s和t等价的条件是:一致性条件:状态s和t必须同时为可接受状态(终态)或不可接受状态(非终态)。蔓延性条件:对于所有输入符号,状态s和t必须转换到等价的状态里。分割法合并等价状态一个DFAM的状态化简过程就是把M的状态集划分成一些不相交的子集,使得任何不同的两子集的状态都是可区分的,而同一子集的任何两个状态都是等价的。最后,从每个子集选出一个代表(代表该子集),同时消去其它等价状态。第30页,课件共74页,创作于2023年2月对M的状态集S进行划分的步骤:①把S的终态与非终态分开,分成两个子集,形成基本划分
,属于这两个不同子集的状态是可区别的。②假定某个时候
已含m个子集,记
={I(1),I(2),…,I(m)}且属于不同子集的状态是可区别的,再检查
中的每个I能否进一步划分,对于某个I(i),令I(i)={S1,S2,…,Sk},若存在一个输入字符使得move(I(i),a)不包含在现行
的某一子集I(i)中,则将I(i)一分为二。第31页,课件共74页,创作于2023年2月例:将图示的DFAM最小化。1362457aaaaaaabbbbbbb第32页,课件共74页,创作于2023年2月1、将M状态分为两个子集: P0=({1,2,3,4},{5,6,7})2、{1,2,3,4}读入a后划为: P1=({1,2},{3,4},{5,6,7})3、进一步划分: P2=({1,2},{3},{4},{5,6,7})4、考察{5,6,7},将P2划分为: P3=({1,2},{3},{4},{5},{6,7}) P3不可再划分,从而1与2,6与7等价。第33页,课件共74页,创作于2023年2月13645aaabbbbba第34页,课件共74页,创作于2023年2月3.2.7从化简后的DFA到程序表示
识别标识符的DFA(见图(a))需改为图(b)所示状态,其中,l代表字母,d代表数字。
图(a)图(b)第35页,课件共74页,创作于2023年2月如果赋予状态q0、q1与q2一定的操作,则可得识别单词标识符的程序流程图(见下图)。
第36页,课件共74页,创作于2023年2月§3.3正规文法与有穷自动机正规文法与有穷自动机FA有着特殊的关系。可以证明:对任何正规文法G,可以构造一个FA,它能而且只能识别语言L(G);反过来,对任何FA,可以构造一个相应的正规文法G,它能生成由该FA所识别的语言。第37页,课件共74页,创作于2023年2月2.3.1从正规文法到FA
设正规文法G有形如U→aV(aVT,VVN或V=)的产生式。由正规文法G可以直接构造一个有穷自动机A(简称自动机A),使L(A)=L(G)。构造步骤如下:①令正规文法G的终结符号集作为有穷自动机A的字母表;②文法G的每一个非终结符都作为自动机A的一个状态,特别是文法G的开始符作为自动机A的开始状态;第38页,课件共74页,创作于2023年2月③在自动机A中增加一个新状态z作为自动机的终止状态;④对于文法G的形如U→aV(aVT或a=,VVN)的产生式,在自动机A中构造形如t(U,a)=V的映射;⑤对文法G的形如U→a(aVT)的产生式,在自动机A中构造形如t(U,a)=z的映射。第39页,课件共74页,创作于2023年2月2.3.2从FA到正规文法从自动机也可直接构造其正规文法。构造步骤如下:①自动机每一个状态的标记,均作为正规文法的非终结符,其中,自动机开始状态的标记将作为正规文法的开始符号。自动机的输入字母表中的所有符号,作为正规文法的终结符。第40页,课件共74页,创作于2023年2月②对于自动机的映射t(U,a)=V(其中,U、V为自动机的状态标记;a为输入符号),构造文法的一条产生式 U→aVU、V为文法的非终结符,a为终结符。③对于自动机的终止状态Z,在正规文法中增加一条产生式Z→
第41页,课件共74页,创作于2023年2月§3.4正规表达式与FA
正规式也称正规则式、正规表达式,与正规文法的功能一样,正规式也可用以描述程序设计语言的单词符号。3.4.1
正规表达式的操作符连接假定有两个正规表达式e1和e2,它们分别产生语言L1和L2,于是定义正规表达式的连接操作为e1
e2={x
y|x
L1,y
L2}其中
可省略第42页,课件共74页,创作于2023年2月选择可用|或+表示,定义为e1|e2={x|x
L1或x
L2}重复用*表示,表示*中的表达式的0次到若干次的自重复连接,即e*={x|x
L1*}第43页,课件共74页,创作于2023年2月例:正规表达式110由数字1,1,0连接在一起组成,且表示的语言为L={110}表达式0|1所表示的语言为L={0,1}表达式1*所表示的语言为L={1i|i=0,1,2...}例:用正则表达式表示
{标识符}=字母(字母|数字)*
{实数}=(e|+|-)(数字*
.数字数字*)第44页,课件共74页,创作于2023年2月3.4.2正规表达式的定义所有正规表达式都可以由下列规则构造出来:①是一个表示空集的正规表达式②是一个正规表达式,它所表示的语言仅包含一个空符号串,即{}③a是一个正规表达式,aVT它所表示的语言(它所表示的正规集)是单个符号a所组成,即{a}第45页,课件共74页,创作于2023年2月④如果e1和e2是正规表达式,其表示的语言分别为L1和L2,(e1)|(e2)是一个表示语言L1
L2的正规表达式(e1)
(e2)是一个表示语言L1L2的正规表达式(e1)*是一个表示语言L1*的正规表达式⑤正规表达式中操作符的优先级顺序为*,连接,|第46页,课件共74页,创作于2023年2月例:正规表达式a*b*表示的正规集是 {ambn|m
0,n
0}正规表达式(ab)*表示的正规集是 {(ab)m|m
0}正规表达式(a|b)*表示的正规集是 {x|x
{a,b}*}表达式(aa|ab|ba|bb)* 表示在VT={a,b}上的所有偶长度的串第47页,课件共74页,创作于2023年2月3.4.3正规表达式的等价性如果两个正规表达式表示相同的语言,则这两个正规表达式相等或等价,故有00*=000*|03.4.4正规表达式的性质r|s=s|r 或满足交换律r|(s|t)=(r|s)|t 或满足结合律(rs)t=r(st) 连接满足结合律r(s|t)=rs|rt(s|t)r=sr|tr 分配律r=r,r=r 是连接的恒等元素第48页,课件共74页,创作于2023年2月例:程序设计语言中的单词都能用正规式来定义,如:={字母,数字}上的正规式e1=字母(字母|数字)*表示的是所有标识符的集合正规式e=dd*定义了无符号整数令={d,.,e,+,-},则上的正规式 (d*.dd*|dd*)(e(+|-|)dd*|)表示的是无符号数。第49页,课件共74页,创作于2023年2月3.4.5正规文法与正规式
一个正规语言可以由正规文法定义,也可以由正规式定义,对任意一个正规文法,存在一个定义同一个语言的正规式;反之,对每个正规式,存在一个生成同一语言的正规文法。正规式转换成正规文法将上的一个正规式转换成文法G=(VN,VT,P,S),令其中的VT=,确定产生式和VN的元素用如下方法:第50页,课件共74页,创作于2023年2月对任何正规式r,选择一个非终结符S,生成产生式Sr,并将S定为G的识别符号。若x和y都是正规式,对形如Axy的产生式,重写为AxB,By两产生式,其中B是新选择的非终结符,即B
VN。对已转换的文法中的形如Ax*y的产生式,重写为AxA,Ay对形如Ax|y的产生式重写为Ax,Ay不断利用上述规则作变换,直到每个产生式最多含有一个VN为止。第51页,课件共74页,创作于2023年2月例:将R=a(a|d)*转换成相应的正规文法。 令S是识别符号,首先形成Sa(a|d)*,下一步,SaA,A(a|d)*,重写为: A(a|d)A,A 进而转变为:SaA,AaA,AdA,A第52页,课件共74页,创作于2023年2月正规文法转换成正规式 上述过程的逆过程,最后只剩下一个开始符号定义的产生式,并且该产生式的右部不含非终结符,转换规则:第53页,课件共74页,创作于2023年2月例:文法G[S]:SaA,Sa,AaA,AdA,Aa,AdS=aA|a,A=aA|dA|a|d=(a|d)A|(a|d)A=(a|d)*(a|d)S=a(a|d)*(a|d)|a=a((a|d)*(a|d)|)=a(a|d)*练习:有文法G[S]:SaS,SaB,BbC,CaC,Ca第54页,课件共74页,创作于2023年2月3.4.6正规式和有穷自动机的等价性正规表达式与有穷自动机等价,是指若给定一正则表达式,也即相应地给定了正则集合L(e),那么就可构造NFAM,并有L(M)=L(e);反之,若给定一个DFAM,M接受的语言为L(M),则必然存在一正则表达式e,且L(e)=L(M)。正规表达式和FA是定义语言(符号串集)的两种不同形式。同一个语言,既可用FA描述,也可用正规表达式描述。第55页,课件共74页,创作于2023年2月3.4.7正规表达式到NFA的转换先构造一个NFAM的一个广义转换图,其中,只有S与Z两个状态,S是开始状态,Z是终止状态,弧上是正规表达式e。然后,按照下图所示的替换规则对正规表达式e逐步进行分解,直到转换图中所有的弧上都是S中的单个符号或e为止。第56页,课件共74页,创作于2023年2月替换成替换成替换成第57页,课件共74页,创作于2023年2月例:有
={a,b}上的正规式R=(a|b)*abb,构造NFAM使L(M)=L(e)。练习:构造与
={a,b}上的正规式(a|b)*(aa|bb)(a|b)*等价的自动机。第58页,课件共74页,创作于2023年2月3.4.8NFA到正规表达式的转换一个输入字母表为
的NFAM,可构造正规表达式e,使L(e)=L(M)。具体操作如下:①首先对NFAM进行拓广,在M的状态转换图中,设置一个唯一的开始状态S和唯一的终止状态Z,并允许状态转换图中弧上可以为正规表达式。②然后从开始状态S到原来所有的开始状态连接
弧,再从原来所有的终止状态到Z状态也连接
弧。修改后构成了一个新的NFA,它只有一个初态结点S和一个终态结点Z,这个新的NFAM′显然和原NFAM等价。第59页,课件共74页,创作于2023年2月③接着,利用下图所示的替换规则,逐步消去M′中属于M的所有结点和有关连线,直到状态转换图中只剩下状态S和Z为止(这个过程称为消结)。在消结过程中,用相应的正规表达式标记连线。第60页,课件共74页,创作于2023年2月替换成替换成替换成第61页,课件共74页,创作于2023年2月例:NFAM=({0,1,2,3,4},{a,b},f,{0},{2,4}),状态图如下,构造正规式R使L(R)=L(M)。03412aabba,ba,ba,b第62页,课件共74页,创作于2023年2月§3.5DFA在计算机中的表示
矩阵表示法设M是一个二维数组,若t(qi,qj)=qk,则令M[i,j]=k,其中i,k=0,1,2,…,n;j=1,2,…,m。表结构DFA的映射t:Q
Q在计算机中可表示成一种表结构。在这个表结构中,每一个状态对应一个表,表中包括该状态的状态名、从该状态发出的弧数、每条弧上的标记以及弧达到的状态所在表的首地址。第63页,课件共74页,创作于2023年2月DFA在计算机中的表结构
第64页,课件共74页,创作于2023年2月程序表示法我们也可以用程序来表示DFA。例:C语言的注释/*…*/,其有穷自动机12345/**/*otherother第65页,课件共74页,创作于2023年2月{State1}ifthenextcharacterris“/”thenadvancetheinput;{State2}ifthenextcharacteris“*”thenadvancetheinput;{State3}done:=false;whilenotdonedowhilethenextinputcharacterisnot“*”doadvancetheinput;endwhile;advancetheinput;{State4}第66页,课件共74页,创作于2023年2月whilethenextinputcharacteris“*”doadvancetheinput;endwhile;ifthenextinputcharacteris“/”thendone:=true;endif;advancetheinput;endwhile;accept;{State5}else{otherprocessing}endifelse{otherprocessing}endifState:=1;{Start}第67页,课件共74页,创作于2023年2月whilestate=1,2,3or4docasestateof1:caseinputcharacterof“/”:advancetheinputstate:=2;elsestate:=…{ErrororOther}endcase2:caseinputcharacterof“*”:advancetheinput;state:=3;elsestate
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老旧车辆淘汰报废制度
- ECMO患者康复早期介入护理查房
- 输血护理进展课件
- 腹泻的社区护理干预
- 临沂考编学科试题及答案
- 饲草产品加工工岗中履职考核试卷含答案
- 量具制造工QC管理考核试卷含答案
- 棉花栽培工岗前风险评估考核试卷含答案
- 膜法水处理材料和设备制造工班组协作能力考核试卷含答案
- 铝电解综合工复试模拟考核试卷含答案
- 2025年甘肃庆阳市地理生物会考真题试卷(+答案)
- 北京市西城区2026年中考二模英语试题(含答案)
- (三模)济南市2026届高三5月针对性训练生物试卷(含答案)
- 2026宁夏电投永利能源有限公司招聘21人考试备考题库及答案解析
- 金牛区驷马桥等街道2026年公开招聘社区专职工作人员(26人)笔试备考试题及答案详解
- 2026中国报废汽车拆解行业盈利动态与需求趋势预测报告
- 2026年无损检涡流检二级考核模拟题库附参考答案详解【考试直接用】
- 战略分析报告从数据流量基本特征看数据流量收费模式的未来趋势
- 化工安全培训课件-教学课件化工安全生产技术3
- 校本课程武术课本
- PCB常见不良品图片及改善措施汇总
评论
0/150
提交评论