дневник Яос

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
БудДен
Сообщения: 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

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

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

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

Сообщение БудДен » 07.07.21 10:01

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

https://habr.com/ru/company/mailru/blog/314014/

И парсер оказался довольно большим. Поэтому начал впиливать вот этот лисп: https://github.com/zick/Oberon2Lisp - оказалось, что в A2 есть ограниченная поддержка процедур в стиле Оберона-2. Но разница между ограниченной и работающей в данном случае состояла в том, что компилятор падал. Потратил немало времени, чтобы это поправить, но в итоге понял, что слишком сложно и не стоит требуемых усилий. Завёл ошибку и оставил это как есть: https://gitlab.com/budden/ja-o-s/-/issues/67

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

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

Сообщение БудДен » 09.07.21 18:35

Лисп вроде интегрировал, он способен читать данные из строки. Как он вычисляет - не проверял, но это и не нужно. Меньше нужно интерпретаторов, а один интерпретатор в ЯОС уже есть (жаль, я не умею им пользоваться). Надо теперь, чтобы научился читать из потока и тогда можно будет передавать командам ЯОС в качестве параметров структурированные данные, ради чего, собственно, всё и затевалось.

Также поправил документацию: добавил общее оглавление описания языка, добавил непереведённую главу о средствах поддержки параллельности и написал документ о командах ЯОС и особенно о формате их аргументов. Это создаёт предпосылки для интеграции чтеца s-выражений в механизм команд.

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

До создания инструмента поиска с заменой нельзя говорить о наличии поддержки в ЯОС словоформ русского языка, а при том такие идентификаторы в ЯОС уже есть и работа с ними будет создавать неудобство.

В общем, нужно составить план заморозки проекта (или его перевода в режим сверхнизкой интенсивности).

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

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

Сообщение БудДен » 10.07.21 23:50

Начал впиливать в закрытую версию ввод s-выражений, а точнее, их слегка инновационного аналога.

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

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

Сообщение БудДен » 13.07.21 00:29

Доделал в закрытой ветке опции в виде s-выражений. Забросил в пару мест удочку про программиста вместо себя.

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

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

Сообщение БудДен » 13.07.21 18:26

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

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

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

Сообщение БудДен » 18.07.21 00:53

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

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

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

Сообщение БудДен » 19.07.21 02:09

Пытаюсь добить поиск c заменой. Невзирая на имеющееся временное окно, делать ещё довольно много:

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

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

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

Сообщение БудДен » 21.07.21 01:29

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

Теперь нужно доделать поиск и сделать замену.

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

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

Сообщение БудДен » 23.07.21 00:01

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

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

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

Сообщение БудДен » 24.07.21 00:45

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

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

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

Сообщение БудДен » 24.07.21 23:56

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

https://www.youtube.com/watch?v=iT64Z_OU3Mc

Исходники выложил в публичную ветку.

Также пополнил документацию информацией о найденных аналогах типа Variant из Дельфи. Их нашлось немало, но все с каким-то уклоном, в итоге подобрать для моей конкретной задачи не вышло. См.

https://gitlab.com/budden/ja-o-s/-/blob ... ые-типы.md

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

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

Сообщение БудДен » 06.08.21 23:01

В связи с наличием интересующегося, описал 4 задачи по доработке:

https://www.youtube.com/watch?v=dOEnfAezRlQ

https://www.youtube.com/watch?v=qjtFB6jwDD0

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

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

Сообщение БудДен » 12.08.21 23:13

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

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

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

Сообщение БудДен » 16.08.21 00:45

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

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

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

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

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

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

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

Сообщение БудДен » 05.09.21 17:41

Кумиризируем потихоньку. Исходник в экспериментном виде выглядит так:

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

модуль Проба;

алг Проверка():цел32;
перем й: цел32;
нач
	нцДля й := 0 до 7 делай
		если й = 2 то
			УТВ(й = 2);
			й := й;
		иначе
			й := 100;
		всё 
	кц;
	неважно Проверка();
кон Проверка;
	
кон Проба. 

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

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

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

В системном меню, пункт справка/документация открывает директорию с документацией в формате markdown. Никакой поддержки формата пока нет - файлы открываются просто как текст.

Аватара пользователя
Сандро
Сообщения: 86
Зарегистрирован: 07.10.18 14:39

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

Сообщение Сандро » 13.09.21 22:48

БудДен писал(а):
08.09.21 23:47
Никакой поддержки формата пока нет - файлы открываются просто как текст.
Самый простой способ поддержки маркдоуна — здесь.

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

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

Сообщение БудДен » 15.09.21 00:14

Не понял. В ЯОС нет javascript, а html едва есть. В этой ситуации данный метод приемлем?

P.S. и чтобы два раза не писать, что нового в ЯОС:
  • Идёт непростая работа по переводу встроенных имён
  • В проработке уже не один, а два варианта использования ЯОС для школьников
  • Сделали "диск" ЯОС:, указывающий на корень ЯОС - пока только Win32, но цена вопроса - одна строчка в конфиге
  • Убрал ограничения в процедуре переименования символов, затеняющих более глобальные одноимённые - теперь оно должно срабатывать за один проход

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

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

Сообщение БудДен » 19.09.21 14:52

Сделал в компиляторе режим --переименуйИдентификаторыПоИменам, который переименовывает идентификаторы с данным именем в другое имя (не работает для модулей). Он нужен, чтобы превратить MOD в mod и понизить регистр некоторых других встроенных функций. Прямо в лоб это сделать не получается, потому что в коде довольно много переменных с именем "mod". Описание

В отличие от него, старый решим переименования (он теперь называется --переименуйИдентификаторыПоПутям) переименовывал только конкретные идентификаторы, определяемые по пути вложенности синтаксических конструкций. Например, им можно переименовать МодульА.ОобъектБ.Поле1 в Поле2 и все его использования, и при этом не трогать Модуль1.ОбъектВ.Поле1 (т.к. к нему ведёт другой путь).

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

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

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

Сообщение БудДен » 20.09.21 00:06

