Тривиль - уже вполне весело

Я хорошо продвинулся за пару выходных, сделано (кроме всякого разного): многофайловые модули экспорт/импорт полиморфизм в параметрах Начал писать библиотеки, вот например (вставляю картинки, чтобы была подсветка текста): Использование: Запуск в […]

Тривиль 08.01.2023

На конец праздничных дней (между выпить/закусить, выездами на природу и прочими развлечениями): доделана генерация в Си сделана компиляция программы из нескольких модулей (есть пара недоделок) Вот пример (модули в отдельных файлах, […]

Я закончил проход по лексическому, синтаксическому и семантическому анализу. Сделано все, кроме: может-быть ссылок и операций с ними импорта оператора выбора Попутно, дочистил грамматику, сделал несколько полезных изменений. Например, сделал […]

Стандартные функции, увы, нужны. Например, для дин массивов (slices) в Го есть функции: len, cap (capacity), make, append и copy, работающие с любыми слайсами (независимо от типа элемента). Необходимый минимум […]

Тривиль - планомерное движение

После перехода от изготовления сквозного «скелета» компилятора к планомерному продвижению, сделано: парсер, практически полный, кроме «может быть» типов и null safety операторов — это оставлю на потом, надо еще обдумать. […]

Тривиль - первый кусочек не-совсем-тривиля

Маленький кусочек не совсем тривиального: в идентификаторе можно использовать пробелы и завершать его знаками ‘?’ и ‘!’. Например: фн Операция завершена?(): Лог если Операция завершена?() & ответ = Беда! { […]

Тривиль - факториал

Компилируется и работает: На этом создание скелета компилятора закончено. Теперь пойду более последовательно — парсер, семантический анализ, генерация.  

Перенес из комментария, там уже слишком много. Денис Будяк пишет: «Алексей, тему полиморфизма можно дальше обсуждать. Например, аналог interface{} в Активном Обероне уже есть, хотя работает только для записей, но […]

Выступил сегодня на семинаре ruSTEP (=Russian seminar on Software Engineering, Theory and Experimental Programming, https://persons.iis.nsk.su/ru/ruSTEP). На странице семинара будет выложено видео. Презентацию выкладываю, там в конце есть список использованных материалов.