дневник Яос

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.01.21 20:16

Настали суровые трудовые будни, темп снизился. Вроде реализовал опции в кириллице, частично их внедрил (теперь возможно два имени опции, не считая однобуквенного), но явно, что там есть баги, причём неприятные - не работает переход к месту ошибки. Индекс кирилличности 17.12% (резкое замедление)

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

Re: дневник Яос

Сообщение БудДен » 23.01.21 23:39

Часть времени на неделе и всю субботу убил на ошибку в потоках. Но зато теперь заработали опции на русском языке (но это неточно). Индекс кирилличности 17.13%

P.S. перевёл описание файла конфигураций, и стало 17.15%. В прошлое воскресенье было 17.08%, значит, план на неделю (пере)выполнен.

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

Re: дневник Яос

Сообщение БудДен » 26.01.21 22:53

Будни всё суровее и суровее. Начал переводить опции компилятора - 17.17%

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

Re: дневник Яос

Сообщение БудДен » 29.01.21 22:39

Перед уходом с работы успеваю написать, что индекс кирилличности - 17.21%, в начале месяца было 16.71%, итого примерно полпроцента за месяц. Но это был месяц с длинными каникулами...

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

Re: дневник Яос

Сообщение БудДен » 30.01.21 15:46

Ещё попереводил в поезде, сегодня пересобрал - получилось аж 17.24%. На этом завершаем работу января (план перевыполнен в несколько раз) и начинаем подводить итоги.

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

Re: дневник Яос

Сообщение БудДен » 30.01.21 18:37

Для завершения месяца понадобилось перенести перевод из лисокомпилятора в фоксокомпилятор - и стало 17.32% . Усилия, вложенные в перевод компилятора, удваиваются, т.к. есть две очень близких копии компилятора.

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

Re: дневник Яос

Сообщение БудДен » 03.02.21 00:21

Занимаюсь поиском затенений одноимённых символов. Есть частичный успех (при затенении выдаётся предупреждение, хотя почему-то не одно, а два). Индекс кирилличности не изменился.

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

Re: дневник Яос

Сообщение БудДен » 04.02.21 00:18

Начал думать над рефакторингом, который чинит затенения, но тут оказалось, что "переименуй идентификатор" должен
менять и файл переводов, в итоге день закончился на
выделении списка имён файлов в объект (а он был написано по-сишному - список отдельно, длина отдельно, в двух переменных), а цель - всего лишь получить список файлов по маске.
Индекс кирилличности 17.33%, хотя это сейчас вообще не цель. Просто уже выработалась привычка что-то по ходу дела переводить.

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

Re: дневник Яос

Сообщение БудДен » 07.02.21 01:18

Пережил атаку зомби на ЛОРе. Исправил хорошую ошибку в модуле отладочной печати, из-за которой ОС молча падала (ошибочный размер в Heaps.Mod). Занимаюсь разбиением единого файла ПереводыЭлементовКода.XML на помодульные - похоже, что почти готово. После этого нужно будет пробовать сделать рефакторинг "переименуй идентификатор".

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

Re: дневник Яос

Сообщение БудДен » 13.02.21 12:54

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

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

Re: дневник Яос

Сообщение БудДен » 14.02.21 14:33

Переименование идентификаторов вроде заработало. Теперь нужно научиться автоматически переименовывать затеняющие. Придумал простой способ, чтобы сделать за один проход: добавлять приставку лNNN, где NNN - уникальный в рамках данного файла номер. Так каждый файл будет обрабатываться за один проход, хотя много файлов могут потребовать много проходов. Можно попробовать делать номер уникальным в рамках всей сборки, но это может оказаться сложно/невозможно.

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

Re: дневник Яос

Сообщение БудДен » 14.02.21 23:31

Сделал переименование затеняющих идентификаторов для одного файла. К сожалению, даже в компиляторе затенения встречаются где-то в 5-6 файлах. Вероятно, стоило бы сделать внешний цикл, который будет убирать затенения сразу для многих файлов. Хотя можно и потерпеть и делать по одному "вручную".

Теперь остаток февраля буду заниматься улучшением инструментов. Наиболее назревшая вещь - расширение функционала "перехода к определению".

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

Re: дневник Яос

Сообщение БудДен » 18.02.21 22:43

Теперь Alt-F7 умеет переходить к файлу, процедуре, смещению в процедуре и смещению в файле.
Есть недоделки - не умеет переходить к процедуре по переведённому имени (ну и ладно).

Зато понял, что рефакторинг "переименуй идентификатор" недоделан - он не меняет словарь переводов. Просто забыл,
что надо это сделать, в итоге словарь для одного модуля разломан. Или не для одного.

Тягомотина ещё на несколько дней, а то и на пару недель, учитывая, что времени почти не остаётся на Яос сейчас.

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

Re: дневник Яос

Сообщение БудДен » 22.02.21 23:18

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

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

Re: дневник Яос

Сообщение БудДен » 23.02.21 23:58

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

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

Re: дневник Яос

Сообщение БудДен » 24.02.21 23:18

Вроде доделал перепорождение словаря с учётом переименований. Осталось сделать, чтобы в изначальном словаре
не выводились комментарии, поскольку они теряются при перепорождении с учётом переименований и получается большой и некрасивый diff.

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

Re: дневник Яос

Сообщение Павиа » 25.02.21 09:45

Комментарии тоже надо переводить.

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

Re: дневник Яос

Сообщение БудДен » 25.02.21 17:18

Здесь речь идёт не о переводе комментариев в исходниках, а лишь о комментариях в самом словаре переводов, которые порождались и показывали, например, где процедура, а где - ообъект. Они удобны, но необходимости в них нет. Комментарии в исходных текстах никуда не теряются. Конечно, их тоже надо переводить, но движок перевода их не трогает - их можно переводить только вручную.

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

Re: дневник Яос

Сообщение БудДен » 27.02.21 01:54

Запустилась zybo, но не A2, а Linux. См. соотв. тему.

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

