дневник Яос

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

БудДен
Сообщения: 2300
Зарегистрирован: 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.

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

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

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

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

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

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

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

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

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

Ответить