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

Переводим термины и придумываем новые
Ответить
БудДен
Сообщения: 882
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 22.07.20 21:44

Назвать как их?

Аватара пользователя
Лис [Вежливый]
Сообщения: 272
Зарегистрирован: 08.10.18 13:32

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

Сообщение Лис [Вежливый] » 23.07.20 03:04

Парсинг и кодогенерация (парсер и кодогенератор)
Анализ и синтез (анализатор и синтезатор)
Словозабор и кодоуклад (словозаборник и кодоукладчик)

Павиа
Сообщения: 66
Зарегистрирован: 23.05.19 21:28

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

Сообщение Павиа » 23.07.20 05:57

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

БудДен
Сообщения: 882
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 23.07.20 13:05

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

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

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

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

Аватара пользователя
Лис [Вежливый]
Сообщения: 272
Зарегистрирован: 08.10.18 13:32

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

Сообщение Лис [Вежливый] » 23.07.20 18:33

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

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

БудДен
Сообщения: 882
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 23.07.20 22:10

Тоже сойдёт, но вдруг есть что получше?

Аватара пользователя
Лис [Вежливый]
Сообщения: 272
Зарегистрирован: 08.10.18 13:32

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

Сообщение Лис [Вежливый] » 23.07.20 23:39

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

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

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

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

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

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

Павиа
Сообщения: 66
Зарегистрирован: 23.05.19 21:28

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

Сообщение Павиа » 24.07.20 06:28

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

440440
Сообщения: 13
Зарегистрирован: 20.12.19 22:35

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

Сообщение 440440 » 30.07.20 08:06

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

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

БудДен
Сообщения: 882
Зарегистрирован: 07.10.18 14:01

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

Сообщение БудДен » 30.07.20 21:45

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

Ответить