дневник перевода компилятора Компонентного Паскаля на русский язык

Работы по ББЦБ (BlackBoxComponentBuilder) навсегда прекращены, т.к. A2OS - более интересный для наших задач вариант Оберон-подобной среды. В этом форуме хранятся темы про ББЦБ - пригодятся.
БудДен
Сообщения: 942
Зарегистрирован: 07.10.18 14:01

дневник перевода компилятора Компонентного Паскаля на русский язык

Сообщение БудДен » 04.11.18 19:15

#blackboxcomponentbuilder #оберон

Проекет перевода компилятора, компоновщика и среды времени выполнения Оберона КП на русский язык. Речь идёт не столько о включении поддержки в компилятор русского языка (она там уже есть), а о переводе самих исходных текстов (идентификаторов и комментариев) на русский язык. Например, функция называлась «Import», а будет называться «Импортируй». При этом некоторые «таинственные» названия превращаются в более понятные, например «qualident» превращается в «РазбериИдентификаторВтчСКвалификатором». Конечная цель здесь - чтобы у России появился свой учебный компилятор-компоновщик-среда времени выполнения хорошего языка программирования, для учебных и промышленных целей. Причём такой, который будет на русском языке, постижим силами одного учащегося и понятен сверху донизу без необходимости в реверс-инжиниринге. На сегодня такого инструмента в России нет (или я о нём ничего не знаю).

Репозиторий:

https://gitlab.com/budden/oberonja

https://forum.oberoncore.ru/viewtopic.php?f=28&t=6287

По состоянию на 4 ноября (с праздником, кстати), все пр-ры модуля Парсер названы по-русски, причём я почти уверен в правильности всех названий.
Сейчас занимаюсь волшебными константами и типами. Их пока не переименовываю, а только лишь комментирую.
Последний раз редактировалось БудДен 15.01.19 18:08, всего редактировалось 5 раз.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 04.11.18 23:11

Нашлись два файла, завязанные на интерфейсы компилятора - DevAnalyzer и DevBrowser. Они несколько отстали от модификаций - будем чинить. Также выяснилось, что я зря не указал старые имена модулей при переименовании. Частично поправил. Разобрался почти со всеми "object modes", хотя точный смысл термина пока неясен.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 05.11.18 15:59

Обработал DevAnalyzer = НяАнализатор. Правда, диалог настроек не выжил, но в ББЦБ можно такой диалог сгенерировать. Анализатор - это подобие Lint, и он забавен.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 15.11.18 20:47

В связи с ухудшением материального положения работы будут заморожены, как только МихалНик доделает то, что делает сейчас. Ищутся спонсоры. Я думаю, что общая стоимость проекта - порядка 100 тыр.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 27.11.18 21:15

На самом деле потихоньку ползём, и есть качественные изменения - перешёл полностью на текстовые форматы в сборке нкп и вернул документацию.
Сегодня переименовал ещё 2-3 функции.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 18.12.18 20:35

После 14-дневного перерыва сегодня сделал новую запись в репозиторий. Запись мелкая. Но главное - поступательное движение вперёд восстановлено. Теперь всё остальное будет во вдвойне фоновом режиме. И я здесь не написал, что ещё до перерыва сделал прототип полиморфизма, охватывающего не только записи, а и вообще любые типы. До окончательного результата далеко, но сделано главное - удалось (при помощи русификации) достаточно разобраться в компиляторе, чтобы это стало возможным. Результат примерно описан здесь:

https://zx.oberon2.ru/forum/viewtopic.p ... t=10#p3245

Теперь дальнейшее - дело техники.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 21.12.18 12:01

Ползти в направлении цели - переделал becomes на симв_присвой. Сломалась сборка, больше времени затратил на починку, чем на что-то полезное. Сборка очень хрупкая. Вчера ещё на ночь почитал про Аду и подумал - а нафиг нужен этот Оберон? Правда, я так понимаю с Адой свои тараканы в голове. Но часть того, что я хотел бы (например, арены) в Аде уже есть. И ОС на ней тоже делали.

Люди характеризуют Оберон как систему для "ограниченных ресурсов" - это правда, судя по тем кодам, которые я видел. Т.е. в качестве учебной системы она не очень подходит. Учебный код должен быть ясным, а код блекбокса оптимизирован в направлении компактности и местами - в направлении эффективности. Зачастую даже за счёт безопасности.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 21.12.18 13:59

Пока пил чай, переименовал {}()[] - и вот готов ещё один коммит.
Обязательно надо сделать отдельный режим VS Code для КП - потому что паскалевский режим всё время обновляется и затирает мои изменения, сделанные грязными руками.

MihalNik
Сообщения: 99
Зарегистрирован: 05.11.18 11:02

Re: дневник русификации компилятора компонентного Паскаля

Сообщение MihalNik » 21.12.18 15:03

БудДен писал(а):
21.12.18 12:01
Люди характеризуют Оберон как систему для "ограниченных ресурсов" - это правда, судя по тем кодам, которые я видел. Т.е. в качестве учебной системы она не очень подходит. Учебный код должен быть ясным, а код блекбокса оптимизирован в направлении компактности и местами - в направлении эффективности. Зачастую даже за счёт безопасности.
Но может взять более простую реализацию?
Оптимизиция должна, конечно, идти как-то отдельно, но она все-таки входит в студенческий уровень.

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

Re: дневник русификации компилятора компонентного Паскаля

Сообщение БудДен » 21.12.18 17:02

Я взял ББ по той причине, что там уже есть какая-никакая среда. Люди раскручивают компилятор по спирали с нуля, а я тоже по спирали, но уже с большой высоты. Честно сказать, я очень не в восторге от многого в ББ. Но есть минимум, от которого нельзя отказаться: среда должна быть полной, т.е. должен быть динамический линкер и своя генерация в маш.код, а не генерация кодов для стороннего ассемблера. Если есть что-то проще ББ, обладающее теми же свойствами? Глагол не подходит, уже проверено. И плюс я не люблю GPL.

Закрыто