.


:




:

































 

 

 

 


 

{ Li | Li A *, i [1,3]} A, Li () i [1, 3].

L 1 ; L 2 - 8; L 3 , { s, t }. s t .

A 256 8 () ASCII-. - 0x20 - 0x09.

1) Li P i A, i [1,3] :
P1 = {[_a-zA-Z], [0-9], [^_a-zA-Z]};
P2 = {[0], [1-7], [lL], [uU], [^01-7 lL uU]},
P3 = {[\x20\x09], [^\x20\x09]}.
, , :
B 1 = { a, 9,? }, B 2 = {0, 7, l, u,? }, B 3 = { s,? },
i Li Bi, i [1,3]:
e 1 = ( | 9)*, e 2 = 0(0 | 7)* (λ|u|l|ul|lu), e 3 = ss *.

2) λ - Di i, i [1,3]:


e 1 = ( | 9)*;

 

:

( | 9):

( | 9)*:

 


e 1 = ( | 9)*:

λ-a D 1

λ
|9
λ

e 2 = 0(0 | 7)* (λ|u|l|ul|lu):

λ-a D 2

e 3 = s s *:

λ - a D 3

3) Mi,
L (Di), i [1,3]. * , Æ - .
M 1

q\a a   ?
[0]= {0}     Æ Æ
[1]={1, 2, 3} *       Æ
[Æ]=Æ   Æ Æ Æ
[{2,3}]={2,3} *       Æ

 


M 2

q\a     l u ?
[0]= {0}     Æ Æ Æ Æ
[1]={1,2,3,6} *           Æ
[Æ] =Æ   Æ Æ Æ Æ Æ
[2]={2,3, 6} *           Æ
[{4,6}]={4,6} *   Æ Æ Æ   Æ
[{5,6}]={5,6} *   Æ Æ   Æ Æ
[6]= {6} *   Æ Æ Æ Æ Æ

 

M 3

q\a s ?
[0]= 0      
[1]={1, 2, 3} *     Æ
[Æ] =Æ   Æ Æ
[{2,3}]={2,3} *     Æ

 

Li , Mi i [1,3], λ-, ;

4) B = {0, 7, 9, a, l, u, s,?}. A -
P = {[0], [1-7], [89], [_a-km-tv-zA-KM-TV-Z], [lL], [uU], [\x20\x09],
[^0-9_a-zA-Z\x20\x09]}.

:

B 1 = {a, 9,?}
a = | l | u,

9 = 0 | 7 | 9,

? = s |?;


B 2 = {0, 7, l, u,?}
0 = 0,

7 = 7,

l = l,

u = u,

? = 9 | a | s |?;

B 3 = { s,?}

s = s,
t = t,
? = 0 | 7 | 9 | | l | u |?.


, B:

e 1 = ( | l | u)( | l | u | 0 | 7 | 9)*,

e 2 = 0(0 | 7)* (λ|u|l|ul|lu),

e 3 = ss *.
, A, B , P. , C# ():
e 1 - @([_a-km-tv-zA-KM-TV-Z] | [lL] | [uU])+
@([_a-km-tv-zA-KM-TV-Z] | [lL] | [uU] | [0] | [1-7] | [89])*;
e 2 - @[0]([0] | [1-7])* ([uU] | [lL] | [uU] [lL] | [lL] [uU])?;

e 3 - @ [\x20\x09] [\x20\x09]*.

Di Bi B:
a - b -. , D 1 (i, a, j) (i, | l | u, j), (i, 9, j) (i, 0 | 7 | 9, j) (i,?, j) (i, s | t |?, j).

 

B λ - D i, i [1,3]:

e 1 = ( | l | u)(| l | u | 0 | 7 | 9)*;

 

 

e 2 = 0(0 | 7)* (λ|u|l|ul|lu):

λ-a D 2


e 3 = ss *:

λ-a D 3

Mi, B, i [1,3].
M 1

q\a       a l u s ?
[0]= {0}   Æ Æ Æ       Æ Æ
[1]={1, 2, 3 } *               Æ Æ
[Æ] =Æ   Æ Æ Æ Æ Æ Æ Æ Æ
[{2,3}]={2,3} *               Æ Æ

M 2

q\a       a l u s ?
[0]= {0}     Æ Æ Æ Æ Æ Æ Æ
[1]={1,2,3,6} *       Æ Æ     Æ Æ
[Æ] =Æ   Æ Æ Æ Æ Æ Æ Æ Æ
[2]={2,3,6} *       Æ Æ     Æ Æ
[{4,6}]= {4,6} *   Æ Æ Æ Æ Æ   Æ Æ
[{5,6}]= {5,6} *   Æ Æ Æ Æ   Æ Æ Æ
[6]= {6} *   Æ Æ Æ Æ Æ Æ Æ Æ

M 3

