Skip to content

Timon4ikRU/RuCPrep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RUPREP - Русский Препроцессор для C++

Описание

RUPREP — это набор хедеров для C++, который позволяет писать код на великом и могучем русском языке. Больше никаких int main() — только целое главная()! Никаких std::cout — только вывод!

Просто подключи хедеры и пиши как нормальный человек.

Быстрый старт

#include "ruprep.h"
#include "rustd.h"
#include <iostream>

целое главная() {
    вывод << "Привет, мир!" << конец_строки;
    вернуть 0;
}

Компиляция:

g++ -o prog main.cpp -std=c++11
./prog

Состав пакета

Файл Описание
ruprep.h Основные ключевые слова (if, for, int, class...)
rustd.h Стандартная библиотека по-русски (vector, string, cout...)

Список замен

Ключевые слова (ruprep.h)

Русский Английский
определить define
если if
иначе else
иначе_если else if
пока while
для for
вернуть return
целое int
дробное float
двойное double
символ char
строка std::string
беззнаковое unsigned
константа const
статический static
класс class
структура struct
общедоступный public
закрытый private
защищённый protected
виртуальный virtual
попытаться try
поймать catch
бросить throw
новый new
удалить delete
размер sizeof
главная main
пустота void

Стандартная библиотека (rustd.h)

Русский Английский
вектор std::vector
строка std::string
вход_поток std::istream
выход_поток std::ostream
поток_оба std::iostream
ввод std::cin
вывод std::cout
ошибка std::cerr
файл std::fstream
список std::list
карта std::map
множество std::set
пара std::pair
умный_указатель std::shared_ptr
нить std::thread
мьютекс std::mutex
блокировка std::lock_guard
конец_строки std::endl

Примеры

Класс на русском

#include "ruprep.h"
#include "rustd.h"

класс Товар {
закрытый:
    строка название;
    целое цена;
    
общедоступный:
    Товар(строка н, целое ц) : название(н), цена(ц) {}
    
    пустота показать() {
        вывод << "Товар: " << название 
              << ", Цена: " << цена << " руб." << конец_строки;
    }
};

Работа с вектором

#include "ruprep.h"
#include "rustd.h"
#include <algorithm>

целое главная() {
    вектор<целое> числа = {5, 2, 8, 1, 9};
    
    std::sort(числа.начать(), числа.кончить());
    
    для (константа авто& ч : числа) {
        вывод << ч << " ";
    }
    
    вернуть 0;
}

Многопоточность

#include "ruprep.h"
#include "rustd.h"
#include <thread>

пустота работяга(целое номер) {
    вывод << "Поток " << номер << " работает" << конец_строки;
}

целое главная() {
    нить первый(работяга, 1);
    нить второй(работяга, 2);
    
    первый.присоединиться();
    второй.присоединиться();
    
    вернуть 0;
}

Предупреждения

  1. Не забудь подключить оригинальные хедеры (<iostream>, <vector> и т.д.)
  2. Пространство имён std всё ещё нужно для некоторых вещей
  3. Не все ключевые слова указанные в примерах выше есть в данном препроцессоре, ибо физически невозможно в одиночку переписать все библиотеки и хедеры C

Вклад в проект

Хочешь добавить ещё замен? Создавай pull request!

  • #define ошибка error
  • #define много 100500
  • #define ненужная_штука debug

Лицензия

CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

Этот проект полностью находится в общественном достоянии. Вы можете использовать, изменять, копировать и распространять его без каких-либо ограничений.

Автор

Тимофей Якубов, 2026
"Пиши на русском — думай по-нашему!"


P.S. Если код не компилируется — проверь, не забыл ли ты #include <iostream>.
P.P.S. Если код компилируется — ты охуенный программист!

About

Russian C++ Preprocessor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages