макросы - план

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

Re: макросы - план

Сообщение БудДен » 03.01.22 16:01

Теперь две задачи - переход к мультиопределению и двухоконный просмотр. С чего начать? Видимо, с перехода
к мультиопределению - он давно уже нужен.

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

Re: макросы - план

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

Сделал заготовку окошка для перехода к определению. Хотя можно сказать, что в основном буксовал.
✓ Теперь надо прочесть карту мест и сделать переход от мршм к ярм/Mod.

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

Re: макросы - план

Сообщение БудДен » 13.01.22 21:52

В общем, проект макросов пока призакрывается, то ли мне надо отдохнуть, то ли он зашёл в тупик.
Однако нужно сделать (уже давно напрашивается):

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

вырТип(массив 5 из симв32)
вырИмпорт(Потоки)
вырСсылкаНаПроцедуру(ЛогЯдра.пСтроку8)
со ссылкой на процедуру всё понятно - это то же, что и просто написать ЛогЯдра.пСтроку8.
вырТип может быть похож на SYSTEM.TYPECODE, но иметь смысл для всех типов, а не только для избранных.
Для неизбранных типов он может возвращать что угодно, например, какую-то особую запись, а в записи два поля - имя для печати и размер.
Короче, что-то вроде рефлексии. Важнее не начинка, а протянуть через тулчейн, чтобы можно было как-то оперировать с такими сущностями.
вырИмпорт соответственно тоже может возвращать какую-нибудь бесполезную или условно полезную запись, относящуюся к модулю. Главное, чтобы
можно было такие записи передавать как параметры, иметь переменную типа "ссылка на модуль" и т.п.

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

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

Re: макросы - план

Сообщение БудДен » 15.01.22 00:46

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

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


Может быть, это за неделю осилю, дальше надо будет записать видео и отложить их.

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

Поэтому мы не реализуем:
* идею про разбиение макрорасширения на чистое и грязное
* не будем доводить до ума навигацию (переход к любому исходнику макроса, а не только скачки между мсм и мршм) (сделал переход к
месту ошибки, даже если это не мршм, хотя это ещё не всё, что надо).
* не будем делать пример, похожий на A2-шный - хватит и пузырька пока что
* более красивое определение макросов - хватит и такого пока что уродливого (скажем про то, что надо допилить интерпретатор).
* расширения АО (описатели типов, литералы импортов, литералы цитат с навигацией для включения их в модули с определениями макросов)
Последний раз редактировалось БудДен 18.01.22 20:05, всего редактировалось 2 раза.

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

Re: макросы - план

Сообщение БудДен » 18.01.22 00:57

Делаю пример. Остановился на том, что надо выводить инфу о том, какая или где процедура не найдена, а то как-то совсем уныло.

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

Re: макросы - план

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

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

Ответить