Repository navigation
Releases
Evolution of the GrassGreen v-4-1-0 interface
Evolution of the GrassGreen v-4-1-0 interface
Что нового:
Графический движок VD+ (Video Graphics Plus): субпиксельный софтверный рендерер без зависимостей от устаревших Win32 элементов и браузерных обёрток.
Ультра-оптимизация: полное приложение со всеми эффектами и 60 FPS частицами потребляет всего 4.3 МБ RAM и <2% CPU!
Живой генератор частиц (particles): парящий космический изумрудный фон с синусоидальной анимацией прозрачности.
Динамический виджет системных часов: real-time HUD в шапке окна.
Стили шапок окон (header): macOS dots, modern Windows 11, frameless glass.
Z-Index и слои: многозадачный оконный менеджер готов к созданию графического окружения операционной системы (GrassOS).
Официальное расширение под VS Code: обновлено до v4.1.0 с полной поддержкой синтаксиса VD+.
Новая библиотека !audio!
GrassGreen-v-3-6-0: two new libraries, !tg! and !2DGraphics!
Add files via upload
Evolution of GrassGreen v-4-0-0
GrassGreen 4.0 (G&G) — крупное системное обновление языка программирования, включающее переработанную архитектуру виртуальной машины, нативный JIT-компилятор под архитектуру x86_64, встроенную многопоточность, аппаратный доступ к памяти (MMIO), поддержку C-ABI структур и расширение для Visual Studio Code.
Главные изменения
1. Новая архитектура ядра и производительность
- Прямая диспетчеризация инструкций: отказ от цикла switch в пользу табличной диспетчеризации (computed goto).
- NaN-Boxing: все базовые значения упакованы в 64-битный формат IEEE 754 (ровно 8 байт на значение), что снижает нагрузку на L1-кэш процессора в 2 раза.
- Arena Allocator: блочный аллокатор памяти со сдвигом указателя (bump-pointer) для быстрого выделения и освобождения памяти в O(1) без фрагментации.
- Нативный JIT-компилятор x86_64: компиляция горячих циклов байт-кода в машинные инструкции процессора с использованием регистров SSE2.
- Режим Freestanding: возможность автономной работы ядра без стандартной библиотеки C/C++ (libc) для загрузчиков ОС и bare-metal окружения.
2. Многопоточность и синхронизация (!thread!)
- Запуск функций в системных потоках операционной системы:
take t = thread(worker, arg);. - Синхронизация и ожидание завершения потока:
take res = thread_join(t);. - Фоновые асинхронные задачи:
async task();. - Системные мьютексы:
mutex_create(),mutex_lock(),mutex_unlock(),mutex_destroy().
3. Аппаратный доступ к памяти и портам (!mmio!)
- Прямое чтение и запись физических и виртуальных адресов:
mmio_read8/16/32/64иmmio_write8/16/32/64. - Инструкции ввода-вывода x86:
inb,outb,inw,outw,inl,outl. - Модификатор
volatileдля запрета кэширования значений в регистрах. - Барьеры памяти:
memory_barrier()(mfence),read_barrier()(lfence),write_barrier()(sfence).
4. Синтаксис и система типов
- Поддержка составных структур данных
structсо строгим выравниванием полей по стандарту C-ABI (1, 4, 8 байт). - Динамические массивы
arrayс методамиpush,pop,len. - Потоковый ввод-вывод: вывод через
gout << ... << endl;и ввод черезgin >> var;с прямыми вызовами Win32. - Модульная система подключения файлов:
import "file.grass";с автоматическим контролем повторных включений (семантика#pragma once).
5. Инструментарий и установка
- Автономный графический инсталлятор (setup.exe): Win32 GUI установщик (1 МБ), который разворачивает компилятор
grg, прописывает системныйPATHи регистрирует ассоциации файлов.grassи.gdbс официальными иконками. - Расширение для Visual Studio Code (grassgreen-4.0.0.vsix): TextMate подсветка, автодополнение IntelliSense по всем 18 библиотекам, всплывающая документация (Hover), сборка по
Ctrl + Shift + Bи запуск поF5.
Установка
- Скачайте setup.exe из блока прикрепленных файлов ниже.
- Запустите установщик и нажмите "Установить".
- После установки откройте любой терминал и проверьте доступность компилятора:
grg --help
Установка плагина для VS Code
- Скачайте файл grassgreen-4.0.0.vsix.
- В терминале выполните команду:
Либо откройте вкладку Extensions в VS Code (
code --install-extension grassgreen-4.0.0.vsix
Ctrl + Shift + X), нажмите меню...в правом верхнем углу и выберите Install from VSIX....
GrassGreen-v-3-5-0/Two libraries have been added
Release v3.5.0: added !proc!, !fsys! and updated core
GrassGreen Release v-3-4-0 — New System & JSON Modules
Update README.md
GrassGreen-v-3-2-0
Change logo image source in README Updated logo image source path in README.md
GrassGreen-v-3-1-0
GrassGreen-v-3-0-1
GrassGreen-v-3-0-0
Fix logo image source path in README.md Updated image source path for logo in README.