Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
1
2
3
4
5
6
7
8
9
10
11
12
13          	• • 
14                      	num	   +	   num	        *	   num	 2      +      3           *      4
15                      	                           expr	num	   +	   num	         *	     num	 2      +      3            *...
16                       	              expr	                            expr	num	   +	   num	          *	     num	 2     ...
17                   	• •  LR     •  SLR     •  LALR     •  GLR     •  etc...
18                       	                                        num	     +	        *	                                  n...
19                   	                                    num	     +	        *	                              num	  x	     ...
20                                                  num > +	                   	                                    num	  ...
21                                                      num > +	                       	                                  ...
22                             	                                        num	     +	        *	                             ...
23                                             + < num	                             	                                     ...
24                                             + < num	                              	                                    ...
25                              	                                         num	     +	        *	                           ...
26                                                         num > *	                              	                        ...
27                                                                num > *	                             	                  ...
28                             	                                                num	     +	           *	                  ...
29                             	                                                num	   +	        *	                       ...
30                             	                                                num	   +	        *	                       ...
31                             	                                                num	    +	        *	                      ...
32                              	                                                 num	    +	        *	                    ...
33                              	                                                 num	   +	        *	                     ...
34                             	                                                num	   +	        *	                       ...
35                             	                                                num	    +	        *	                      ...
36                       	                                          num	    +	          *	                                ...
37LR 	1.  E → E + T2.  E → T3.  T → T * num4.  T → num
38LR 	1.  E → E + T2.  E → T3.  T → T * num4.  T → num
39LR 	                                           	      GOTO 	                        *	   +	 num	 $	        E	    T	     ...
40LR 	                           *	   +	 num	 $	     E	     T	                    0	                   s3	          1	    ...
41LR 	                           *	   +	 num	 $	       E	     T	                    0	                   s3	            1	...
42LR 	                   *	   +	 num	 $	       E	     T	            0	                   s3	            1	     2	       	 ...
43LR 	                       *	   +	 num	 $	       E	     T	                0	                   s3	            1	     2	 ...
44LR 	                   *	    +	 num	 $	     E	     T	            3	     r4	 r4	            r4	       	                  ...
45LR 	                   *	     +	 num	 $	      E	     T	            3	     r4	 r4	              r4	       	              ...
46LR 	                         *	     +	 num	 $	      E	     T	                  3	       r4	 r4	            r4	       	  ...
47LR 	                           *	     +	 num	 $	      E	     T	                    3	     r4	 r4	              r4	      ...
48LR 	                                *	     +	 num	 $	      E	     T	                         3	     r4	 r4	             ...
49LR 	                           *	     +	 num	 $	       E	     T	                    3	     r4	 r4	               r4	    ...
50LR 	                           *	     +	 num	 $	         E	     T	                    3	     r4	 r4	               r4	  ...
51LR 	                                   *	     +	 num	 $	         E	     T	                            3	     r4	 r4	    ...
52LR 	                         *	   +	 num	 $	     E	     T	                  2	     s5	 r2	           r2	       	        ...
53LR 	                         *	     +	 num	 $	      E	     T	                  2	     s5	 r2	              r2	       	  ...
54LR 	                         *	     +	 num	 $	      E	     T	                  2	     s5	 r2	              r2	       	  ...
55LR 	                             *	     +	 num	 $	      E	     T	                      2	     s5	 r2	              r2	  ...
56LR 	                             *	     +	 num	 $	      E	     T	                      2	     s5	 r2	              r2	  ...
57LR 	                             *	     +	 num	 $	       E	     T	                      2	     s5	 r2	               r2	...
58LR 	                             *	     +	 num	 $	         E	     T	                      2	     s5	 r2	               r...
59LR 	                             *	     +	 num	 $	         E	     T	                      2	     s5	 r2	               r...
60LR 	                         *	   +	 num	 $	     E	     T	                  1	               s4	     acc	       	       ...
61LR 	                         *	     +	 num	 $	     E	     T	                  1	                s4	       acc	       	  ...
62LR 	                   *	     +	 num	 $	     E	     T	                  1	          s4	       acc	       	              ...
63LR 	                   *	     +	 num	 $	     E	     T	                  1	          s4	       acc	       	              ...
64LR 	                   *	   +	 num	 $	     E	     T	                  4	             s3	                  6	       	 4	 ...
65LR 	                   *	   +	 num	 $	         E	     T	                  4	             s3	                      6	    ...
66LR 	                   *	   +	 num	 $	         E	     T	                  4	             s3	                      6	    ...
67LR 	                   *	   +	 num	 $	         E	     T	                  4	             s3	                      6	    ...
68LR 	                   *	   +	 num	 $	     E	     T	                  3	   r4	 r4	       r4	       	 3	 4	            4	...
69LR 	                          *	   +	 num	 $	     E	     T	                      3	   r4	 r4	          r4	       	      ...
70LR 	                          *	     +	 num	 $	      E	     T	                      3	   r4	 r4	             r4	       	...
71LR 	                          *	     +	 num	 $	      E	     T	                      3	   r4	 r4	             r4	       	...
72LR 	                          *	     +	 num	 $	      E	     T	                      3	   r4	 r4	             r4	        ...
73LR 	                          *	     +	 num	 $	        E	     T	                      3	   r4	 r4	             r4	      ...
74LR 	                          *	     +	 num	 $	        E	     T	                      3	   r4	 r4	             r4	      ...
75LR 	                   *	     +	 num	 $	     E	     T	                  6	   s5	 r1	         r1	       	 6	 4	          ...
76LR 	                      *	      +	 num	 $	     E	     T	                  6	     s5	 r1	           r1	       	        ...
77LR 	                      *	      +	 num	 $	    E	     T	                  6	     s5	 r1	           r1	       	         ...
78LR 	                     *	      +	 num	 $	    E	     T	                 6	     s5	 r1	           r1	  5	 	             ...
79LR 	                  *	     +	 num	 $	   E	     T	                 5	               s7	  5	 	 6	 4	           4	   2	  ...
80LR 	                  *	     +	 num	 $	   E	     T	                 5	               s7	  5	 	                          ...
81LR 	                  *	     +	 num	 $	   E	    T	                 5	               s7	  5	 	                           ...
82LR 7	 	               *	     +	 num	 $	   E	    T	                  5	               s7	   5	 	                         ...
83LR 7	 	               *	     +	 num	 $	    E	    T	                  7	   r3	 r3	         r3	   5	 	   6	   4	          ...
84LR 7	 	               *	     +	 num	 $	    E	    T	                  7	   r3	 r3	         r3	   5	 	                    ...
85LR 7	 	               *	     +	 num	 $	    E	    T	                  7	   r3	 r3	         r3	   5	 	                    ...
86LR 7	 	               *	     +	 num	 $	     E	    T	                  7	   r3	 r3	          r3	   5	 	                  ...
87LR 	                   *	     +	 num	 $	     E	    T	                  7	   r3	 r3	          r3	       	                ...
88LR 	                   *	     +	 num	 $	      E	    T	                  7	   r3	 r3	           r3	                  4	  ...
89LR 	                   *	     +	 num	 $	        E	    T	                  7	   r3	 r3	           r3	                  4	...
90LR 	                   *	     +	 num	 $	        E	    T	                  7	   r3	 r3	           r3	                  4	...
91LR 	                   *	     +	 num	 $	    E	    T	                  6	   s5	 r1	         r1	       	 6	 4	            ...
92LR 	                   *	     +	 num	 $	    E	    T	                  6	   s5	 r1	         r1	       	                  ...
93LR 	                   *	     +	 num	 $	       E	    T	                  6	   s5	 r1	         r1	       	               ...
94LR 	                   *	     +	 num	 $	       E	    T	                  6	   s5	 r1	         r1	       	               ...
95LR 	                   *	     +	 num	 $	       E	    T	                  6	   s5	 r1	         r1	       	               ...
96LR 	                   *	     +	 num	 $	       E	    T	                  6	   s5	 r1	          r1	                  0	  ...
97LR 	                   *	     +	 num	 $	         E	    T	                  6	   s5	 r1	          r1	                  0	...
98LR 	                   *	     +	 num	 $	         E	    T	                  6	   s5	 r1	          r1	                  0	...
99LR 	                   *	     +	 num	 $	        E	    T	                  1	           s4	         acc	       	         ...
100LR 	                   *	     +	 num	 $	        E	     T	                  1	           s4	         acc	       	       ...
101                  GOTO   	1.  E → E + T2.  E → T3.  T → T * num4.  T → num
102                  GOTO   	0. S → E1.  E → E + T2.  E → T3.  T → T * num4.  T → num
103                  GOTO      	0. S → E1.  E → E + T                    LR(0)2.  E → T             	3.  T → T * num4.  T ...
104                  GOTO        	0. S → E1.  E → E + T                    LR(0)   LR(0)2.  E → T             	           ...
105                  GOTO        	0. S → E1.  E → E + T                    LR(0)   LR(0)2.  E → T             	           ...
106LR(0) 	E → E + T
107LR(0) 	E → E + T	              1)  E →     E+T              2)  E → E     +T              3)  E → E +     T            ...
108LR(0) 	                                  	E → E + T	              1)  E →     E+T              2)  E → E     +T        ...
109                          0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	               LR(0)   	   1.  E	  →	  E	  +	...
110                                   0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                LR(0)           	   ...
111                                       0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                LR(0)           ...
112                                         0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                   LR(0)      ...
113                                                      0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 ...
114                                                        0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	               ...
115                                                        0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	               ...
116                                                       0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                ...
117                                                     0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 L...
118                                                     0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 L...
119                                                     0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 L...
120                                                      0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 ...
121                                                      0.	  S	  →	  E	           3.  T	  →	  T	  *	  N	                 ...
122LR(0)                    	                  T	        I0	               I2	                 I7	               num	     ...
123LR(0)                         	      *	   +	 num	 E	      T	0	               3	   1	    2	1	         4	2	   5	3	4	     ...
124                           GOTO 	      *	    +	 num	 $	    E	   T	0	                 s3	      1	   2	1	          s4	2	 ...
125                           GOTO 	      *	    +	 num	 $	    E	   T	0	                 s3	      1	   2	   I1	1	          ...
126                           GOTO 	      *	    +	 num	 $	         E	   T	0	                 s3	           1	   2	   I1	1	...
127                           GOTO 	                                               I2	      *	    +	 num	 $	         E	   ...
128                           GOTO 	                                      2	                                              ...
129                           GOTO 	                          reduce 2	                                               I2	 ...
130                           GOTO 	                          reduce 2	                                               I2	 ...
131                           GOTO 	                          reduce 2	                                               I2	 ...
132shift-reduce conflict           (SLR )	0.	  S	  →	  E	  1.  E	  →	  E	  +	  T	  2.  E	  →	  T	  3.  T	  →	  T	  *	  N	 ...
133shift-reduce conflict           (SLR )	0.	  S	  →	  E	  1.  E	  →	  E	  +	  T	  2.  E	  →	  T	  3.  T	  →	  T	  *	  N	 ...
134shift-reduce conflict                             (SLR )	0.	  S	  →	  E	                                    E1.  E	  →	...
135                         GOTO 	                          reduce 2	                                             I2	     ...
136                         GOTO 	                                             I3	      *	    +	 num	 $	       E	   T	    ...
137                         GOTO 	                        reduce 4	                                             I3	      *...
138                         GOTO 	                        reduce 4	                                             I3	      *...
139                         GOTO 	                                             I6	      *	    +	 num	 $	       E	   T	    ...
140                         GOTO 	                          reduce 1	                                             I6	     ...
141                         GOTO 	                          reduce 1	                                             I6	     ...
142                         GOTO 	                          reduce 1	                                             I6	     ...
143                         GOTO 	                          reduce 1	                                             I6	     ...
144                         GOTO 	                                             I7	      *	   +	 num	 $	        E	   T	    ...
145                         GOTO 	                           reduce 3	                                             I7	    ...
146                         GOTO 	                           reduce 3	                                             I7	    ...
147                         GOTO 	      *	   +	 num	 $	        E	   T	0	               s3	           1	   2	1	        s4	 ...
148                              	                    	                 	        	            	   O(n)	                   ...
149                          	           	LR(1)	                               	   LALR(1)	          SLR(1)	              ...
150              	        expr	2   +     3        *   4
151                    	              expr	                         expr	num	   +	 2      +       3         *       4
152                    	              expr	                         expr	num	   +	   num	       *	     num	 2      +      ...
153                       	•  (      )•  Backtrack parsing•  Packrat parsing
154                                          	         E	1.  E	  	  →	  T	  E’	  2.  E’	  →	  +	  E	  |	  ε	  3.  T	  	  →...
155                                             	              E	1.  E	  	  →	  T	  E’	                                   ...
156                                          	         E	1.  E	  	  →	  T	  E’	  2.  E’	  →	  +	  E	  |	  ε	  3.  T	  	  →...
157                                                	         E	                                                           ...
158                                                	         E	                                                           ...
159                                                	         E	                                                           ...
160                                                	         E	                                                           ...
161                                                	         E	                                                           ...
162                                                	         E	                                                           ...
163                                                   	         E	                                                        ...
164                                                	         E	                                                           ...
165                                                	         E	                                                           ...
166                                                	         E	                                                           ...
167                                                   	         E	                                                        ...
168                                                	         E	                                                           ...
169                                                	         E	                                                           ...
170                                                	         E	                                                           ...
171                                                	         E	                                                           ...
172                                                	         E	                                                           ...
173                                                	         E	                                                           ...
174                                                	          E	                                                          ...
175                                                	          E	                                                          ...
176                                                	          E	                                                          ...
177                                                	          E	                                                          ...
178                                                	          E	                                                          ...
179                                                	          E	                                                          ...
180                                                	          E	                                                          ...
181                                                	          E	                                                          ...
182                                                	          E	                                                          ...
183                                                	          E	                                                          ...
184                                                	          E	                                                          ...
185                                                	          E	                                                          ...
186                                                	          E	                                                          ...
187                                                	          E	                                                          ...
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
ビジュアル構文解析
Prochain SlideShare
Chargement dans…5
×