Меня тошнит от этого:

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

		DeclareTypeR(system.characterType,"CHAR","сим8",system.globalScope);
		DeclareTypeR(system.rangeType,"RANGE","отрезокЦелых",system.globalScope);
		DeclareTypeR(system.integerType,"INTEGER","системноЗависимоеЦел",system.globalScope);
		DeclareTypeR(system.longIntegerType,"LONGINTEGER","длинноеСистемноЗависимоеЦел",system.globalScope);
		DeclareTypeR(system.integerSetType,"INTEGERSET","мнвоНаБитахРазмераСистЗавЦел",system.globalScope);

		DeclareTypeR(Signed8, "SIGNED8", "цел8", system.globalScope);
		DeclareTypeR(Signed16, "SIGNED16", "цел16", system.globalScope);
		DeclareTypeR(Signed32, "SIGNED32", "цел32", system.globalScope);
		DeclareTypeR(Signed64, "SIGNED64", "цел64", system.globalScope);

		DeclareTypeR(Unsigned8, "UNSIGNED8", "бцел8", system.globalScope);
		DeclareTypeR(Unsigned16, "UNSIGNED16", "бцел16", system.globalScope);
		DeclareTypeR(Unsigned32, "UNSIGNED32", "бцел32", system.globalScope);
		DeclareTypeR(Unsigned64, "UNSIGNED64", "бцел64", system.globalScope);

		DeclareTypeR(Float32, "FLOAT32", "вещ32",system.globalScope);
		DeclareTypeR(Float64, "FLOAT64", "вещ64",system.globalScope);

		DeclareTypeR(Complex32, "COMPLEX32", "компл32", system.globalScope);
		DeclareTypeR(Complex64, "COMPLEX64", "компл64", system.globalScope);

		DeclareTypeR(system.realType,"REAL","машинноЗависимоеВещ", system.globalScope);
		DeclareTypeR(system.complexType,"COMPLEX","машинноЗависимоеКомпл", system.globalScope);
		DeclareTypeR(system.booleanType,"BOOLEAN","лог",system.globalScope);
		DeclareTypeR(system.setTypeA,"SET","мнвоНаБитахРазмеромСАдрес",system.globalScope);
		DeclareTypeR(system.anyType,"ANY","динамическиТипизированныйУкль",system.globalScope);
		DeclareTypeR(system.objectType,"OBJECT","окласс",system.globalScope);

		DeclareTypeR(Set8, "SET8", "мнвоНаБитах8", system.globalScope);
		DeclareTypeR(Set16, "SET16", "мнвоНаБитах16", system.globalScope);
		DeclareTypeR(Set32, "SET32", "мнвоНаБитах32", system.globalScope);
		DeclareTypeR(Set64, "SET64", "мнвоНаБитах64", system.globalScope);

		(* глобальные функции. Если меняешь тут, ищи в другом месте вызовы NewBuiltinIdentifier *)
		NewBuiltinR(Abs,"ABS","abs",system.globalScope,TRUE); (* prospero78/Oberon07ru. в КуМире - abs *)
		NewBuiltinR(Ash,"ASH","арифмСдвиг",system.globalScope,TRUE);
		NewBuiltinR(Cap,"CAP","ASCII_вЗаглавную", system.globalScope,TRUE);
		NewBuiltinR(Chr,"CHR","Сим8ИзКода",system.globalScope,TRUE); (* И21 - нет, Глагол - ВЗНАК, 1С - Симв, Oberon07ru = ВЛИТ *)
		NewBuiltinR(Entier,"ENTIER","округлиВниз",system.globalScope,TRUE); (* 1С - Цел, КуМир - int, Русская википедия - "пол", Excel - ОКРВНИЗ *)
		(* NewBuiltin(Entier,"FLOOR","",system.globalScope,TRUE); (* дублирует ENTIER и не входит в стандарт *) *)
		NewBuiltinR(EntierH,"ENTIERH","округлиВниз64",system.globalScope,TRUE); (* в A2 рекомендуется цел64(плавающееЗначение) *)
		NewBuiltinR(Len,"LEN","длина",system.globalScope,TRUE); (* из Глагола; переделать в псевдо-метод *)
		NewBuiltinR(Long,"LONG","устарПреобразуйКБолееШирокомуЦел",system.globalScope,TRUE);
		NewBuiltinR(Max,"MAX","max",system.globalScope,TRUE);
		NewBuiltinR(Min,"MIN","min",system.globalScope,TRUE);
		NewBuiltinR(Odd,"ODD","нечётноеЛи¿",system.globalScope,TRUE); (* Глагол *)
		NewBuiltinR(Ord,"ORD","КодСим8",system.globalScope,TRUE); (* И21 - НОМЕР, Глагол - ВЦЕЛ, Oberon07ru - НЛИТ, 1С - КодСимвола. Не забываем про перечисления! Сейчас они получаются 
			преобразованием типов! *)
		(* нигде не используется
			NewBuiltin(Ord32,"ORD32",system.globalScope,TRUE);
		   *)
		NewBuiltinR(Lsh,"LSH","логСдвиг",system.globalScope,TRUE);
		NewBuiltinR(Rot,"ROT","вращБит",system.globalScope,TRUE);

		NewBuiltinR(Ror,"ROR","вращВправоБит", system.globalScope,TRUE);
		NewBuiltin(Rol,"ROL","вращВлевоБит", system.globalScope,TRUE);
		NewBuiltinR(Shl,"SHL","логИлиАрифмСдвигВлево", system.globalScope,TRUE);
		NewBuiltinR(Shr,"SHR","логИлиАрифмСдвигВправо", system.globalScope,TRUE);

		NewBuiltinR(Incr,"INCR","увел",system.globalScope,TRUE);

		NewBuiltinR(Short,"SHORT","устарПреобразуйКБолееУзкомуЦел",system.globalScope,TRUE);
		NewBuiltin(Sum,"SUM",system.globalScope,TRUE);
		NewBuiltin(Dim,"DIM",system.globalScope,TRUE);
		NewBuiltin(Cas,"CAS",system.globalScope,TRUE);

		NewBuiltin(First,"FIRST",system.globalScope,TRUE);
		NewBuiltin(Last,"LAST",system.globalScope,TRUE);
		NewBuiltin(Step,"STEP",system.globalScope,TRUE);

		NewBuiltinR(Re,"RE","Re",system.globalScope,TRUE); (* КуМир - переделать в псевдо-метод *)
		NewBuiltinR(Im,"IM","Im",system.globalScope,TRUE);

		NewBuiltin(systemAdr,"ADDRESSOF",system.globalScope,TRUE);
		NewBuiltin(systemSize,"SIZEOF",system.globalScope,TRUE);

		(* global proper procedures *)
		NewBuiltinR(Assert,"ASSERT","утв",system.globalScope,TRUE); (* КуМир *)
		NewBuiltin(Copy,"COPY",system.globalScope,TRUE);
		NewBuiltinR(Dec,"DEC","умень",system.globalScope,TRUE);
		NewBuiltin(Excl,"EXCL",system.globalScope,TRUE);
		NewBuiltin(Halt,"HALT",system.globalScope,TRUE);
		NewBuiltinR(Inc,"INC","увел",system.globalScope,TRUE);
		NewBuiltin(Incl,"INCL",system.globalScope,TRUE);
		NewBuiltinR(New,"NEW","нов",system.globalScope,FALSE);


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

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