Re: дневник Яос

Сообщение БудДен » 28.02.21 23:58

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

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

Re: дневник Яос

Сообщение БудДен » 03.03.21 20:43

Запустилась A2 на Zybo Z7-10. Тема:

http://вече.программирование-по-русски. ... ?f=5&t=389

Наиболее подробное описание результата:

https://forum.oberoncore.ru/viewtopic.p ... 60#p113960

Нужно теперь полностью зафиксировать процесс запуска A2, чтобы он не забылся. Тогда февраль можно будет считать почти успешно завершённым. Но факт состоит в том, что теперь я могу запустить A2 на ARM и к тому же там есть реализация видеокарты на ПЛИС, о которой некоторое время назад кто-то мечтал. Кроме того, в A2 есть какие-то инструменты для программирования на ПЛИС, но я в них пока не планирую разобраться. Моя задача - перенести успех на ЯОС и настроить запуск тестов, но это задача не февраля, не марта, не апреля, а аж июня.

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

Re: дневник Яос

Сообщение БудДен » 06.03.21 01:32

Занимаюсь растенением затеняющих идентификаторов в компиляторе. Возни довольно много. Индекс кирилличности 0.1747% . На условное начало месяца было 0.1748%, ретроградное движение... Странно это...

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

Re: дневник Яос

Сообщение БудДен » 06.03.21 22:34

Опять растенение, коэффициент кирилличности даже нет смысла мерять сегодня.

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

Re: дневник Яос

Сообщение БудДен » 07.03.21 23:15

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

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

Re: дневник Яос

Сообщение БудДен » 08.03.21 23:21

Похоже, что с растенением модулей, зависящих от компилятора, покончено. Хотя надо ещё раз проверить. При этом пришлось править диагностику - иногда она выдавала неточные результаты. После исправления обнаружился новый вариант проблемы затенения, который автоматически нерешается. Правда, он весьма редок. Немного пополнил документацию, но индекс кирилличности не изменился.

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

Re: дневник Яос

Сообщение БудДен » 10.03.21 00:22

Сел под вечер ,думаю, сейчас быстро набросаю таблицу всех переводов, чтобы заполнять её при формировании словаря под новый модуль. Оберон, конечно, не лисп. На лиспе сделал бы за 15 минут, а тут все 2 часа ушли. В итоге получилось вот это:

http://вече.программирование-по-русски. ... =395#p2581

Ну и код получился довольно игривый:

Код: Выделить всё

	проц Заполни();
	перем член1 : ПЭК.ИменованнаяОбластьВидимости;
	тело
		нов(таблица_прецедентов,1000);
		член1 := ПЭК.модули;
		цикл
			если член1 = НУЛЬ то прерви_цикл кн;
			просей_тип член1:
			| ПЭК.Перевод делай
				ЗаполниВнутр(член1) кн;
			член1 := член1.следующий кн кн Заполни;

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

Re: дневник Яос

Сообщение БудДен » 10.03.21 00:27

В принципе это не планировалось, но ведь всё равно придётся точно так же руками выискивать прецеденты того, как я переводил такое-то имя в прошлый раз. Логичнее сразу эти прецеденты заполнять при создании заготовки словаря переводов для нового модуля, чем делать эту работу руками. Я хотел отложить это до следующего цикла улучшения инструментов, но очень уж туго вспоминать. В связи с этим собственно перевод и сегодня существенно не продвинулся. "Лучше весь день промучаться, зато потом за 5 минут долететь" - порочная логика всех таких случаев.

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

Re: дневник Яос

Сообщение БудДен » 10.03.21 14:01

Проект ЯОС приостанавливается на неопределённый срок ввиду открывшихся перспектив на рынке труда. Переходим на проект словаря. Теперь он будет на Clojure. Начинаем с https://github.com/taylorlapeyre/clojure-web-app

Чтобы не забыть - остановился на том, что начал делать вставку "прецедентов" в генератор словаря. Т.е. при создании словаря для нового модуля нужно сначала поискать, как это слово переводилось, и вставить эти варианты как-то так: en="blabla" ru="?блабла,бла-бла,болтовня"

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

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

Re: дневник Яос

Сообщение БудДен » 13.03.21 16:14

Восторги по clojure поутихли, буду всё же потихоньку пилить ЯОС, хотя основные силы пойдут на веб-версию словаря, буду доделывать то, что уже есть на go. Переводить на другой язык недоделанное приложение - не очень хорошая затея.

Внедрил вставку прецедентов в заготовку словаря, впечатления пока не очень. Неизвестно, чего больше, пользы или вреда.

https://gitlab.com/budden/ja-o-s/-/comm ... f0cf295c98

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

Re: дневник Яос

Сообщение БудДен » 10.04.21 00:15

Перерыв почти в месяц... Однако урвал сегодня буквально считанные минуты, чтобы добавить несколько переводов. Индекс кирилличности пока не посчитать, т.к. не запускал перевод (он на заготовке не запустится).

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

Re: дневник Яос

Сообщение БудДен » 16.04.21 21:48

Как-то теплится процесс, определился с переводом нескольких терминов в LisSyntaxTree (это один из ключевых модулей компилятора и термины
весьма фундаментальные).

https://gitlab.com/budden/ja-o-s/-/comm ... df516fe9ab

> LisSyntaxTree. Visitor - посетитель, Import - ИспользованиеМодуля, Statement - Предписание, StatementSequence - ЦепочкаПредписаний

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

Re: дневник Яос

Сообщение БудДен » 17.04.21 23:49

Ещё немного попереводил. Чудные названия конечно получаются, например "ПредписаниеЕсли", "ПредписаниеВвестиВывестиЧерезПорт", "ПредписаниеПрисвоитьЗначение" (последнее - это := ).

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 00:55