ビジュアル構文解析

16 748 vues

Publié le

プログラミング言語のコンパイラで用いられる構文解析の手法を図解で解説。
演算子順位法・LR法・再帰下降構文解析・Backtrack parsing・Packrat parsing・左再帰を許すPackrat parsingを扱っています。
非常に長いですがパラパラ漫画的な感覚で読んでみてください。

Publié dans : Technologie, Formation
  • Identifiez-vous pour voir les commentaires

ビジュアル構文解析

  1. 1. 1
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 5. 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. 13 • • 
  14. 14. 14 num + num * num 2 + 3 * 4
  15. 15. 15 expr num + num * num 2 + 3 * 4
  16. 16. 16 expr expr num + num * num 2 + 3 * 4
  17. 17. 17 • •  LR •  SLR •  LALR •  GLR •  etc...
  18. 18. 18 num + * num x > > + < > < * < > > num + num * num
  19. 19. 19 num + * num x > > + < > < * < > > num + num * num
  20. 20. 20 num > + num + * num x > > + < > < * < > > num + num * num
  21. 21. 21 num > + num + * num x > > + < > < * < > > num + num * num
  22. 22. 22 num + * num x > > + < > < * < > > num + num * num
  23. 23. 23 + < num num + * num x > > + < > < * < > > num + num * num
  24. 24. 24 + < num num + * num x > > + < > < * < > > num num + * num
  25. 25. 25 num + * num x > > + < > < * < > > num num + * num
  26. 26. 26 num > * num + * num x > > + < > < * < > > num num + * num
  27. 27. 27 num > * num + * num x > > + < > < * < > > num num + * num
  28. 28. 28 num + * num x > > + < > < * < > > + < * num num + * num
  29. 29. 29 num + * num x > > + < > < * < > > + < * num num * + num
  30. 30. 30 num + * num x > > + < > < * < > > num num * + num
  31. 31. 31 num + * num x > > + < > < * < > > * < num num num * + num
  32. 32. 32 num + * num x > > + < > < * < > > * < num num num num * +
  33. 33. 33 num + * num x > > + < > < * < > > num num num * +
  34. 34. 34 num + * num x > > + < > < * < > > num num num * +
  35. 35. 35 num + * num x > > + < > < * < > > num num num * +
  36. 36. 36 num + * num x > > + < > < * < > > num num num * +
  37. 37. 37LR 1.  E → E + T2.  E → T3.  T → T * num4.  T → num
  38. 38. 38LR 1.  E → E + T2.  E → T3.  T → T * num4.  T → num
  39. 39. 39LR GOTO * + num $ E T 0 s3 1 2 1 s4 acc 1.  E → E + T 2 s5 r2 r2 2.  E → T 3 r4 r4 r4 4 s3 6 3.  T → T * num 5 s7 4.  T → num 6 s5 r1 r1 7 r3 r3 r3
  40. 40. 40LR * + num $ E T 0 s3 1 2 0 num + num * num
  41. 41. 41LR * + num $ E T 0 s3 1 2 shift 3 0 num + num * num
  42. 42. 42LR * + num $ E T 0 s3 1 2 shift 3 0 + num * num
  43. 43. 43LR * + num $ E T 0 s3 1 2 shift 3 3 3 0 + num * num
  44. 44. 44LR * + num $ E T 3 r4 r4 r4 3 0 + num * num
  45. 45. 45LR * + num $ E T 3 r4 r4 r4 reduce 4 3 0 + num * num
  46. 46. 46LR * + num $ E T 3 r4 r4 r4 reduce 4 4 4 3 0 + num * num
  47. 47. 47LR * + num $ E T 3 r4 r4 r4 T → num reduce 4 4 3 0 + num * num
  48. 48. 48LR * + num $ E T 3 r4 r4 r4 T → num reduce 4 4 0 + num * num
  49. 49. 49LR * + num $ E T 3 r4 r4 r4 0 s3 1 2 T → num reduce 4 4 0 + num * num
  50. 50. 50LR * + num $ E T 3 r4 r4 r4 0 s3 1 2 T → num reduce 4 go to 2 4 0 + num * num
  51. 51. 51LR * + num $ E T 3 r4 r4 r4 0 s3 1 2 T → num reduce 4 2 go to 2 4 2 0 + num * num
  52. 52. 52LR * + num $ E T 2 s5 r2 r2 4 2 0 + num * num
  53. 53. 53LR * + num $ E T 2 s5 r2 r2 reduce 2 4 2 0 + num * num
  54. 54. 54LR * + num $ E T 2 s5 r2 r2 reduce 2 4 2 2 0 + num * num
  55. 55. 55LR * + num $ E T 2 s5 r2 r2 E → T reduce 2 4 2 2 0 + num * num
  56. 56. 56LR * + num $ E T 2 s5 r2 r2 E → T reduce 2 4 2 0 + num * num
  57. 57. 57LR * + num $ E T 2 s5 r2 r2 0 s3 1 2 E → T reduce 2 4 2 0 + num * num
  58. 58. 58LR * + num $ E T 2 s5 r2 r2 0 s3 1 2 E → T reduce 2 go to 1 4 2 0 + num * num
  59. 59. 59LR * + num $ E T 2 s5 r2 r2 0 s3 1 2 E → T reduce 2 go to 1 4 2 1 0 + num * num
  60. 60. 60LR * + num $ E T 1 s4 acc 4 2 1 0 + num * num
  61. 61. 61LR * + num $ E T 1 s4 acc shift 4 4 2 1 0 + num * num
  62. 62. 62LR * + num $ E T 1 s4 acc shift 4 4 2 1 0 num * num
  63. 63. 63LR * + num $ E T 1 s4 acc shift 4 4 4 2 1 0 num * num
  64. 64. 64LR * + num $ E T 4 s3 6 4 4 2 1 0 num * num
  65. 65. 65LR * + num $ E T 4 s3 6 shift 3 4 4 2 1 0 num * num
  66. 66. 66LR * + num $ E T 4 s3 6 shift 3 4 4 2 1 0 * num
  67. 67. 67LR * + num $ E T 4 s3 6 shift 3 3 4 4 2 1 0 * num
  68. 68. 68LR * + num $ E T 3 r4 r4 r4 3 4 4 2 1 0 * num
  69. 69. 69LR * + num $ E T 3 r4 r4 r4 reduce 4 3 4 4 2 1 0 * num
  70. 70. 70LR * + num $ E T 3 r4 r4 r4 reduce 4 T → N 3 4 4 2 4 1 0 * num
  71. 71. 71LR * + num $ E T 3 r4 r4 r4 reduce 4 T → N 4 4 2 4 1 0 * num
  72. 72. 72LR * + num $ E T 3 r4 r4 r4 4 s3 6 reduce 4 T → N 4 4 2 4 1 0 * num
  73. 73. 73LR * + num $ E T 3 r4 r4 r4 4 s3 6 reduce 4 T → N go to 6 4 4 2 4 1 0 * num
  74. 74. 74LR * + num $ E T 3 r4 r4 r4 4 s3 6 reduce 4 T → N 6 go to 6 4 4 2 4 1 0 * num
  75. 75. 75LR * + num $ E T 6 s5 r1 r1 6 4 4 2 4 1 0 * num
  76. 76. 76LR * + num $ E T 6 s5 r1 r1 shift 5 6 4 4 2 4 1 0 * num
  77. 77. 77LR * + num $ E T 6 s5 r1 r1 shift 5 6 4 4 2 4 1 0 num
  78. 78. 78LR * + num $ E T 6 s5 r1 r1 5 shift 5 6 4 4 2 4 1 0 num
  79. 79. 79LR * + num $ E T 5 s7 5 6 4 4 2 4 1 0 num
  80. 80. 80LR * + num $ E T 5 s7 5 shift 7 6 4 4 2 4 1 0 num
  81. 81. 81LR * + num $ E T 5 s7 5 shift 7 6 4 4 2 4 1 0
  82. 82. 82LR 7 * + num $ E T 5 s7 5 shift 7 6 4 4 2 4 1 0
  83. 83. 83LR 7 * + num $ E T 7 r3 r3 r3 5 6 4 4 2 4 1 0
  84. 84. 84LR 7 * + num $ E T 7 r3 r3 r3 5 reduce 3 6 4 4 2 4 1 0
  85. 85. 85LR 7 * + num $ E T 7 r3 r3 r3 5 reduce 3 6 4 4 2 4 3 1 0
  86. 86. 86LR 7 * + num $ E T 7 r3 r3 r3 5 reduce 3 6 4 4 2 4 3 1 0 T → T * N
  87. 87. 87LR * + num $ E T 7 r3 r3 r3 reduce 3 4 4 2 4 3 1 0 T → T * N
  88. 88. 88LR * + num $ E T 7 r3 r3 r3 4 s3 6 reduce 3 4 4 2 4 3 1 0 T → T * N
  89. 89. 89LR * + num $ E T 7 r3 r3 r3 4 s3 6 reduce 3 go to 6 4 4 2 4 3 1 0 T → T * N
  90. 90. 90LR * + num $ E T 7 r3 r3 r3 4 s3 6 reduce 3 6 go to 6 4 4 2 4 3 1 0 T → T * N
  91. 91. 91LR * + num $ E T 6 s5 r1 r1 6 4 4 2 4 3 1 0
  92. 92. 92LR * + num $ E T 6 s5 r1 r1 reduce 1 6 4 4 2 4 3 1 0
  93. 93. 93LR * + num $ E T 6 s5 r1 r1 reduce 1 6 4 4 2 4 3 1 1 0
  94. 94. 94LR * + num $ E T 6 s5 r1 r1 reduce 1 6 4 4 2 4 3 1 1 0 E → E + T
  95. 95. 95LR * + num $ E T 6 s5 r1 r1 reduce 1 4 2 4 3 1 0 E → E + T
  96. 96. 96LR * + num $ E T 6 s5 r1 r1 0 s3 1 2 reduce 1 4 2 4 3 1 0 E → E + T
  97. 97. 97LR * + num $ E T 6 s5 r1 r1 0 s3 1 2 reduce 1 go to 1 4 2 4 3 1 0 E → E + T
  98. 98. 98LR * + num $ E T 6 s5 r1 r1 0 s3 1 2 reduce 1 go to 1 4 2 4 3 1 1 0 E → E + T
  99. 99. 99LR * + num $ E T 1 s4 acc 4 2 4 3 1 1 0
  100. 100. 100LR * + num $ E T 1 s4 acc accept ! 4 2 4 3 1 1 0
  101. 101. 101 GOTO 1.  E → E + T2.  E → T3.  T → T * num4.  T → num
  102. 102. 102 GOTO 0. S → E1.  E → E + T2.  E → T3.  T → T * num4.  T → num
  103. 103. 103 GOTO 0. S → E1.  E → E + T LR(0)2.  E → T 3.  T → T * num4.  T → num
  104. 104. 104 GOTO 0. S → E1.  E → E + T LR(0) LR(0)2.  E → T 3.  T → T * num4.  T → num
  105. 105. 105 GOTO 0. S → E1.  E → E + T LR(0) LR(0)2.  E → T 3.  T → T * num4.  T → num GOTO
  106. 106. 106LR(0) E → E + T
  107. 107. 107LR(0) E → E + T 1)  E → E+T 2)  E → E +T 3)  E → E + T 4)  E → E + T
  108. 108. 108LR(0) E → E + T 1)  E → E+T 2)  E → E +T 3)  E → E + T 4)  E → E + T
  109. 109. 109 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T  I0 S  →   E    
  110. 110. 110 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T  I0 S  →   E   E  →   E  +  T   E  →   T    
  111. 111. 111 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T  I0 S  →   E   E  →   E  +  T   E  →   T   T  →   T  *  num   T  →   num
  112. 112. 112 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 S  →   E   E  →   E  +  T   E  →   T   T  →   T  *  num   T  →   num E I1 S  →  E     E  →  E    +  T  
  113. 113. 113 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   T  →   T  *  num   T  →   num E I1 S  →  E     E  →  E    +  T  
  114. 114. 114 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   T  →   T  *  num   T  →   num num I3 E T  →  num       I1 S  →  E     E  →  E    +  T  
  115. 115. 115 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   T  →   T  *  num   T  →   num num I3 E T  →  num       E  →  E  +   T   I1 S  →  E     I4 + E  →  E    +  T  
  116. 116. 116 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   T  →   T  *  num   T  →   num num I3 E T  →  num       E  →  E  +   T   T  →   T  *  num   I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  117. 117. 117 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   T  →   T  *  num   T  →   num num I3 E T  →  num       E  →  E  +   T   num T  →   T  *  num   I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  118. 118. 118 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   I5 * T  →   T  *  num   T  →   num T  →  T  *   num   num I3 E T  →  num       E  →  E  +   T   num T  →   T  *  num   I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  119. 119. 119 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   I5 * T  →   T  *  num   T  →   num T  →  T  *   num   num I6 I3 E  →  E  +  T    E T  →  num       E  →  E  +   T   T  →  T    *  num   num T  →   T  *  num   T I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  120. 120. 120 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   T E  →   T   I5 * T  →   T  *  num   T  →   num T  →  T  *   num   num * I6 I3 E  →  E  +  T    E T  →  num       E  →  E  +   T   T  →  T    *  num   num T  →   T  *  num   T I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  121. 121. 121 0.  S  →  E   3.  T  →  T  *  N   LR(0) 1.  E  →  E  +  T   4.  T  →  N 2.  E  →  T   I0 I2 S  →   E   E  →  T     E  →   E  +  T   T  →  T    *  num   I7 T E  →   T   T  →  T  *  num       I5 * T  →   T  *  num   T  →   num num T  →  T  *   num   num * I6 I3 E  →  E  +  T    E T  →  num       E  →  E  +   T   T  →  T    *  num   num T  →   T  *  num   T I1 T  →   num   S  →  E     I4 + E  →  E    +  T  
  122. 122. 122LR(0) T I0 I2 I7 num * num E I3 I5 num * + T I1 I4 I6
  123. 123. 123LR(0) * + num E T 0 3 1 2 1 4 2 5 3 4 3 6 5 7 6 5 7
  124. 124. 124 GOTO * + num $ E T 0 s3 1 2 1 s4 2 s5 3 4 s3 6 5 s7 6 s5 7
  125. 125. 125 GOTO * + num $ E T 0 s3 1 2 I1 1 s4 S  →  E    2 s5 E  →  E    +  T  3 4 s3 6 5 s7 6 s5 7
  126. 126. 126 GOTO * + num $ E T 0 s3 1 2 I1 1 s4 acc S  →  E    2 s5 E  →  E    +  T  3 4 s3 6 5 s7 6 s5 7
  127. 127. 127 GOTO I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 3 4 s3 6 5 s7 6 s5 7
  128. 128. 128 GOTO 2 I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 3 4 s3 6 5 s7 6 s5 7
  129. 129. 129 GOTO reduce 2 I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 3 4 s3 6 5 s7 6 s5 7
  130. 130. 130 GOTO reduce 2 I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 3 shift 5 4 s3 6 5 s7 6 s5 7
  131. 131. 131 GOTO reduce 2 I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 3 shift 5 4 s3 6 5 s7 shift-reduce6 s5 conflict 7
  132. 132. 132shift-reduce conflict (SLR ) 0.  S  →  E  1.  E  →  E  +  T  2.  E  →  T  3.  T  →  T  *  N  4.  T  →  N
  133. 133. 133shift-reduce conflict (SLR ) 0.  S  →  E  1.  E  →  E  +  T  2.  E  →  T  3.  T  →  T  *  N  4.  T  →  N
  134. 134. 134shift-reduce conflict (SLR ) 0.  S  →  E   E1.  E  →  E  +  T   + $2.  E  →  T  3.  T  →  T  *  N  4.  T  →  N •  + $ reduce •  * shift
  135. 135. 135 GOTO reduce 2 I2 * + num $ E T E  →  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 shift 5 4 s3 6 5 s7 shift reduce6 s5 conflict 7
  136. 136. 136 GOTO I3 * + num $ E T T  →  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 4 s3 6 5 s7 6 s5 7
  137. 137. 137 GOTO reduce 4 I3 * + num $ E T T  →  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 4 s3 6 5 s7 6 s5 7
  138. 138. 138 GOTO reduce 4 I3 * + num $ E T T  →  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 7
  139. 139. 139 GOTO I6 * + num $ E T E  →  E  +  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 7
  140. 140. 140 GOTO reduce 1 I6 * + num $ E T E  →  E  +  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 7
  141. 141. 141 GOTO reduce 1 I6 * + num $ E T E  →  E  +  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 shift 5 4 s3 6 5 s7 6 s5 7
  142. 142. 142 GOTO reduce 1 I6 * + num $ E T E  →  E  +  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 shift 5 4 s3 6 5 s7 6 s5 E7 + $
  143. 143. 143 GOTO reduce 1 I6 * + num $ E T E  →  E  +  T    0 s3 1 2 T  →  T    *  num  1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 shift 5 4 s3 6 5 s7 6 s5 r1 r1 E7 + $
  144. 144. 144 GOTO I7 * + num $ E T T  →  T  *  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 r1 r1 7
  145. 145. 145 GOTO reduce 3 I7 * + num $ E T T  →  T  *  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 r1 r1 7
  146. 146. 146 GOTO reduce 3 I7 * + num $ E T T  →  T  *  num      0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 r1 r1 7 r3 r3 r3
  147. 147. 147 GOTO * + num $ E T 0 s3 1 2 1 s4 acc 2 s5 r2 r2 3 r4 r4 r4 4 s3 6 5 s7 6 s5 r1 r1 7 r3 r3 r3
  148. 148. 148 O(n) LR(0) O(n) LR(0) SLR(1) O(n) SLR(1) LALR(1) O(n) LALR(1) LR(1) O(n) LR(1) GLR O(n3) SDF O(n)
  149. 149. 149 LR(1) LALR(1) SLR(1) LR(0)
  150. 150. 150 expr 2 + 3 * 4
  151. 151. 151 expr expr num + 2 + 3 * 4
  152. 152. 152 expr expr num + num * num 2 + 3 * 4
  153. 153. 153 •  ( )•  Backtrack parsing•  Packrat parsing
  154. 154. 154 E 1.  E    →  T  E’  2.  E’  →  +  E  |  ε  3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  155. 155. 155 E 1.  E    →  T  E’   LL(1) 2.  E’  →  +  E  |  ε  3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  156. 156. 156 E 1.  E    →  T  E’  2.  E’  →  +  E  |  ε  3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  157. 157. 157 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε  3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  158. 158. 158 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε  3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  159. 159. 159 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  160. 160. 160 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  161. 161. 161 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  162. 162. 162 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε num + num * num
  163. 163. 163 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε 1 + num + num * num
  164. 164. 164 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  165. 165. 165 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  166. 166. 166 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  167. 167. 167 E E’ 1.  E    →  T  E’   T 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε 1 + num + num * num
  168. 168. 168 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  169. 169. 169 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  170. 170. 170 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  171. 171. 171 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  172. 172. 172 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  173. 173. 173 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’  4.  T’  →  *  T  |  ε ε num + num * num
  174. 174. 174 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε num + num * num
  175. 175. 175 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε num + num * num
  176. 176. 176 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε num + num * num
  177. 177. 177 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε num + num * num
  178. 178. 178 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε 1 * num + num * num
  179. 179. 179 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num + num * num
  180. 180. 180 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num + num * num
  181. 181. 181 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num + num * num
  182. 182. 182 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num + num * num
  183. 183. 183 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num T’ num + num * num
  184. 184. 184 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num T’ num + num * num
  185. 185. 185 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num T’ num + num * num
  186. 186. 186 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε * T num T’ num + num * num
  187. 187. 187 E E’ 1.  E    →  T  E’   T + E 2.  E’  →  +  E  |  ε   num T’ T E’ 3.  T    →  num  T’   num T’ 4.  T’  →  *  T  |  ε ε 1 * T num T’ num + num * num

×