q\a       a l u s ?
[0]= 0   Æ Æ Æ Æ Æ Æ   Æ
[1]={1, 2, 3} *   Æ Æ Æ Æ Æ Æ   Æ
[Æ] =Æ   Æ Æ Æ Æ Æ Æ Æ Æ
[{2,3}]={2,3} *   Æ Æ Æ Æ Æ Æ   Æ

 

Li B , Mi i [1,3], λ-, .


- a M 1,2= M 1x M 2, : L 1 L 2.
M 1,2

q\a       a l u s ?
(0,0)     Æ Æ       Æ Æ
(2,1) 2       Æ Æ     Æ Æ
(2,2)= Æ   Æ Æ Æ Æ Æ Æ Æ Æ
(1,2) 1               Æ Æ
(2,3) 2       Æ Æ     Æ Æ
(2,4) 2   Æ Æ Æ Æ Æ   Æ Æ
(2,5) 2   Æ Æ Æ Æ   Æ Æ Æ
(3,2) 1               Æ Æ
(2,6) 2   Æ Æ Æ Æ Æ Æ Æ Æ


 

5) - a M = M 1x M 2x M 3, : L 1 L 2 L 3.

M

q\a       a l u s ?
(0,0,0)     Æ Æ         Æ
(2,1,2) 2       Æ Æ     Æ Æ
(2,2,2)= Æ   Æ Æ Æ Æ Æ Æ Æ Æ
(1,2,2) 1               Æ Æ
(2,2,1) 3                  
(2,3,2) 2                  
(2,4,2) 2                  
(2,5,2) 2                  
(3,2,2) 1                  
(2,2,3) 3                  
(2,6,2) 2                  

M =(Q, B, g, q 0, F), F = F 1 F 2 F 3, F 1 = {3, 8},
F 2 = {1, 5, 6, 7, 10}, F 3 = {4, 8}.
(Q, B, g, q 0, Fi) Li, i [1,3].

C { F 1, F 2, F 3} , { L 1, L 2, L 3} ;


M ¢, M 1,2 M 3. M M ¢ , .
M
¢

F q\a       a l u s ?
      Æ Æ       9 Æ
        Æ Æ     Æ Æ
Æ   Æ Æ Æ Æ Æ Æ Æ Æ
                Æ Æ
        Æ Æ     Æ Æ
    Æ Æ Æ Æ Æ   Æ Æ
    Æ Æ Æ Æ   Æ Æ Æ
                Æ Æ
    Æ Æ Æ Æ Æ Æ Æ Æ
    Æ Æ Æ Æ Æ Æ   Æ
    Æ Æ Æ Æ Æ Æ   Æ

 

7) .
q 0.

, , - Error ={ q | g *(q, x) Ï F }.

M = M 1x M 2x M 3 Error = {2}, q 2 q Î F.

- Active = Q \ Error.
-
ActiveTransition = {(q, a)| q Î Active g (q, a) Î Active, a Î B }.
, Li, - EndL i = {(q, a)| q Î Fi g (q, a) Î Error, a Î B }.

a , (q, a) Î EndL i x Î Li. x q Î Fi, q = g *(q 0, x).

ErrorL = {(q, a)| q Î Active \ F g (q, a) Î Error, a Î B } .
(q, a) Î ErrorL, x , q = g *(q 0, x) q, ,

xa , y Î B *, xa Î L.

, ActiveTransition, EndL 1 , EndL 2, EndL 3 , ErrorL, - .


() P ( )
f: Q
´ B¢ → P, B ¢= B È { #}. f (q, a)= p Î P, p , q Î Q a Î B ¢. # Ï B .
M =(Q, B ¢, P, f, g) .

P = { pActiveTransition, p EndL1, , p EndL n, p ErrorL}. :

f (q, a)= p ActiveTransition, (q, a)ÎActiveTransition;

 

(q, aEndL i, (q, #EndL i,
f (q, a)= p EndL i, (q, aEndL i, i Î [1, n ];

 

(q, aErrorL, (q, #ErrorL,

f (q, a)= p ErrorL, (q, aErrorL.

 

()
M
=(Q, B ¢, P, f, g) () B ¢.

.

 

P.

 

p ActiveTransition:

s = s + a; // , //

// q 1 = <q>

q = g[q,b]; // b = [a] ¹ #

// q 2 = <q> (q 1, b, q 2) in ActiveTransition `

return;


p EndL i, i Î [1, n ]:

//(q, b) in EndL i, i Î [1, n ]

//<s> = x , b = [a] <a> = a

tokenStream.WriteLine(<L, i, >, s);

if (b == [#])

{

//

return;

}

else

{

inputStream.UnGetC(a); // <a> = a
q = 0; //

s=; //

return;

}

 

p ErrorL:

s = s + a;

tokenStream.WriteLine(<ErrorL>, s); //s= xa

if (b == [#])

{

//

return;

}

else

{

//skip ,
q = 0;

s=;

return;

}

 



<== | ==>
| - 2013- 2014
:


: 2015-11-05; !; : 360 |


:

:

, , .
==> ...

1500 - | 1414 -


© 2015-2024 lektsii.org - -

: 0.072 .