БудДен писал(а):
17.04.21 23:49
"ПредписаниеПрисвоитьЗначение" (последнее - это := ).
Звучит естественно.
БудДен писал(а):
17.04.21 23:49
"ПредписаниеВвестиВывестиЧерезПорт".
Видимо, ВвестиИлиВывести.
БудДен писал(а):
17.04.21 23:49
"ПредписаниеЕсли"
Выбивается из ряда.
употребляется при присоединении придаточного предложения, выражающего потенциально возможное условие
"ПредписаниеПроверитьУсловие"?

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 12:56

ПредписаниеЕсли удобно называть «Предписание „Если“». Т.е. получается два варианта именования - по открывающему ключевому слову, если оно есть, или по краткому описанию действия, если ключевого слова нет. Проблема здесь в том, что синтаксис языка не позволяет вставлять в идентификаторы знаки препинания. Поэтому идентификатор в виде словосочетания сразу уродуется. Если дальше на его основе создавать новые словосочетания, например, "ПосещаетсяПредписаниеЕсли", то получается «казнить нельзя помиловать" - можно прочитать "Посещается предписание, если".

Кроме того, просей_тип я назвал «Предписание просеять тип», потому что мне сначала попались несколько предписаний, не имеющих открывающего ключевого слова и решил называть их по действию. И только потом понял, что тут тоже возникла на ровном месте словоформа, которая будет затруднять навигацию - нельзя грепом найти синтаксическую конструкцию по открывающему слову. Тогда получается, что «:=» нужно называть «Предписание „Присвой“».

Начинает складываться впечатление, что без того, чтобы разрешить в идентификаторах пробелы и запятые, дело далеко не уйдёт и лучше 1С не получится. Но такое изменение затронет очень много частей и явно на сегодня не по силам.

Пока неясно, что делать дальше.

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 13:15

БудДен писал(а):
18.04.21 12:56
ПредписаниеЕсли удобно называть «Предписание „Если“». Т.е. получается два варианта именования - по открывающему ключевому слову, если оно есть, или по краткому описанию действия, если ключевого слова нет.
Во-первых, это нарушает целостность стиля, что ухудшает восприятие.
Во-вторых, ключевые слова могут поменяться.
В-третьих, могут поменяться даже знаки, знаки на слова, или слова на знаки.
ПредписаниеПрисвоитьЗначение или ПредписаниеПроверитьУсловие - точно описывает суть явления словами, а "ПредписаниеЕсли" - это иероглифическая сущность, порождающая ненужные зависимости, которые потянут за собой в будущее лишние усилия.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 14:05

Ну я над этой проблемой думал некоторое время назад. В A2 вообще приняты условные названия, например, я ломал голову над «Part», которое на 4-5 попытке превратилось в условную "веткуПредписания". А по сути она означает «Часть предписания с ветвлением, включающая условие выбора ветки и действия в этой ветке». Я не спец в лингвистике, но я бы сказал, что названия могут быть «условные», т.е. просто некие метки, не связанные по смыслу с обозначаемым, и «объясняющие», где мы не назначаем условную метку, а вместо этого расписываем смысл обозначаемого в более примитивных понятиях.

В плане «чистого кода» кажется более правильным использовать только «объясняющие» названия, чтобы любой залётный программист, если он владеет понятийным аппаратом, сразу понимал, о чём идёт речь. В математических книжках - другой экстремум, когда используются только «условные» γ, μ и δ, цели быть понятными обычно не ставится, скорее наоборот, запутать читателя. Поскольку изначальных понятий мало и выражать через них всё неудобно, в достаточно сложной предметной области условные названия неизбежны. Такая «метка», как ключевое слово, стоящее в начале предписания, выглядит естественной. Так или нет?
Последний раз редактировалось БудДен 18.04.21 14:11, всего редактировалось 1 раз.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 14:09

Это я к тому, что я ошибся при выборе стиля именования. Большинство предписаний можно идентифицировать по ключевому слову, с котороого они начинаются. Исключения - это «:=», «тело .. кн», «вызов процедуры», ну и ещё парочка, может быть. А именованные - это «Если», 2-3 вида циклов, 2 вида ветвления, прерывание цикла, возврат, игнорирование возврата процедуры - гораздо больше. Демократическим путём стиль именования по ключевому слову побеждает. В противном же случае придётся придумывать и помнить «объясняющее» название для всех предписаний, у которых уже есть ключевое слово - это лишнее усложнение. Согласны?

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 14:13

Если ключевые слова поменяются, то надо будет сделать рефакторинг. Я не сторонник того, чтобы ключевые слова менялись так же легко на уровне конечного пользователя, как шрифты или цветовая схема, хотя это расхожая идея. Не вижу в этом особой пользы. А раз так, то можно на это особо и не закладываться. Я понимаю, что моя точка зрения на это - не единственная, но если даже вдруг когда-то наборы ключевых слов будут настраиваться в ИСР для просмотра данного типа файлов, то в компиляторе всё равно будет некое фиксированное «основное» имя данного ключевого слова. Оно же будет фигурировать и в словаре настроек пользователя.

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 14:32

БудДен писал(а):
18.04.21 14:13
Я не сторонник того, чтобы ключевые слова менялись так же легко на уровне конечного пользователя, как шрифты или цветовая схема, хотя это расхожая идея. Не вижу в этом особой пользы.
Дело в том, что Вы изначально не знаете, что устоится, а что - нет. Искуственное замедление отсрочит только применение самого языка.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 14:41

Ну одно дело, если имена поменяются, а другое - создавать специальную инфраструктуру, чтобы каждый мог менять. Последнее я делать не собираюсь. И, в любом случае, как я уже написал, внутри компилятора всё равно будет некое базовое название, которое у каждого пользователя меняться не будет. Чтобы понять код компилятора и даже чтобы настроить набор ключевых слов под себя, это базовое название нужно будет знать. Не отказываться же от слова "если" только ради того, чтобы убрать это базовое название?

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 15:01

БудДен писал(а):
18.04.21 14:09
Это я к тому, что я ошибся при выборе стиля именования.
Cпособ именования для спецзнаков получился естественный, а c ключевыми словами - нет.
БудДен писал(а):
18.04.21 14:09
Большинство предписаний можно идентифицировать по ключевому слову
Но эта "идентификация по ключевому слову" не будет русским языком.
БудДен писал(а):
18.04.21 14:09
Демократическим путём стиль именования по ключевому слову побеждает.
Не демократическим, а копипастным (дублированием).
БудДен писал(а):
18.04.21 14:09
придётся придумывать и помнить «объясняющее» название для всех предписаний, у которых уже есть ключевое слово - это лишнее усложнение.
В этом и есть смысл русскоязычного программирования. Это не усложнение, а облегчение, для тех, кто будет читать исходники.
Или Вам понравились идентификаторы в кишках BBCP? Так-то в русском языке 33 буквы, больше чем в греческом, или латинском.
Только кто потом такое будет читать?

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

Re: дневник Яос

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

БудДен писал(а):
18.04.21 14:41
Не отказываться же от слова "если" только ради того, чтобы убрать это базовое название?
Слово если - в русском языке - это союз. Поток текста, где оно будет в другой роли читать утомительно.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 15:17

БудДен писал(а):
18.04.21 14:09
придётся придумывать и помнить «объясняющее» название для всех предписаний, у которых уже есть ключевое слово - это лишнее усложнение.
В этом и есть смысл русскоязычного программирования. Это не усложнение, а облегчение, для тех, кто будет читать исходники.
Или Вам понравились идентификаторы в кишках BBCP? Так-то в русском языке 33 буквы, больше чем в греческом, или латинском.
Только кто потом такое будет читать?
Осмелюсь стоять на своём. Объём понятийного аппарата может быть разным. Оптимум зависит от того, как читать, и от сложности предметной области. Чем сложнее предметная область, тем больше в ней понятий. Создание понятийного аппарата в целом естественно, но мы можем регулировать его: либо создавать лишние понятия, либо избегать создания понятий там, где они напрашиваются. Если мы создаём лишние понятия, то это может быть удобнее при глубоком погружении в предметную область (сможем излагать информацию более сжато и выражать более тонкие знания). Если мы воздерживаемся от создания уместных понятий, то мы облегчаем поверхностную деятельность (зайти раз в 5 лет и по мелочи поправить). Т.е. нет наилучшего для всех случаев способа представления кода.

Конкретно в случае предписания "если", допустим мы пойдём по вашему предложению и назовём его правильно, т.е. "Предписание_выполнить_один_из_вариантов_в_зависимости_от_значения_выражений". Тогда вновь пришедшему для чтения компилятора нужно будет сначала уяснить себе, что предписание "если" называется именно так, и потом всю дорогу это помнить. И то же нужно будет сделать для каждого предписания, начинающегося с ключевого слова. Это разве облегчит работу? В моём же случае начинаем с правила "предписание называется Предписание<КлючевоеСлово>, а у кого нет ключевых слов - надо искать и запоминать".

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 15:23

MihalNik писал(а):
18.04.21 15:03
БудДен писал(а):
18.04.21 14:41
Не отказываться же от слова "если" только ради того, чтобы убрать это базовое название?
Слово если - в русском языке - это союз. Поток текста, где оно будет в другой роли читать утомительно.
Потому я и думаю уже, как разрешить знаки препинания. Потому что ПредписаниеЕсли - это действительно выносит мозг, а вот какое-нибудь Предписание«Если» - уже в меньшей степени.

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 17:03

БудДен писал(а):
18.04.21 15:23
ПредписаниеЕсли - это действительно выносит мозг, а вот какое-нибудь Предписание«Если» - уже в меньшей степени.
Но все равно утомительно, потому что слово использовано не по своему назначению. Читать текст с понятиями в кавычках в разы медленнее.
БудДен писал(а):
18.04.21 15:23
Потому я и думаю уже, как разрешить знаки препинания.
Не то, чтобы это была сама по себе плохая задача. Плохо использовать как затычку русского языка.
Ключевых слов - несколько десятков, и то, как понял, не все относятся к предписаниям. Что там надо назвать-то?
ВыполнитьОбусловленныеДействия, ВИномСлучаеПроверитьУсловие, СделатьВИномСлучае, ПовторятьСПроверкойУсловияОстановаВКонце, ПроверитьУсловияОкончанияЦикла, ПовторятьПокаВерноУсловие, ЗапуститьЦиклСоСчетчиком, УстановитьКонечноеЗначениеСчетчика, УстановитьШагСчетчика, ЗапуститьЦиклСМножествомВыходов, ВыйтиИзЦикла, ВыбратьЗначение (или ПроверитьЗначение), УстановитьВыбираемыеЗначения (или УстановитьДействияПриЗначениях)? Что-то еще?
Последний раз редактировалось MihalNik 18.04.21 18:28, всего редактировалось 1 раз.

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 17:11

БудДен писал(а):
18.04.21 15:17
Конкретно в случае предписания "если", допустим мы пойдём по вашему предложению и назовём его правильно, т.е. "Предписание_выполнить_один_из_вариантов_в_зависимости_от_значения_выражений". Тогда вновь пришедшему для чтения компилятора нужно будет сначала уяснить себе, что предписание "если" называется именно так, и потом всю дорогу это помнить. И то же нужно будет сделать для каждого предписания, начинающегося с ключевого слова. Это разве облегчит работу? В моём же случае начинаем с правила "предписание называется Предписание<КлючевоеСлово>, а у кого нет ключевых слов - надо искать и запоминать".
Это зависит только от того, как именно будет названо. В Вашем же случае Вы снимаете с себя ответственность за это.
БудДен писал(а):
18.04.21 15:17
Чем сложнее предметная область, тем больше в ней понятий.
Или наоборот.
БудДен писал(а):
18.04.21 15:17
один_из_вариантов_в_зависимости_от_значения"
Это же оператор выбора CASE. Конечно, условное ветвление - частный случай. Но в Обероне-то отдельно.
БудДен писал(а):
18.04.21 15:17
стоять на своём
Но вот кому какое до этого дело?

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 18:51

