Тривиль — начало лето

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

  • выбор по типу
  • цикл по вектору (foreach), потенциально расширяемый до арифметического и цикла по итератору
  • выходные (in out) параметры

Не описываю здесь, см. в описании языка. Смотреть надо в ветке bootstep8, она еще не слита в мастер.

В библиотеках существенно доработаны строки, полностью переделан форматный вывод, в том числе сделан другой синтаксис форматной строки. Я долго изучал Go и Rust форматы, и сделал, как мне кажется, хороший и логичный синтаксис (и без необходимости переключаться на латиницу). Реализовано еще не все, но мне стало гораздо удобнее. Краткое описание в исходнике. Как всегда, критика и предложения приветствуются.

Компилятор на Тривиле очень существенно продвинулся (написано почти 4.5 тысячи строк):

  • полностью выложен AST (АСД)
  • почти полностью написан парсер — осталось доделать только разбор литералов, а для этого дописать еще несколько функций в библиотеки. Хотел доделать сегодня, но бензин закончился.

Сравнение с прошлым замером:

  • 2023.05.14
    • compiler: 10369 lines in 56 files (Go)
    • runtime: 1312 lines (C),
    • библиотеки: 10/1230 lines (Тривиль)
    • компилятор: 948 lines (Тривиль)
  • 2023.06.04
    • compiler: 11128 lines in 57 files (Go) + 800 (новые конструкции и правка ошибок)
    • runtime: 1530 lines (C), +200
    • библиотеки: 10/1818 lines (Тривиль) +600
    • компилятор: 4352 lines (Тривиль) +3500

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *