24 <класс>:= 25 class 26 идентификатор 27 <наследование> 28 {29 <операторы> 30} 31;
32<наследование>:= 34: 35 идентификатор
33<наследование>:= 36е
37<продолжение1>:= 40 -> 41 идентификатор 42 <продолжение2> 43;
38<продолжение1>:= 44 <продолжение2> 45;
39<продолжение1>:= 46;
47 <продолжение2>:= 49 (50)
48 <продолжение2>:= 80 е
51 <декларация>:= 52 <тип> 53 <ссылка> 54 идентификатор 55 <продолжение3>
56<продолжение3>:= 58 (59) 60 (61 <операторы> 62 return 63 литерал 64; 81)
57<продолжение3>:= 65<продолжение4>
66 <продолжение4>:= 68, 69 идентификатор 70 <продолжение4>
67 <продолжение4>:= 71;
72 <тип>:= 76 int
73 <тип>:= 77 float
74 <тип>:= 78 char
75 <тип>:= 79 идентификатор
82<ссылка>:= 84 *
83<ссылка>:= 85 e
С#
<предпроцессор>={using | namespace}
<операторы>={class | идентификатор |} | int | float | char}
<наследование>={: | {}
<продолжение1>={. | (|;)
<продолжение2>={(|;)
<продолжение3>={(|, |;)
<продолжение4>={, |;}
<тип >={int | float | char | идентификатор}
Грамматика java
<предпроцессор>={using | class | идентификатор | int | float | char}
<операторы>={class | идентификатор | int | float | char}
<наследование>={: | {}
<продолжение1>={-> | (|;)
<продолжение2>={(|;)
<продолжение3>={(|, |;)
<продолжение4>={, |;}
<тип >={int | float | char | идентификатор}
<ссылка>={* | идентификатор}
Таблицы разбора
№ | Ожидаемый терминал | Переход | Принять | В стек | Из стека | Ошибка |
1. | ~ | 2 | - | - | - | - |
2. | ~ | 7 | - | - | - | - |
3. | namespace | 4 | + | - | - | + |
4. | { | 5 | + | - | - | + |
5. | ~ | 12 | - | + | - | - |
6. | } | 0 | + | - | + | + |
7. | using | 9 | - | - | - | - |
8. | ~ | 11 | - | - | - | - |
9. | using | 10 | + | - | - | + |
10. | ~ | 7 | - | - | - | - |
11. | ~ | 3 | - | - | - | - |
12. | class | 16 | - | - | - | - |
13. | идентификатор | 18 | - | - | - | - |
14. | } | 21 | - | - | - | - |
15. | ~ | 22 | - | - | - | - |
16. | ~ | 24 | - | + | - | - |
17. | ~ | 12 | - | - | - | - |
18. | идентификатор | 19 | + | - | - | + |
19. | ~ | 37 | - | + | - | - |
20. | ~ | 12 | - | - | - | - |
21. | ~ | 0 | - | - | + | - |
22. | ~ | 51 | - | + | - | - |
23 | ~ | 12 | - | - | - | - |
24 | ~ | 25 | - | - | - | - |
25 | class | 26 | + | - | - | + |
26 | идентификатор | 27 | + | - | - | + |
27 | ~ | 32 | - | + | - | - |
28 | { | 29 | + | - | - | + |
29 | ~ | 12 | - | + | - | - |
30 | ) | 31 | + | - | - | + |
31 | ; | 0 | + | - | + | + |
32 | : | 34 | - | - | - | - |
33 | ~ | 36 | - | - | - | - |
34 | : | 35 | + | - | - | + |
35 | идентификатор | 0 | + | - | + | + |
36 | ~ | 0 | - | - | + | - |
37 | . | 40 | - | - | - | - |
38 | ( | 44 | - | - | - | - |
39 | ; | 46 | - | - | - | + |
40 | . | 41 | + | - | - | + |
41 | идентификатор | 42 | + | - | - | + |
42 | ~ | 47 | - | + | - | - |
43 | ; | 0 | + | - | + | + |
44 | ~ | 47 | - | + | - | - |
45 | ; | 0 | + | - | + | + |
46 | ; | 0 | + | - | + | + |
47 | ( | 49 | - | - | - | - |
48 | ~ | 80 | - | - | - | - |
49 | ( | 50 | + | - | - | + |
50 | ) | 0 | + | - | + | + |
51 | ~ | 52 | - | - | - | - |
52 | ~ | 72 | - | + | - | - |
53 | идентификатор | 55 | + | - | - | + |
54 | ||||||
55 | ~ | 56 | - | - | - | - |
56 | ( | 58 | - | - | - | - |
57 | ~ | 65 | - | - | - | - |
58 | ( | 59 | + | - | - | + |
59 | ) | 60 | + | - | - | + |
60 | { | 61 | + | - | - | + |
61 | ~ | 12 | - | + | - | - |
62 | return | 63 | + | - | - | + |
63 | литерал | 64 | + | - | - | + |
64 | ; | 81 | + | - | - | + |
65 | ~ | 66 | - | - | - | - |
66 | , | 68 | - | - | - | - |
67 | ; | 71 | - | - | - | + |
68 | , | 69 | + | - | - | + |
69 | идентификатор | 70 | + | - | - | + |
70 | ~ | 66 | - | - | - | - |
71 | ; | 0 | + | - | + | + |
72 | int | 76 | - | - | - | - |
73 | float | 77 | - | - | - | - |
74 | char | 78 | - | - | - | - |
75 | идентификатор | 79 | - | - | - | + |
76 | int | 0 | + | - | + | + |
77 | float | 0 | + | - | + | + |
78 | char | 0 | + | - | + | + |
79 | идентификатор | 0 | + | - | + | + |
80 | ~ | 0 | - | - | + | - |
81 | } | 0 | + | - | + | + |
№ | Ожидаемый терминал | Переход | Принять | В стек | Из стека | Ошибка |
1. | ~ | 2 | - | - | - | - |
2. | ~ | 7 | - | - | - | - |
3. | ~ | 12 | - | - | - | - |
7. | using | 9 | - | - | - | - |
8. | ~ | 11 | - | - | - | - |
9. | using | 10 | + | - | - | + |
10. | ~ | 7 | - | - | - | - |
11. | ~ | 3 | - | - | - | - |
12. | class | 16 | - | - | - | - |
13. | идентификатор | 18 | - | - | - | - |
14. | } | 21 | - | - | - | - |
15. | ~ | 22 | - | - | - | - |
16. | ~ | 24 | - | + | - | - |
17. | ~ | 12 | - | - | - | - |
18. | идентификатор | 19 | + | - | - | + |
19. | ~ | 37 | - | + | - | - |
20. | ~ | 12 | - | - | - | - |
21. | ~ | 0 | - | - | + | - |
22. | ~ | 51 | - | + | - | - |
23 | ~ | 12 | - | - | - | - |
24 | ~ | 25 | - | - | - | - |
25 | class | 26 | + | - | - | + |
26 | идентификатор | 27 | + | - | - | + |
27 | ~ | 32 | - | + | - | - |
28 | { | 29 | + | - | - | + |
29 | ~ | 12 | - | + | - | - |
30 | ) | 31 | + | - | - | + |
31 | ; | 0 | + | - | + | + |
32 | : | 34 | - | - | - | - |
33 | ~ | 36 | - | - | - | - |
34 | : | 35 | + | - | - | + |
35 | идентификатор | 0 | + | - | + | + |
36 | ~ | 0 | - | - | + | - |
37 | -> | 40 | - | - | - | - |
38 | ( | 44 | - | - | - | - |
39 | ; | 46 | - | - | - | + |
40 | -> | 41 | + | - | - | + |
41 | идентификатор | 42 | + | - | - | + |
42 | ~ | 47 | - | + | - | - |
43 | ; | 0 | + | - | + | + |
44 | ~ | 47 | - | + | - | - |
45 | ; | 0 | + | - | + | + |
46 | ; | 0 | + | - | + | + |
47 | ( | 49 | - | - | - | - |
48 | ~ | 80 | - | - | - | - |
49 | ( | 50 | + | - | - | + |
50 | ) | 0 | + | - | + | + |
51 | ~ | 52 | - | - | - | - |
52 | ~ | 72 | - | + | - | - |
53 | ~ | 82 | - | - | + | - |
54 | идентификатор | 55 | + | - | - | + |
55 | ~ | 56 | - | - | - | - |
56 | ( | 58 | - | - | - | - |
57 | ~ | 65 | - | - | - | - |
58 | ( | 59 | + | - | - | + |
59 | ) | 60 | + | - | - | + |
60 | { | 61 | + | - | - | + |
61 | ~ | 12 | - | + | - | - |
62 | return | 63 | + | - | - | + |
63 | литерал | 64 | + | - | - | + |
64 | ; | 81 | + | - | - | + |
65 | ~ | 66 | - | - | - | - |
66 | , | 68 | - | - | - | - |
67 | ; | 71 | - | - | - | + |
68 | , | 69 | + | - | - | + |
69 | идентификатор | 70 | + | - | - | + |
70 | ~ | 66 | - | - | - | - |
71 | ; | 0 | + | - | + | + |
72 | int | 76 | - | - | - | - |
73 | float | 77 | - | - | - | - |
74 | char | 78 | - | - | - | - |
75 | идентификатор | 79 | - | - | - | + |
76 | int | 0 | + | - | + | + |
77 | float | 0 | + | - | + | + |
78 | char | 0 | + | - | + | + |
79 | идентификатор | 0 | + | - | + | + |
80 | ~ | 0 | - | - | + | - |
81 | } | 0 | + | - | + | + |
82 | * | 84 | - | - | - | - |
83 | ~ | 85 | - | - | - | - |
84 | * | 0 | + | - | + | + |
85 | ~ | 0 | - | - | + | - |
Диаграмма классов