> В Вашем же случае Вы снимаете с себя ответственность за это.

Я не снимаю ответственность, а просто использую ранее выстраданные названия повторно.

Вот здесь, я думаю, перечислены все statement -ы:

https://gitlab.com/budden/ja-o-s/-/blob ... e.Mod#L448

Я уже всё равно принял решение называть предписания по ключевым словам, но Вы можете в качестве упражнения попробовать придумать названия операторов так, чтобы было очевидно, где "If", где "case" а где "With". Ключевые слова, соответственно, "если", "просей" и "просей_тип".

> Но вот кому какое до этого дело?

Если мы приходим к консенсусу, то мы команда. Если заканчиваем на высказываниях из серии "меня не интересует ваша точка зрения" - то нет. Разница ощутимая, в общем-то.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 18:59

ПовторятьСПроверкойУсловияОстановаВКонце

В реальном коде тогда будет

ПосещаетсяПредписаниеПовторятьСПроверкойУсловияОстановаВКонце

Это не только не особо удобочитаемо, но и может привести к превышению предельного размера идентификатора.
Неужели это лучше, чем

ПосещаетсяПредписание«цикл_до»

?

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 21:33

БудДен писал(а):
18.04.21 18:51
Если мы приходим к консенсусу, то мы команда. Если заканчиваем на высказываниях из серии "меня не интересует ваша точка зрения" - то нет. Разница ощутимая, в общем-то.
Вопрос как бы не стоит таким образом. Вы в любом случае сможете сделать так, как захотите.
Последний раз редактировалось MihalNik 18.04.21 22:03, всего редактировалось 1 раз.

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

Re: дневник Яос

Сообщение MihalNik » 18.04.21 21:43

БудДен писал(а):
18.04.21 18:59
ПовторятьСПроверкойУсловияОстановаВКонце

В реальном коде тогда будет

ПосещаетсяПредписаниеПовторятьСПроверкойУсловияОстановаВКонце

Это не только не особо удобочитаемо, но и может привести к превышению предельного размера идентификатора.
Неужели это лучше, чем

ПосещаетсяПредписание«цикл_до»

?
Это зависит от контекста применения. Оторвано от него нельзя выбрать правильные названия. Но если выбрать исчерпывающее выражение, на месте будет виднее, что в нем лишнее.
"ПовторятьДоУсловия" не так уж сильно и длиньше, чем "цикл_до".
Далее, почему нужно сократить именно эту часть, а, например, не "Посещается" до "ЗаходВ" или даже просто "В"?
"ПосещаетсяПредписание" = "ВПредписание". Тогда
ПосещаетсяПредписание«цикл_до» = ВПредписаниеПовторятьДоУсловия.
Сокращать важно именно шаблоны, которые часто используются и, соответственно легко запомнить. Хотя в данном случае все слова остаются целыми. В обычных языках все это давным давно обкатано и выражено в кратких частях речи вроде союзов, предлогов, частиц и местоимений.
А в исходниках, вероятно, проблема декомпозиции и должно быть просто "ПосещаетсяПредписание".
Расширение типов вроде бы в Обероне есть.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 23:28

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

Вот первая попавшаяся статья про этот шаблон, посмотрите, как там сделано: https://refactoring.guru/ru/design-patterns/visitor

Кроме того, ЗаходВ - это опять винительный падеж, от которого мы как раз и ушли, увеличив количество букв. Заменить в этом случае на ЗаходВ или просто на В без уродования языка не получится.

Т.е. Вам пока не удалось представить альтернативные места, где можно было бы что-то сократить.

Подумайте ещё вот о чём: представьте себе, что делается дамп дерева разбора для отладки в виде условного XML/JSON. Неужели Вы предпочтёте видеть вот эти вот простыни из словосочетаний, а не названия открывающих ключевых слов, где они есть?
Последний раз редактировалось БудДен 18.04.21 23:38, всего редактировалось 2 раза.

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

Re: дневник Яос

Сообщение БудДен » 18.04.21 23:31

Ввиду того, что обнаружились трудности при формировании переводов словосочетаний, теперь в идентификаторах можно вставлять некоторые знаки препинания:

¡ - вместо восклицательного знака
¿ - вместо вопросительного
˛ - вместо запятой
ˉ - вместо тире или дефиса
и вот такие кавычки «» - они должны быть сбалансированы, но это не проверяется

Подчёркивание и раньше было - его можно использовать вместо пробела.

Применять их вряд ли можно в именах модулей, но изменён основной компилятор, ИСР, подсветка синтаксиса.

Не изменён также движок перевода (не уверен, что потребуется какая-то работа, но тестов не проводилось).

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

Re: дневник Яос

Сообщение MihalNik » 19.04.21 04:30

БудДен писал(а):
18.04.21 23:31
Ввиду того, что обнаружились трудности при формировании переводов словосочетаний, теперь в идентификаторах можно вставлять некоторые знаки препинания:

¡ - вместо восклицательного знака
¿ - вместо вопросительного
˛ - вместо запятой
ˉ - вместо тире или дефиса
и вот такие кавычки «» - они должны быть сбалансированы, но это не проверяется
Главное, что Лис заблаговременно отправлен в бан и не сможет требовать других иероглифов)

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

Re: дневник Яос

Сообщение MihalNik » 19.04.21 04:55

БудДен писал(а):
18.04.21 23:28
Там нет проблемы декомпозиции. Там есть ровно такое ООП, и ровно та проблема, которая решается шаблоном Посетитель, и в меру моих знаний (я не знаток и не любитель ООП), он сделан правильно. В любом случае, если вдруг даже это и можно улучшить с т.з. архитектуры, то у меня нет на это ресурсов на рефакторинг всего компилятора (а используется там этот посетитель много раз, и даже я сам создавал два-три потомка этого визитора для целей перевода).