Сообщение БудДен » 20.09.21 00:13

Воют между собой КуМир, 1С, Excel, Глагол, школьная сборка, школьная и не школьная алгебра. При этом они все заточены совершенно под разное, и получается "коня и трепетную лань".

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

Но в современной идеологии "чистого кода" слова должны быть подробными. А по моей идеологии, частые слова должны быть короткими, а редкие - подробными. Да ещё и на русском, в котором, ессно, сроду не было никаких ASH и ROT.

И кроме того, есть слова (например, "длина"), которые было бы неплохо не занимать и оставить пользователю.

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

Аватара пользователя
Сандро
Сообщения: 86
Зарегистрирован: 07.10.18 14:39

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

Сообщение Сандро » 20.09.21 14:33

БудДен писал(а):
15.09.21 00:14
В этой ситуации данный метод приемлем?
- Поспешил я... (но в будущем, авось, сгодится)))
А вот эти строки могут спокойно попасть под сокращения:
БудДен писал(а):
19.09.21 14:52
переименуйИдентификаторыПоИменам
переименуйИдентификаторыПоПутям
А если "идентуйИменами", или "идентуйПутями"... (?)
Учитывая, что идентификатор — это и есть некий "суррогат имени", то налицо - тавтология (переименуйИменаторы).
У резидента и президента - один корень идентификации; — "идент", который и идентифицирует их представительство в соответствующих кругах.

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

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

Сообщение БудДен » 20.09.21 21:29

Про маркдаун - понял.
Эти ключи компилятора редко используются, их необязательно сокращать.

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

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

Сообщение БудДен » 23.09.21 22:19

Кумиризация языка отменена. Причина - она никуда не попала. Есть спрос на две вещи:

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

В этом случае образцом, от к-рого нужно не отстать, является Scratch, где слова в командах - полные и без сокращений, либо PascalABC, а это богатый язык, в котором сокращение до 3 букв узкого набора понятий, нужных в КуМире (очевидно, в ущерб остальным) не имеет значения. Кроме того, переход происходит не от КуМира и совместимость с КуМиром не имеет значения.

* роботы Лего

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

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

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

Сообщение БудДен » 23.09.21 22:25

Что-то я себя сам пока не очень убедил и слегка выпал из контекста... Т.е. кумиризация отменяется не полностью, потому что циклы, "нач", "кон" и "всё" выглядят вполне разумно.

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

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

Сообщение БудДен » 25.09.21 23:56

Немного попереводил встроенные имена. Смирился с их ужасным видом.

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

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

Сообщение БудДен » 27.09.21 13:11

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

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

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

Сообщение БудДен » 02.10.21 03:34

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

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

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

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

Сообщение БудДен » 02.10.21 23:55

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

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

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

