: : : : (),, : (),( )-,() - :,, -,( ) -1.... visual basic int sum(int a, int b){ return a+b; float f=2.5; main(){ float A[10]; A[f]=15; int x=sum(int(f), 10, A[2]);. -2.... -3.foolowpos(3) * ( a b c) ( c d e).( g f ) * -4 { { { { flex "r?" -5 r r r r 12 1
: : : : (),, : - (),( )-,() :, -,( ), int 7temp. -6 G 2 G 1-7 G : S S ( S) S G 1 2 : S a S b S b S a S. G 2 G 1. G 2 G 1. G 2 G 1. G 2 G 1 (). A Sa b S Sc Ad ASd A Sa b Aa b S bdr dr R bsdr R bds ds S brds R cr adr asdr dr S cs ads ards Aa b A Sa b R bds dr S bsdr S bdr ds R brds S cr adr R cs ads -8 12 2
: : : : (),, : - (),( )-,() :, -,( ), iets ietses iest a E b.() ier a R ts tses St E b ier a R St SteS St E b S ier a R tsp St P es E b. -9. " ".. " ".. " " " ". -10 first(ab) -11 ' S$ S AB A aa a1a D B bb b1 B D dd { a, a, d, 1 { a, a, d 1 { b, b, a, a, d, 1 1 { b, b, a, a, d 1 1 12 3
: : : : (),, : - (),( )-,() :, -,( ), first (BCa) -12 A B C acb B bb f C C cc e ε { b, f, c, e, { b, f { b, f, c, e, a { b, f, c, e, a, follow(b) -13 BCd A AaSb SbC B b C c B {a,b,c,d {b,c,d {b,c {a,b,c,$. -14 WAB ABCS A B WB B ε yb C z W x First(A) = Follow(C) {x First S ( ) = Follow ( W ) First (ABC) = Follow(W) First(B) = First(A) {x 12 4
: : : : (),, : - (),( )-,() :, -,( ),? Void A(){ If(lookahead=='b' lookahead=='f') B(); else if (lookahead=='c' lookahead =='e'){ C(); match ('C'); Else {cout <<"error"; exit (0); Void B(){ If(lookahead=='b'){ match('b'); B(); else if (lookahead=='f') match ('f'); else {cout <<"error"; exit (0); Void C(){ If(lookahead=='c'){ match('c'); C(); else if (lookahead=='e') match ('e'); else; return; A B cc ε B bb f C Cc e A B cc B Bb f ε C Cc e ε A B cc B Bb f C Cc e A B Cc B bb f C cc e ε -15 12 5 11/1569
: : : : (),, : (),( )-,() - :,, -,( ) a cs A Ac Sd.. first/follow first/first -16. first/follow. first/follow first/first. A S ( X E] F) X E) F] E A F A A :. LL() -17. LL().. LL() LL() B. d S ABD bd A aa d B bb ε D AD ε -18. d. bb B. d B. B 12 6
: : : : (),, : - (),( )-,() :, -,( ), S LL(1) ABBd ε A aa ε B bb ε -19 : G -20 d c b a $ S S α3 S α2 S α1 A B A A α 4 B A B first ( A) = { a, c,$ follow ( A) = { b, d first ( S) = { a, c, d follow ( A) = { c,$ first (A) = {a, follow ( B) = { b,$ first (B) = { follow ( B) = { b,$ e A S bae A aa c -21. e A. e. A. e A 12 7
: : : : (),, : - (),( )-,() :, -,( ), -22... a follow(a). a follow(a). 12 8
: : : : (),, : - (),( )-,() :, -,( ), A I1. I1 G1. AB Bb G1 : A cab Ab B daa S iab S ibb A icab I : 1 A iab A i B idaa B i AiB AiB AiB AiB A A b B idaa B idaa i B idaa B i B i A icab B i A A b i A iab A iab A i $. (SLR(1 I3 G. (SLR(1. 1,2) S AB bac G : 3,4) A aa ε 5,6) B bb ε bia I 3 A iaa A i ε -23-24 12 9
: : : : (),, : - (),( )-,() :, -,( ), -25. SLR(1). SLR(1) SLR(1).. SLR(1) E E E + T T T T * F F F ( E) id [ S. E,{$] [ E. E + T,{$] [ E. T,{$] [ T. T * F,{$] [ T. F,{$] [ F.( E),{$] [ F. id,{$] [ S. E,{$] [ E. E + T,{$] [ T. T * F,{$] [ F.( E),{$]. closure ({[ S. E,{$]). [ S. E,{$] [ E. E + T,{$, + ] [ T. T * F,{ +,*,$] [ F.( E),{ +,*,$] [ S. E,{$] [ E. E + T,{$, + ] [ E. T,{$, + ] [ T. T * F,{ +,*,$] [ T. F,{ +,*,$] [ F.( E),{ +,*,$] [ F. id,{ +,*,$] -26 12 10
: : : : (),, : - (),( )-,() :, -,( ), A BC C abc B DE E bde D cad e. LL(1). LL(1) -27. LL(1). LL(1) E E op E E E [ E] E id int op + *.. LL(1 ).. SLR(1 ).. LALR(1 ).. LR(1 ). -28 12 11
: : : : (),, : - (),( )-,() :, -,( ), { 1 4) E E + E E * E ( E) id : LR(0 ). SLR(1 ) -29 action[8, ] action[7.+] r, S 2 4 S, r 5 1 r, r 2 1 S, S 5 4 A A OP B { A. x = OP. x A. x B. x A B { A. x = B. x OP + OP { OP. x = ' ' { OP. x = ' + ' B 1 { B. x = 1 B 2 { B. x = 2 B 3 { B. x = 3 B 4 { B. x = 4 B 5 { B. x = 5 B 6 { B. x = 6 B 7 { B. x = 7 B 8 { B. x = 8 B 9 { B. x = 9.-+. -30 84+6-84-6+ +-846 -+846 12 12 11/1569