Вот первая попавшаяся статья про этот шаблон, посмотрите, как там сделано: https://refactoring.guru/ru/design-patterns/visitor
Шаблон-то не причем. В любом случае название не передает смысла, более чем "goto". A поскольку любая процедура это goto, в качестве любого префикса она бессмыслена, кроме отличения процедуры от данных. Значит, чем короче, тем лучше. Так-то можно и какую-нибудь стрелочку в имя добавить. Правда, в данном случае вообще неясно, в чем проблема, т.к. винительная форма не отличима от именительной, даже какой-нибудь недопоиск сломаться не сможет.
Но для чего именно посещается не ясно, так что название не содержит самого главного. Но это, может быть, опять же, по причине оторванности от контекста.

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

Re: дневник Яос

Сообщение БудДен » 19.04.21 12:28

Ну ладно, мнения разошлись, дальше некогда особо обсуждать. Коротко: в данном случае винительная не отличается, а в другом может отличаться. Шаблон посетитель - это тоже конкретный термин из ООП, я это не люблю, но он есть независимо от моей нелюбви и его тоже нужно перевести. Застолбить имя "Посещается" - и будет всегда понятно, что применён этот шаблон. Если в одном случае применения будет "В", а в другом - "Посещается", то будет ровно то, против чего Вы выступаете, когда я называю предписание "если" - отсутствие единого стиля.

Дальше - если выписать эти методы в столбки, то они плохо смотрятся, но в живом применении слово "посещается" будет мелькать не так уж и часто (см. файл). Можно потерпеть. Стрелки нужны там, где подлежащее сокращению слово встречается часто и повсеместно.

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

Re: дневник Яос

Сообщение БудДен » 19.04.21 23:41

Убедился, что движок перевода не ломается на знаках препинания.

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

Re: дневник Яос

Сообщение БудДен » 22.04.21 23:03

Немного попереводил. Идёт довольно туго, времени удаётся выделять мало. Начал создавать описание процедуры придумывания перевода.

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

Re: дневник Яос

Сообщение БудДен » 24.04.21 11:55

Начал массировано переводить типы. Ужасно!

https://gitlab.com/budden/ja-o-s/-/blob ... в0.XML#L53

Проблемы следующие: иногда долго разбираться. Например, не знаю, что такое TensorRange, да оно и не нужно мне. В итоге, качество будет как у автопереводчика. Но это ладно ещё. Другая проблема - это как писать: „тип строкового литерала“ или „тип строковых литералов“? По идее нужно во множественном числе, но мне кажется, что есть некая условность и то, что обозначается типом ставится в единственном числе.

Ещё одна проблема - это баланс между сокращениями и полными именами. ПосетиОбращКТипуМатемМассива - обращ вроде у нас везде сокращается, а вот МатемМассив надо ли сокращать или надо писать МатематичекийМассив? Ведь эти сокращения надо будет потом помнить. В общем, тягостное ощущение от всего этого.

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

Re: дневник Яос

Сообщение MihalNik » 24.04.21 13:21

БудДен писал(а):
24.04.21 11:55
Начал массировано переводить типы. Ужасно!

https://gitlab.com/budden/ja-o-s/-/blob ... в0.XML#L53

Проблемы следующие: иногда долго разбираться. Например, не знаю, что такое TensorRange, да оно и не нужно мне. В итоге, качество будет как у автопереводчика. Но это ладно ещё. Другая проблема - это как писать: „тип строкового литерала“ или „тип строковых литералов“? По идее нужно во множественном числе, но мне кажется, что есть некая условность и то, что обозначается типом ставится в единственном числе.

Ещё одна проблема - это баланс между сокращениями и полными именами. ПосетиОбращКТипуМатемМассива - обращ вроде у нас везде сокращается, а вот МатемМассив надо ли сокращать или надо писать МатематичекийМассив? Ведь эти сокращения надо будет потом помнить. В общем, тягостное ощущение от всего этого.
Чтобы переводить, надо понимать предметную область иначе будет только хуже. А сокращения почти везде уже придумали до Вас.
Например, надо МатМассив, а не МатемМассив. Хотя в математике никаких массивов нет и о чем речь не ясно.
Это все ерунда, а вот что такое "посетить обращение" догадаться невозможно. Я убрал бы вовсе, оставив "КТипуЧегоТоТам".

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

Re: дневник Яос

Сообщение БудДен » 06.05.21 01:11

Пишу документ (в формате словаря придумывать названия слишком неудобно). Потихоньку.

https://gitlab.com/budden/ja-o-s/-/blob ... ора-лис.md

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

Re: дневник Яос

Сообщение БудДен » 09.05.21 22:14

По-моему, это абсолютно прекрасно:

Код: Выделить всё

ПосетиОбращение˛ОсмысленноеКакОбрКПсевдоПеременной«результат»
- 61 литера (вроде предел 64, но это не точно)

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

Re: дневник Яос

Сообщение БудДен » 11.05.21 01:45

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

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

Re: дневник Яос

Сообщение БудДен » 13.05.21 23:29

В ходе ночной смены починил пару проблем в движке перевода, связанных с декларациями из будущего (использование раньше объявления).

Теперь компилируется, и последний индекс кирилличности равен 18.80% (после того, как перевод модуля синт. дерева лисокомпилятора будет применён - сейчас пока гоняю в тестовом режиме и результат не записываю). Надо сказать, что темпы роста индекса кирилличности обнадёживают, хотя нельзя не отметить, что во многом это происходит из-за удлинения многих идентификаторов.

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

Re: дневник Яос

Сообщение БудДен » 15.05.21 01:49

Ещё попереводил - теперь после применения перевода индекс кирилличности будет 18.89% . Индекс кирилличности файла LisSyntaxTree.Mod - 67.9%. Видимо, с этим файлом дело идёт к концу. Думается, если не произойдёт форс-мажора типа атомной войны, то к концу месяца индекс кирилличности ЯОС достигнет 20%. В случае тотальной атомной войны вряд ли до конца месяца доживу.

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

Re: дневник Яос

Сообщение БудДен » 15.05.21 16:07

