дневник Яос

Операционная система, написанная на языке Оберон и проект её перевода на русский язык. Только технические вопросы.
БудДен
Сообщения: 854
Зарегистрирован: 07.10.18 14:01

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

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

Это какой-то ад. Занимаюсь всего лишь одним модулем Strings. Сначала ошибок было около 200, теперь осталось около 40. Это только ошибки компиляции. Ясно, что при массовых заменах я внесу и другие ошибки (уже внёс в те модули, которые поправлял, отлаживал долго).

Спать.

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

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

Сообщение БудДен » 08.05.20 22:48

Вроде перевёл за сегодня TFTypeSys.Mod, до понимающего кириллицу TFPET ещё ого-го. Временное окно скоро закроется, и всё затянется ещё на месяц. Т.е. раньше начала июня не будет среды разработки с поддержкой кириллицы в идентификаторах, и даже картиночку красивую не получится нарисовать. Не говоря уж, конечно же, о компиляторе с поддержкой кириллицы в идентификаторах. Как бы не к осени он созрел. Жаль, что так медленно, вроде простая вещь, а тянется годами. Хорошо хотя бы то, что текущее дело можно делать в более-менее вялотекущем режиме.

Главное, не полениться и побольше потестировать модули.

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

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

Сообщение БудДен » 10.05.20 20:30

Дело пошло существенно медленнее в последние два дня из-за других дел, но сегодня TFAOParser.Mod с UCS32 скомпилировался. Теперь нужно тестировать и открывается (видимо) прямая дорога к поддержке русскоязычных идентификаторов хотя бы в IDE. Впилить их в компилятор может оказаться намного сложнее... Но можно будет зато показывать красивые картинки :)

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

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

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

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

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

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

Сообщение БудДен » 12.05.20 23:59

Пока качались репозитории, пересобрал Linux32 и образ под QEMU. Правда, последний без сетки. Но парсер не сильно продвинулся.

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

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

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

Было особо некогда, но улучшил процесс сборки BIOS32. Теперь можно с довольно высокой степенью автоматизации собрать и запустить образ для qemu с работающей сетью (под Linux). Это, в общем-то, к основной теме нынешней деятельности никак не относится, просто было сподручно это сделать. Идеально было бы забрать из A2 патчи, которые чинят веб-браузер, но неизвестно, когда до этого дойдут руки. Явно не раньше, чем заработает TFPET.

https://gitlab.com/budden/jaos/-/commit ... 880bad2d29

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

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

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

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

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

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

Сообщение Павиа » 15.05.20 16:52

А сравнение у вас по правилам Unicode или по символьно? Юникод сурогатные пары требует объединять как следствие длина становится короче. Как по мне правило это тупое. Даже вредное. Так как много алгоритмов выборки и поиска отсекают по длине, а это правило порождает, вторую отличную от первой длину.

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

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

Сообщение БудДен » 15.05.20 20:45

Сравнение посимвольно. Я сначала читаю из utf-8, вот что получилось, то и сравниваю. А где этот алгоритм описан и что является примером суррогатной пары?

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

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

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

Благодаря помощи команды A2, научился по переменной типа ANY (указатель на любую запись) определять родословную (т.е. базовые типы по порядку наследования) типа этой записи. Это понадобилось после того, как выяснилось, что модуль отладочной печати не печатает унаследованные от базовых типов поля записей. Однако ни отладочную печать ни доделал, ни парсер не работает. Мало времени, медленно идёт, цели множатся как головы гидры. Настроение средне паршивое. Шансы выпустить юникодный TFAOParser в мае тают.

Ответить