Commit 2dd75df
committed
Ядро FTS на flang: все четыре слоя связались в одну программу
Вычислитель объявлял типы контракта у себя, и связывание давало десять
конфликтов FLANG_DUPLICATE_NAME — слои по отдельности работали, а вместе не
собирались. Теперь он берёт «Скаляр», «Операнд», «Условие», «Правило» и
остальные из слоя печати, как это уже делал парсер.
Ещё один конфликт был содержательным: «Итог примера» в парсере — это
разобранный пример со списком ошибок, а в вычислителе — результат сверки
примера с ожиданием. Одно имя на два разных понятия; в парсере переименовано
в «Разбор примера» по образцу соседних «Итог утилиты» и «Итог структуры».
Тесты вычислителя разделены: форма модуля проверяется по разбору своего файла,
вычисления — по связанной программе. Смешивать их нельзя, иначе требование
«функция без примера обязана иметь сумму типов в сигнатуре» распространилось бы
на чужой слой, у которого своё правило и свой тест.
Итог: `использует «Парсер FTS»` + `использует «Вычислитель утилит»` даёт
217 функций и 66 типов, все функции тотальные, ноль диагностик. Это полное
ядро FTS, написанное на самом flang.
Проверено: 1051 тест flang, 0 падений.1 parent a018496 commit 2dd75df
3 files changed
Lines changed: 38 additions & 65 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
76 | 45 | | |
77 | 46 | | |
78 | 47 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 48 | + | |
| 49 | + | |
96 | 50 | | |
97 | 51 | | |
98 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| |||
1053 | 1053 | | |
1054 | 1054 | | |
1055 | 1055 | | |
1056 | | - | |
| 1056 | + | |
1057 | 1057 | | |
1058 | 1058 | | |
1059 | 1059 | | |
1060 | | - | |
| 1060 | + | |
1061 | 1061 | | |
1062 | 1062 | | |
1063 | 1063 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
38 | 46 | | |
39 | 47 | | |
40 | 48 | | |
| |||
122 | 130 | | |
123 | 131 | | |
124 | 132 | | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
129 | 137 | | |
130 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
131 | 147 | | |
132 | 148 | | |
133 | 149 | | |
| |||
165 | 181 | | |
166 | 182 | | |
167 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
168 | 187 | | |
169 | | - | |
| 188 | + | |
170 | 189 | | |
171 | 190 | | |
172 | 191 | | |
| |||
0 commit comments