18.95 (а я уж ждал, что будет 19.0 - видимо, жирные места закончились и начались худые)

LisSyntaxTree.Mod после преобразования кириллизован на 70.6%

Заменю "использование" на "импорт", а всякие ключевые_слова_с_подчёркиванием на ключевыеСловаВ_видеШашлыка.

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

Re: дневник Яос

Сообщение БудДен » 16.05.21 00:26

19.08%, а файл - 75.2%

Видимо, в этом месяце доделаю этот файл и переделаю имена на шашлык, и, если останется время, займусь улучшением поиска с учётом словоформ.

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

Re: дневник Яос

Сообщение БудДен » 16.05.21 16:17

19.12%

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

Re: дневник Яос

Сообщение БудДен » 17.05.21 23:09

19.14 / 76.8

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

Re: дневник Яос

Сообщение БудДен » 18.05.21 22:56

Сегодня переводом кода я не занимался, зато Николай К. переделал ключевые слова в описании языка на русские и составил словарик. Ключевые слова из будущего, не соответствуют текущему состоянию языка, т.к. я решил переделать_все_такие наВотТакие. https://gitlab.com/budden/ja-o-s/-/blob ... е-языка.md

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

Re: дневник Яос

Сообщение БудДен » 19.05.21 19:23

Болею, но не лежу. Посему:

общий индекс кирилличности 19.24 (с учётом ключевых слов в описании язка и новых переводов), в файле LisSyntaxTree.Mod - 78.6%

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

Re: дневник Яос

Сообщение БудДен » 19.05.21 22:58

19.29% / 79.49

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

Re: дневник Яос

Сообщение БудДен » 20.05.21 18:21

19.35% / 81.24% - но май уже кончается (и моё свободное время в нём уж точно кончается), а файл всё не кончается. Похоже, что не успею до конца мая его перевести.

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

Re: дневник Яос

Сообщение БудДен » 22.05.21 00:04

Совсем мало, но не 0: 19.37% , 83.3%

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

Re: дневник Яос

Сообщение БудДен » 22.05.21 23:35

19.47% / 85.4% - и там ещё много. А конец мая приближается...

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

Re: дневник Яос

Сообщение БудДен » 25.05.21 00:48

Внезапно выяснилось, что эмулятор компьютера можно запускать из веб-браузера. Вероятно, скоро смогу дать url, позволяющий запустить ЯОС прямо в браузере - в одном из таких эмуляторов она заработала, правда, пока что только на локалхосте.

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

Re: дневник Яос

Сообщение БудДен » 25.05.21 22:06

Выложил в интернет страничку, на которой можно запустить ЯОС в эмуляторе, выполняющемся прямо в веб-браузере (ссылка в соседней теме, вообще-то он очень сырой, среда разработки падает при попытке открытия - это мой косяк, сеть не видно - это проблема с драйверами), поэтому копировать ссылку сюда не буду. А также залил на semantic-dict.ru переводы от Сандро. Спасибо!

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

Re: дневник Яос

Сообщение БудДен » 28.05.21 01:55

Починил словарь (регистрация через почту не работала).

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

Re: дневник Яос

Сообщение БудДен » 28.05.21 12:04

19.49 / 86.3

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

Re: дневник Яос

Сообщение БудДен » 30.05.21 02:29

По переводу не продвинулся, выложил новую версию, сделал из репозитория ссылку на эмулятор, сам эмулятор существенно улучшил (добавил консоль, справку, выкинул кучу лишнего с экрана), поменял "предисловие".

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

Re: дневник Яос

Сообщение БудДен » 30.05.21 22:51

общий индекс кирилличности после применения перевода к LisSyntaxTree был бы 19.58% , а в файле - 88.3%. Пришлось расширить кое-какие типы в компиляторе. Но до конца работы ещё далеко. Как минимум, пора синхронизировать коды "Лиса" и "Fox-а" , а также перевод ещё не завершён - осталось до конца файла 500 строк - частично там уже переведено, но ясно, что часть работы ещё впереди. Вряд ли успею доделать в мае.

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

Re: дневник Яос

Сообщение БудДен » 31.05.21 00:08

19.64, но осталось ещё перевести порядка 70 имён в этом файле. На сегодня хватит.

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

Re: дневник Яос

Сообщение БудДен » 01.06.21 01:03

Имена доперевёл, не проверял, переводится ли. В связи с проблемами между словами "родитель", "владелец" и ещё некоторыми другими перевод пока нельзя считать жизнеспособным - явно требуются решения между конфликтующими словами.

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

Re: дневник Яос

Сообщение БудДен » 05.06.21 22:41

Перевёл оба компилятора. Индекс кирилличности, теперь официальный, 21.75%

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

Re: дневник Яос

Сообщение БудДен » 06.06.21 00:30

21.77% (перевожу комментарии)

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

Re: дневник Яос

Сообщение БудДен » 07.06.21 23:57

Чинил переводчик, чтобы можно было преобразовать ключевые слова на более кумиро-образные.

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

Re: дневник Яос

Сообщение БудДен » 08.06.21 23:15

Научил ЯОС под Win понимать кириллицу в аргументах командной строки. Это заняло несколько часов, хотя казалось бы, всего несколько строк. Наступил на все грабли, на которые мог. Но заодно написал и стёр немного кода, индекс кирилличности теперь 21.79%.

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

Re: дневник Яос

Сообщение БудДен » 09.06.21 23:51

Поправил поиск на форуме, проствил один хештег, поправил правила создания хештегов (теперь нужно писать #КЛЮЧидальшесловаслепленныевместе).
Предельная длина хештега - 30 символов.

Вчерне перевёл инструмент для поиска в файлах, теперь нужно научить его "умному" поиску по словоформам (а на данный момент он вообще как-то не особо работает у меня).

Индекс кирилличности - 21.82%

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

Re: дневник Яос

Сообщение БудДен » 11.06.21 00:08

день нельзя назвать особо продуктивным. Добавил параметры к команде поиска по файлам, но автозапуск сделал как-то неправильно - второе или третье окно поиска показывается чёрным. Частично локализовал проблему (если не запускать поиск автоматом, то ничего и не виснет). Индекс кирлличности 21.82%

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

Re: дневник Яос

Сообщение MihalNik » 11.06.21 07:29

БудДен писал(а):
11.06.21 00:08
Индекс кирлличности
Может автоматом его уже размещать?

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

Re: дневник Яос

Сообщение БудДен » 16.06.21 00:05

Может и надо автоматом, но пока недосуг. Налаживать CI - это всегда долго и муторно. Хотя автотесты следовало бы уже запускать, но для этого нужна рабочая машина под Win10 или чем-то подобным, а где такую взять?

Сегодня делал алгоритм отсюда http://вече.программирование-по-русски. ... ?f=2&t=441, попутно алгоритм уточняется. Сделал, наверное, на треть. Установил себе 1С 8 и русифицированные Access и Excel - теперь будет проще собирать переводы. Надо бы это делегировать, но кому? Например, нужно собрать имена видимых элементов (видгетов) и все термины, используемые в редакторах форм, и забить их в semantic-dict.ru

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

Re: дневник Яос

Сообщение БудДен » 17.06.21 23:47

Избавился от одной из работ, теперь будет намного больше времени на ЯОС. Пишу лексер для поиска, индекс кирилличности не меряю.

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

Re: дневник Яос

Сообщение БудДен » 18.06.21 23:18

Сегодня всё равно занимался чем-то отвлечённым, например, оставшейся работой и семейным отдыхом, поэтому почти ничего не сделал. начал чинить клавиатуру под Linux (при включённой русской раскладке она творит чудеса).

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

Re: дневник Яос

Сообщение БудДен » 19.06.21 23:33

Один товарищ из Оберон - сообщества попробовал запустить ЯОС под Linux и оно упало. Стал чинить. Вроде починил клавиатуру, хотя полной уверенности нет. Думаю, что надо сборку под Linux починить, но пока не чинится - много наменял.

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

Re: дневник Яос

Сообщение БудДен » 22.06.21 19:36

Продолжал работу над лексером для поиска по файлам. Лексер в целом готов, тесты проходят. Также сделал режим нормализации лексем (выбрасывание пробелов и приведение к нижнему регистру). Теперь надо сделать самое смачное - обработку метасимвола для сопоставления словоформ и можно будет приступать непосредственно к реализации поиска в файлах. Индекс кирилличности потихоньку ползёт вверх, т.к. код пишется, и равен 21.87%

Хотя вот прямо сейчас понял, что режим нормализации лексем сделал неправильно, потому что для замены он не подойдёт - только для поиска, а это неинтересно. Ну и ладно, переделаем обратно.

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

Re: дневник Яос

Сообщение БудДен » 27.06.21 00:12

Внезапно потратил почти весь день на починку крокозябл в буфере обмена под Linux. Теперь, после ряда исправлений, ЯОС как приложение под Linux выглядит более-менее жизнеспособной. Продолжаю заниматься поиском, в простейшем виде поиск заработал, теперь нужно реализовать поиск по шаблонам (чтобы находить слово в разных формах). Индекс кирилличности 21.90%, но часть кода скопирована для ускорения отладки - возможно, что скоро снизится. А тем временем подбирается конец месяца, пора начинать подводить итоги...

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

Re: дневник Яос

Сообщение БудДен » 27.06.21 23:06

Занимался поиском по словоформам. Сделал сопоставление с образцом, содержащим метасимвол, который может заменяться на ноль, одну или две любых буквы. До реализации поиска по файлам со словоформами осталось две вещи:

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

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

Re: дневник Яос

Сообщение БудДен » 29.06.21 00:23

Сегодня времени особо не было, но смог отобразить список находок в виде колонки строчек. Явно не хватает перехода к находке - это следующее, что нужно сделать. Ещё есть проблема, что поиск работает, наверное, в 1000-10000 раз медленнее, чем в VS Code и для практического применения непригоден. Надо профилировать, искать, почему так.

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

Re: дневник Яос

Сообщение БудДен » 02.07.21 12:21

Ближайшие планы:

- прочитать все словари и подумать, имеет ли смысл менять соглашение об именовании идентификаторов (может быть проблема
с аббревиатурами)
- Убрать подчёркивания из ключевых слов и глобальных имён в Fox ("системно_зависимое_целое" и "цикл_пока" - две точки входа)
- Пересобрать компилятор Fox компилятором Fox (глобальные имена - общие между Lis и Fox, поэтому
здесь нам не помогает то, что у нас два компилятора)
- Убрать подчёркивания по всему тексту
- Пересобрать новым компилятором весь исходник
- Перевести всё, что переводится, на английский и обратно, убедиться в целостности и идемпотентности перевода
- перевести на английский
- отредактировать словари и изменить в них стиль именования составных слов
- перевести на русский
- доделать поиск по словоформам в новом стиле
- работать над скоростью поиска

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

Re: дневник Яос

Сообщение БудДен » 02.07.21 14:12

Вспомнил, что сейчас нет надёжного поиска и замены по словам, состоящим из букв кириллицы. Поэтому план меняется:

* ✓ сделать, чтобы поиск хоть как-то понимал и новый, и старый способ записи многословных идентификаторов
* реализовать замену (замена нескольких словоформ тоже должна как-то происходить, например, прямым указанием, какую словоформу на какую нужно заменять). При этом поиск должен происходить по шаблону за два прохода. На первом проходе собираются все словоформы данного идентификатора и, если пользователь не указал превращение для всех словоформ, то весь процесс падает. На втором этапе осуществляется собственно замена.
* составить список слов с учётом кумиризации

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

Re: дневник Яос

Сообщение БудДен » 04.07.21 00:37

Дичайший отстой, всё ещё занимаюсь поиском. Поправил ошибки и добавил в параметры возможность выбора метода поиска. Ужааасно долго!

Ответить