Сообщение БудДен » 10.10.21 22:37

Заменял "литеру" на "символ", а также начал переводить один из основополагающих модулей - Streams.

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

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

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

Продолжается перевод модуля Streams. Между тем, я уволился из прекрасного стартапа, где всё было хорошо до того момента, пока меня не попросили приостановить свой проект, чтобы он не мешал работе.

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

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

Сообщение БудДен » 16.10.21 23:26

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

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

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

Сообщение БудДен » 18.10.21 15:56

ЯОС собралась с русскоязычными потоками, индекс кирилличности достиг 26.7%. Однако нашлась ошибка в движке перевода - буду править, а потом придётся, видимо, всё повторить.

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

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

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

При попытке перевести ещё более фундаментальный модуль KernelLog столкнулся с местом, где двухъязычность ещё не реализована.
Пытаюсь чинить, план действий есть, слегка продвинулся по нему.

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

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

Сообщение MihalNik » 21.10.21 20:44

БудДен писал(а):
15.10.21 22:41
Между тем, я уволился из прекрасного стартапа, где всё было хорошо до того момента, пока меня не попросили приостановить свой проект, чтобы он не мешал работе.
В смысле на работе отвлекал народ им или отбирал свое время?

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

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

Сообщение БудДен » 21.10.21 22:28

Нет, они заявили своё недовольство, что я занимаюсь своим проектом, и даже то, что это не в рабочее время, их не убедило. Типа я буду уставать и мне не будет хватать сил на работу.

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

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

Сообщение БудДен » 21.10.21 22:50

Перевёл модуль KernelLog, вот он:

https://gitlab.com/budden/ja-o-s/-/blob ... nelLog.Mod

(переведён только интерфейс)

Индекс кирилличности 28,2%, однако движок перевода не совсем работает - приходится пока что кое-что делать руками. Правлю. Данная проблема всплыла по той причине, что вызовы процедуры из этого модуля подставляются компилятором в генерируемый код особым образом, а сами процедуры при этом ищутся по имени модуля и процедуры. Ранее не было учтено, что эти случаи требуют перевода.

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

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

Сообщение БудДен » 23.10.21 00:47

Вроде починил движок перевода, теперь, поскольку явных идей нет, хочу сделать что-то типа лиспового отладчика. Естественно, полностью такой же не выйдет ввиду ограничений языка и рантайма, но хотя бы инспектировать стек должно стать намного легче. А также нужно доехать до места, где лежит RPi и ещё раз, более вдумчиво, попробовать на ней оживить существующую сборку A2.

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

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

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

Внезапно сделал минимальный инспектор и даже интегрировал с чем-нибудь, и даже завёл встроенную процедуру для его вызова. Теперь можно остановить (почти) любую активность и изучить её стек, вставив в код вызов встроенной процедуры "Инспекция". Конечно, не хватает ещё вычисления выражений в текущем кадре стека, как в нормальных отладчиках, но это уже проект. Нужно доделать тягомотные переводы для модулей Reflection, PodrobnajaPechatq и Trace и, видимо, заниматься портированием на ARM вплотную. Неделю я уже без работы отдохнул, много отдыхать не выйдет.

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

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

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

Сообщение БудДен » 25.10.21 09:03

Перевёл ещё один фундаментальный модуль, Trace. Индекс кирилличности 28.3%. Видимо, жирные куски теперь не так скоро попадутся. Потоки и логЯдра - это были очень жирные модули с массой клиентов. Так или иначе, индекс кирилличности за этот год вырос на 10%. Если и дальше продолжать в том же темпе, то через каких-нибудь 10 лет перевод ЯОС на русский язык будет завершён. Хотя понятно, что дальше будет медленнее, поскольку богатые месторождения вырабатыватся первыми, а потом порода становится более тощей. В нашем случае основные богатства уже извлечены на-гора.

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

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

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

Есть определённые успехи с RPi2, см. соседние темы.

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

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

Сообщение БудДен » 04.11.21 01:25

