±àÒëÔ­Àí¿ÎºóÏ°Ìâ´ð°¸(Ç廪´óѧ_ÕÅËØÇÙ)¸´Ï°ÀýÌâ

¹¹Ôì¼òµ¥ÓÅÏȹØϵ±í¡£¸ÃÎÄ·¨ÊÇ·ñÊǼòµ¥ÓÅÏÈÎÄ·¨£¿ ½â£º¼òµ¥ÓÅÏȹØϵ¾ØÕóÈçÏ£º S a b P Q c S = a < > < = b = < < > > > P < = Q = < c > = = > ÓÉÓÚ¾ØÕóÖÐÓÐÔªËØ´æÔÚ¶àÖÖÓÅÏȹØϵ£¬¹Ê²»ÊǼòµ¥ÓÅÏÈÎÄ·¨¡£

13£®¿¼ÂÇÎÄ·¨ G: S ¡ú AS | b

A ¡ú SA | a

£¨1£©¹¹ÔìÎÄ·¨µÄ¿É¹éǰ׺ͼ£¨»îǰ׺µÄDFA£©£» £¨2£©ÅжÏÎÄ·¨ÊÇ·ñÊÇLR(0)ÎÄ·¨£¬²¢ËµÃ÷ÀíÓÉ¡£ ½â£º£¨1£©¿É¹éǰ׺ͼ

I1:S¡¯?S. A?S.A A?.SA A?.a S?.AS SSI5:A?S.A A?.SA A?.a S?.AS SAbAS?.b a S?.b aaI0:S¡¯?.S S?.AS S?.b A?.SA A?.a I2:A?a. bbaI7:A?SA. S?A.S S?.AS S?.b A?.SA A?.a SAAI3:S?b. ababSbAI4:S?A.S S?.AS AI6:S?AS. A?S.A A?.SA A?.a S?.AS S?.b S?.b A?.SA A?.a S

£¨2£©ÒòΪ´æÔÚ³åÍ»£¬ËùÒÔ²»ÊÇLR(0)ÎÄ·¨¡£

14£®ÎÄ·¨G¼°ÆäLR·ÖÎö±íÈçÏ£¬Çë¸ø³ö¶Ô´®dada#µÄ·ÖÎö¹ý³Ì¡£

G: S ¡ú VdB ¢Ù

V ¡ú e ¢Ú V ¡ú ¦Å ¢Û B ¡ú a ¢Ü

- 6 -

B ¡ú Bda ¢Ý B ¡ú ¦Å ¢Þ

״̬ 0 1 2 3 4 5 6 7 8 ACTION d S4 r2 r6 r4 S7 r5 e a S8 # r4 r1 r5 S 1 r3 S3 GOTO B 6 V 2 acc S5 r6 ½â£º¶ÔÊäÈë´®dada#µÄ·ÖÎö¹ý³Ì ²½Öè 1 2 3 4 5 6 7 8 9 ״̬ջ 0 02 024 0245 0246 02467 024678 0246 01 ·ûºÅÕ» Ê£ÓàÊäÈë·ûºÅ # #V #Vd #Vda #VdB #VdBd #VdBda #VdB #S dada# dada# ada# da# da# a# # # # ¶¯×÷ ÓÃV ¡ú¦Å¹éÔ¼ Òƽø Òƽø ÓÃB ¡úa¹éÔ¼ Òƽø Òƽø ÓÃB ¡úBda ¹éÔ¼ ÓÃS ¡úVdB ¹éÔ¼ ½ÓÊÜ 15£®¶Ô´«Öµ¡¢´«µØÖ·ºÍ´«Ãû3ÖÖ²ÎÊý´«µÝ·½·¨·Ö±ðд³öÏÂÁÐ

³ÌÐòµÄÊä³ö£º

void p(int x, int y, int z) {

y *= 3; z += x; }

void main() {

int a=5, b=2; p(a*b,a,a);

printf(¡°%d\\n¡±, a); }

ÕâЩ²ÎÊý´«µÝ»úÖÆÈçºÎʵÏÖ£¿ ½â£º£¨1£©´«Öµ 5£» £¨2£©´«µØÖ· 25£» £¨3£©´«Ãû 45 £¨²ÎÊý´«µÝ»úÖÆ£¬ÂÔ£©

16£®½«ÏÂÃæ³ÌÐò»®·ÖΪ»ù±¾¿é£¬²¢»­³öÆä³ÌÐòÁ÷ͼ¡£

- 7 -

b := 1 b := 2

if w <= x goto L2 e := b goto L2 L1:goto L3 L2:c := 3 b := 4 c := 6

L3:if y <= z goto L4 halt

L4:g := g + 1 h := 8 goto L1

½â£º£¨1£©»ù±¾¿é£º b := 1 b := 2 if w <= x goto L2 e := b goto L2 L1: goto L3 L2: c := 3 b := 4 c := 6 L3: if y <= z goto L4 halt L4: g := g + 1 h := 8 goto L1

£¨2£©³ÌÐòÁ÷ͼ

1 5 6 7

£¨1£© £¨2£© £¨3£©

2 4 £¨4£© £¨5£© £¨6£©

3

£¨7£©

- 8 -

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@) ËÕICP±¸20003344ºÅ-4