README.md

Компилятор Trivil-0

Что читать

  • Как внести свой вклад в проект: doc/CONTRIBUTING.md
  • Описание языка: doc/тривиль/описание/report.pdf
  • Тривиль проект является частью проекта “Языки выходного дня” (ЯВД или WEL).
  • ЯВД является частью проекта “Интенсивное программирование”.

Упрощенная установка рабочей среды Тривиль

Упрощенная установка доступна для Windows и Linux, см.: https://gitflic.ru/project/alekseinedoria/rostki

Установка и использование компиляторов Тривиль на Windows

1) Перед установкой Тривиля должны быть установлены:

  • Go: https://go.dev/doc/install
  • Clang

2) Запустить установочный скрипт

cd scripts
install <path to install directory>

3) Добавить install directory в PATH

4) Написать модуль на Тривиле. Для создания/ редактирования исходных текстов рекомендуем использовать Notepad++ к которому есть подсветка синтаксиса: doc/tri-notepad.xml

5) Перейти в рабочую папку (в ней будет создан exe), запустить:

tric <путь к папке головного модуля>

Например:

tric проекты/мой 
tric . // если головной модуль лежит в рабочей папке

Тестирование пакетов компилятора (Go)

cd src
go test ./...

Обновление интерфейсов библиотек

Начиная с компилятора версии v0.75:

трик -док-мод=истина -ген стд

Для предыдущих версия компилятора:

трик -док-мод=истина -сиген=ложь стд

или

tric -make_def=true -gen=false стд

Тестирование библиотек Тривиля

трик +тест стд::строки
тест-вход.exe

или

tric +тест стд::<имя библиотеки> 
test_vxod

Внимание: пока +тест создает программу тестирования, но не запускает её.

Использование Unicode

Концептуально логика работы с Unicode взята из библиотеки языка Julia (минимум).

UTF-8: https://github.com/JuliaStrings/utf8proc

Русификация консоли

Windows

См: https://remontka.pro/fix-cyrillic-windows-10/

Панель управления -> Региональные стандарты -> Дополнительное -> Изменить язык системы:

Включить галочку: Использовать UTF-8

Linux

В подавляющем большинстве случаев на Linux установлена локаль ru_RU.UTF-8, этого достаточно для работы с Trivil.

Русский язык в именах файлов в Git

Однако, при работе с Git имена файлов отображаются в виде escape-последовательностей, что не очень удобно.

Для изменения поведения Git нужно выполнить команду

git config --global core.quotePath false

Размер компилятора:

Конкретные цифры Строчек кода на Go:
  • 2022.12.16 3135 in 31 files
  • 2022.12.22 4450 in 37 files
  • 2022.12.31 5611 in 41 files
  • 2023.01.08 6583 in 44 files, runtime: 509 lines (C)
  • 2023.01.13 7199 in 45 files, runtime: 568 lines (C)
  • 2023.01.22 8061 in 50 files, runtime: 685 lines (C)
  • 2023.02.03 9001 in 51 files, runtime: 767 lines (C)
  • 2023.03.11 9417 in 54 files, runtime: 852 lines (C)
  • 2023.04.08 9836 in 54 files, runtime: 930 lines (C), libraries: 5, 561 lines (Тривиль)
  • 2023.05.14 10369 in 56 files, runtime: 1312 lines (C), libraries: 10, 1230 lines (Тривиль), трик 987 lines (Тривиль)
  • 2023.06.04 11,128 in 57 files, runtime: 1530 lines (C), libraries: 10, 1818 lines (Тривиль), трик 4,352 lines (Тривиль)
  • 2023.06.25 11,172 in 57 files, runtime: 1776 lines (C), libraries: 11, 2321 lines (Тривиль), трик 10,455 lines (Тривиль)

Как посчитать в Windows (PowerShell)

#Count lines in Powershell:
(dir -Include *.go -Recurse | select-string "$").Count
#Count files:
(dir -Include *.go -Recurse ).Count

Как посчитать на Linux

cd src
find . -name '*.go' | xargs wc -l
find . -name '*.go' | wc -l

cd ../runtime
find . -name '*.?' | xarg wc -l
find . -name '*.go' | wc -l
Описание

Язык программирования Тривиль, компиляторы tric (Go) и трик (Тривиль)

Конвейеры
0 успешных
0 с ошибкой