Версия под RPi частично запустилось в qemu. Хотя похоже, что она падает в QEMU иначе, чем на настоящей плате, это, конечно же, плохо.

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

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

Сообщение БудДен » 04.11.21 15:13

Добился идентичного поведения.

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

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

Сообщение БудДен » 05.11.21 21:14

Описана работа с Raspberry Pi 2 b v 1.1 : https://gitlab.com/budden/ja-o-s/-/comm ... d611bc58a0

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

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

Сообщение БудДен » 06.11.21 23:05

Запустил ЯОС на Zybo (по-прежнему без периферийных устройств).

https://gitlab.com/budden/ja-o-s/-/tree/Zybo-Z710-ЯОС-2

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

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

Сообщение БудДен » 08.11.21 23:50

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

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

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

Сообщение БудДен » 10.11.21 00:40

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

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

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

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

Ну вот, по макросам, казалось бы, всё сделано, а на самом деле ещё пахать и пахать, и время заканчивается.

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

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

Сообщение БудДен » 20.11.21 02:20

Макросы очередной раз почти сделаны, т.е. имеется пример, который мог бы быть реально полезным, если в нём ещё исправить какое-то количество багов... Однако всё ещё есть куча проблем.

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

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

Сообщение БудДен » 25.11.21 02:22

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

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

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

Сообщение БудДен » 26.11.21 23:36

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

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

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

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

Сообщение БудДен » 29.11.21 00:17

Вроде сделал, чтобы в распечатке стека и в отладчике показывался "сам" объект для методов объектов. Беэ этого было изрядно неудобно.
Изменения, внесённые в компилятор, явно за пределами моего понимания. Система этим компилятором дважды пересобралась и работает, но кто знает, какие грабли ещё ждут впереди...

Отладчик проверен в бою, периодически что-то происходит нехорошее, но в целом более-менее работоспособен.

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

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

Сообщение БудДен » 15.12.21 02:38

По Alt-Enter открывается "меню окна", подобно тому, как работает Alt-пробел в Windows. Дальше можно нажать 4 (на левую половину экрана), 5 (на ввесь экран) или 6 (на правую). Наверное, для полноты картины нужно все новые окна сразу ставить на левую половину экрана, а там дальше пользователь уже пусть сам размещает. И, конечно, в это меню нужно ещё несколько вариантов, но там получились ужасные повторы кода, и кроме того, меню будет слишком длинным. Не знаю, как быть пока что. Но уже большой шаг вперёд - я мечтал о возможности делать окно на полэкрана с самого начала проекта и вот наконец-то. Посмотрим, какие подводные камни всплывут...

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

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

Сообщение БудДен » 16.12.21 01:02

Движемся в направлении симв32

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

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

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

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

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

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

Сообщение БудДен » 22.12.21 01:33

Начал внедрять симв32 в модуль Texts - уже не уверен, что стоило начинать. Нужно перешагнуть пропасть с тысячами изменений в более чем 10 модулях. Достаточно одной ошибки - и система просто не заработает. Сегодня, наверное, уже изменений 500 сделал и неизвестно сколько ещё впереди.

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

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

Сообщение БудДен » 27.12.21 23:27

Сделал встроенную процедуру пПиши, которая выводит в любом месте любой указатель на запись вместе с полями. Раньше такая процедура была в модуле "к", неудобство состояло в том, что нужно было подключать/отключать этот модуль и сигнатура исследуемого модуля менялась. Теперь необходимость в подключении модуля "к" отпала.

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

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

модуль Proba;

(* Proba.Дей ~ *)
использует Strings, StringsUCS32;

тип з = окласс
	перем пп : цел32;
	вв : Strings.String кон з;

проц Дей*;
нач
	перем Строка8 := Strings.NewString("2") : Strings.String;
	Строка8 := Строка8 + 2;

	перем Строка := StringsUCS32.NewString(Лит32("2")) : StringsUCS32.String;
	Строка := Строка + 2;
	копируйСтрокуДо0(Строка^,Строка^);
	
	перем эз : з;
	
	нов(эз);
	эз.пп := 4;
	эз.вв := Strings.NewString("Куку");
	
	пПиши(эз,Строка^);
	кон Дей;
	
