Страница 1 из 1

frontend и backend компилятора

Добавлено: 22.07.20 21:44
БудДен
Назвать как их?

Re: frontend и backend компилятора

Добавлено: 23.07.20 03:04
Лис [Вежливый]
Парсинг и кодогенерация (парсер и кодогенератор)
Анализ и синтез (анализатор и синтезатор)
Словозабор и кодоуклад (словозаборник и кодоукладчик)

Re: frontend и backend компилятора

Добавлено: 23.07.20 05:57
Павиа
Передник и задник будем называть тексторез и кодоукладчик.

Re: frontend и backend компилятора

Добавлено: 23.07.20 13:05
БудДен
Фронтенд строит дерево разбора и, возможно, даже связывает его, а не просто слова разбирает. Также он проводит проверку правильности.

Вы слишком революционны для меня. Я бы хотел быть более-менее понятным.

Как насчёт "фасада" для фронтенда?

Про кодогенератор вроде норм, единственное, я не точно знаю полный набор его функций.

Re: frontend и backend компилятора

Добавлено: 23.07.20 18:33
Лис [Вежливый]
> Как насчёт "фасада" для фронтенда?

А зачем? Как насчёт фронтенда для frontend-а ?

Re: frontend и backend компилятора

Добавлено: 23.07.20 22:10
БудДен
Тоже сойдёт, но вдруг есть что получше?

Re: frontend и backend компилятора

Добавлено: 23.07.20 23:39
Лис [Вежливый]
строит дерево разбора и, возможно, даже связывает его
Я смело выделю это в отдельный этап и назову его "переваривание" (Digestion - https://ru.qwe.wiki/wiki/Digestion).
Изображение

словозаборник -> перевариватель -> кодоукладчик

Слышал, программисты так и говорят: "кишки́ компилятора".

могло бы быть
ухо -> мозг -> горло
но программисты не говорят "мозги компилятора", и продукт компиляции не попадает с выхода на вход этого же компилятора.

Если бы информация об авторах исходного текста в бинарном коде не терялась, а исходный код можно было бы целиком восстановить по метаинформации из бинарного, то тогда это не был бы процесс переваривания, а надо было бы искать более симметричную аналогию.

У Мельчука, например, это "Смысл <-> Текст", стрелочки в обе стороны.

Re: frontend и backend компилятора

Добавлено: 24.07.20 06:28
Павиа
Как насчёт "фасада" для фронтенда?
Точно нет. Перевод вещ сложная, дословно переводить нет смысла. А использовать, то чему есть устоявшеся норма. Вас не поймут.
Тут баланс нужен. Лучше всё же закладывать смысл, а не просто не пойми что.
Фасад -это штукотурка отделка. У компилятора её нет у сайта ещё с натяжкой.

Re: frontend и backend компилятора

Добавлено: 30.07.20 08:06
440440
Парсер и кодогенератор. Парсер осуществляет разбор исходного кода - лексический (на уровне грамматики) и синтаксический (на уровне семантики).
Фасад - есть такой шаблон проектирования. В целом конечно фасад немного не то, по смыслу. Скорее именно генератор.

Фасад есть у компилятора, он используется кодогенератором.

Re: frontend и backend компилятора

Добавлено: 30.07.20 21:45
БудДен
Я уже писал выше, что я не очень точно знаю, где границы фронтенда и бекенда. Можно посмотреть их в Compiler.Mod