Быстрота C. Синтаксис Python. Лучшее от лучших. От bare-metal ядер до высокопроизводительных приложений рабочего стола. Нативная компиляция и нулевой оверхед.
# CBlerr v5.2 — Win32 Window + Native calls
extern def MessageBoxA(hwnd: *void, text: *void, caption: *void, uType: int) -> int
extern def CreateWindowExA(dwExStyle: u64, lpClass: *void, lpName: *void,
dwStyle: u64, x: int, y: int, w: int, h: int,
hParent: u64, hMenu: u64, hInst: u64, lp: u64) -> u64
extern def ShowWindow(hwnd: u64, nCmdShow: int) -> int
extern def GetMessageA(msg: *void, hWnd: u64, min: u32, max: u32) -> int
extern def DispatchMessageA(msg: *void) -> i64
struct WNDCLASSEXA:
cbSize: u32
style: u32
lpfnWndProc: u64
cbClsExtra: int
cbWndExtra: int
hInstance: u64
hIcon: u64
hCursor: u64
hbrBackground: u64
lpszMenuName: *void
lpszClassName: *void
hIconSm: u64
def WndProc(hwnd: u64, msg: u32, wParam: u64, lParam: u64) -> i64:
match msg:
case 0x000F: # WM_PAINT
endofcode
case 0x0002: # WM_DESTROY
endofcode
endofcode
def WinMain() -> int:
print("CBlerr v5.2 GUI starting...")
wc: WNDCLASSEXA
wc.cbSize = 80
wc.lpfnWndProc = &WndProc as u64
wc.lpszClassName = "CBlerrWnd".data as *void
hwnd: u64 = CreateWindowExA(0, wc.lpszClassName, "CBlerr v5.2".data as *void,
0xCF0000, 100, 100, 600, 400, 0, 0, 0, 0)
ShowWindow(hwnd, 1)
msg: u8[48]
while GetMessageA(&msg as *void, 0, 0, 0) != 0:
DispatchMessageA(&msg as *void)
endofcode
Пишите CBlerr-код прямо в браузере — редактор с подсветкой синтаксиса и встроенной функцией print()
(Это демонстративная песочница. Работа с GUI/ASM и прочими вещами здесь не работает.)
Мощные возможности для разработчиков системного уровня
Транспиляция в стандартизированный C11 с компиляцией через GCC/Clang для максимальной производительности. Поддерживает уровни оптимизации -O0 до -O3.
Встроенные функции print() (автоматически форматирует строки и числа) и len() (длина массивов и строк) без необходимости подключать внешние зависимости.
Собирайте исполняемые файлы для Windows x64 и Linux x64, а также динамические библиотеки (.dll) с помощью флагов -t Linux и -t WinLib.
Забудьте про длинные аргументы. Управляйте сборкой, иконками, UI-режимами и целевой ОС через удобные файлы проектов.
Универсальные функции и структуры с полной специализацией — безопасность типов абсолютно без накладных расходов в рантайме.
Мощный фронтенд применяет удаление мертвого кода (DCE) и сворачивание констант (Constant Folding) прямо на стадии построения синтаксического дерева.
Декоратор @asm для микрооптимизации критичных участков — SIMD, CPUID, атомарные операции в виде встроенного x86 ассемблера.
Прямой доступ к CRT: указатели, адреса &, арифметика и разыменование. Никакого GC, никаких скрытых накладных расходов.
Нативное Win32-окно и исходный код — всё написано на CBlerr v5.2.
extern def CreateWindowExA(
dwExStyle: u64, lpClass: *void,
lpName: *void, dwStyle: u64,
x: int, y: int, w: int, h: int,
hParent: u64, hMenu: u64,
hInst: u64, lp: u64) -> u64
extern def ShowWindow(hwnd: u64, n: int) -> int
def WndProc(hwnd: u64, msg: u32,
wp: u64, lp: u64) -> i64:
match msg:
case 0x0002: # WM_DESTROY
return 0
return 0
def WinMain() -> int:
# Компилятор сам добавит -mwindows флаг!
hwnd: u64 = CreateWindowExA(
0, "CBlerrWnd".data as *void,
"Calculator".data as *void,
0xCF0000, 100, 100,
300, 400, 0, 0, 0, 0)
ShowWindow(hwnd, 1)
endofcode
WinLib для компиляции кода в динамические .dll библиотеки.-t Linux.Build completed in 0.842s).Простые шаги для написания первой программы на CBlerr v5.2
Скачайте последний релиз или соберите из исходников. Требуется Python 3.10+ и MinGW/GCC/Clang.
git clone https://gitlab.com/tankman02/cblerr.git cd cblerr
Первая программа, использующая новую нативную функцию print и ключевое слово endofcode.
def main() -> int: print("Hello, CBlerr v5.2!") endofcode
Используйте встроенную систему сборки. Теперь поддерживается Linux и сборка DLL!
# Для Windows (.exe) python build/build.py hello.cbl # Для создания динамической библиотеки (.dll) python build/build.py hello.cbl -t WinLib # Для Linux (кросс-компиляция) python build/build.py hello.cbl -t Linux
Организуйте большой код с помощью файлов конфигурации проекта.
# Файл project.cblproj: name = MyProject main_file = hello.cbl target = Windows # Сборка проекта: python build/build.py project.cblproj
Официальная подсветка синтаксиса CBlerr для Visual Studio Code.
# Через командную строку:
curl -L https://gitlab.com/Tankman02/CBlerr/raw/main/cblerr-final-1.0.0.vsix \
-o cblerr.vsix
code --install-extension cblerr.vsix