кон Proba.

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

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

Сообщение БудДен » 15.01.22 14:26

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

А может быть, дело в другом, не знаю.

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

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

Сообщение БудДен » 19.01.22 01:41

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

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

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

Сообщение БудДен » 23.01.22 23:44

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

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

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

Сообщение БудДен » 27.01.22 00:09

Немного попереводил.

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

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

Сообщение БудДен » 28.01.22 16:10

Перевёл (не полностью) модуль Builtins - самый первый по порядку модуль.
Правда, он мало используется.

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

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

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

Сообщение БудДен » 31.01.22 00:54

Начал переводить модуль Machine. Улучшил работу веб-браузера (всё ещё только http).

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

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

Сообщение БудДен » 03.02.22 00:28

Кое-как доделал переводы модуля Machine/ЭВМ для версии Windows, открыл версию для BIOS32, а там, оказывается, есть ещё объём работы...

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

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

Сообщение БудДен » 04.02.22 20:55

Написал письмо в МЦСТ, где предлагаю им взять меня на работу и дать мне 10 человек подчинённых. Ха-ха.
Перевод модуля ЭВМ/Machine упёрся в то, что переводчик не заходит внутрь машинного кода, соответственно, после перевода всё ломается.

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

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

Сообщение БудДен » 08.02.22 16:51

С грехом на 9/10 перевёл модуль Machine - скорее можно сказать "показал присутствие", чем "перевёл". Хотя если посмотреть на использование в модуле Heaps - то вроде всё выглядит переведённым. Проблема с этим модулем была в двух вещах:

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

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

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

Сообщение БудДен » 08.02.22 20:56

Реализовал "тернарное если", если3(условие, выражениеПриИстине, выражениеПриЛжи) - пока только для одного компилятора и только в англоязычной ветке.

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

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

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

Починил загрузку с LiveCD.

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

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

Сообщение БудДен » 10.03.22 22:13

Начал переводить модуль UCS32

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

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

Сообщение БудДен » 12.03.22 01:00

Продолжил.

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

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

Сообщение БудДен » 16.03.22 01:09

Вроде доделал UCS2 = Ю16, начал String = Строки8.
Клонировал проект на git.org.ru и отправил последние изменения туда.

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

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

Сообщение БудДен » 25.03.22 01:44

Перевёл 4 модуля, индекс кирилличности - 30.43%

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

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

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

Дочитал код загрузки кооп.версии и выделил все куски, написанные на ассемблере.

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

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

Сообщение БудДен » 06.04.22 00:10

Продолжаю чтение загрузки Zynq. Что-то там много всего...

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

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

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

Похоже, что зависаем в ReadMemoryLayout, хотя казалось бы, где там зависать?
Надо сделать именованные процедуры Breakpoint1, BreakpointN и по ним размечать трассу с целью
поиска, где зависли. Ы?

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

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

Сообщение БудДен » 21.04.22 01:36

По RPi ещё с тех пор продвинулся, теперь падаем на утверждении где-то в чтении памяти (уже не помню, но надеюсь, что где-то записано).

Сегодня перешёл в другую ветку и сделал, чтобы подробная печать работала на 64-разрядах, в сборках Linux64 и Win64.
См. https://tvoygit.ru/budden/ja-o-s/src/br ... ная-печать

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

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

Сообщение БудДен » 22.04.22 12:23

Выложил новую сборку под Линукс.

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

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

Сообщение БудДен » 15.06.22 19:30

На форуме можно подсвечивать код на языке ЯОС, с помощью кнопочке "JAOS". Вот так:

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

модуль ааа;
проц бб(); (* комментарий *)
(* вложенный
  (* комментарий *) *)
нач
  возврат 4 кон бб;

кон ааа.

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

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

Сообщение БудДен » 07.08.22 12:03

Пытаюсь запустить переводчик всего под линуксом, и он спонтанно зависает. Место, где зависает, всегда одно и то же. Но плохо это всё выглядит, т.к. он зависает через значительное время.

Ответить