Yoptava — это первый в мире язык программирования на русском языке, транслируемый в Java с помощью Runtime компилятора. Yoptava позволяет выбрать определённую лексику для программирования, например:
- ruptava — классический язык программирования Java на русском языке
- yoptava — язык программирования Java для гопников и реальных пацанов, основанный на YoptaScript
- leptava — язык программирования Java использующий старославянскую лексику
Вся разработка и поиск ошибок ведётся в ветке develop! При разработке языка использовался язык программирования YoptaScript, а также Словарь старославянских слов.
Yoptava была реализована всего за несколько дней и не является серьёзной разработкой. Yoptava не несёт в себе цели оскорбить кого-то или унизить. Yoptava содержит множество нецензурной лексики.
- Скачайте последнюю версию языка
- Установите Java SDK в Project Structure. Минимальная версия Java SDK — 1.8
- Внесите нужные настройки в файле YoptavaSettings
- Приступайте к написанию кода ruptava, yoptava или leptava, в зависимости от выставленных настроек
- Yoptava поддерживает только компиляцию класса
Load
. Очень приветствуется доработка языка под компиляцию дерева.yoptava
,.ruptava
,.leptava
файлов - Также приветствуется упрощение парсинга файлов в классе YoptavaParser
Имеется возможность добавить свой собственный словарь Yoptava. Для этого необходимо:
- В пакете dictionary создать новый класс, например:
public class MyptavaDictionary implements Dictionary {
private final Map<String, String> keywords = new HashMap<String, String>() {
{
put("ключевое слово в вашем языке", "оригинал ключевого слова Java");
}
};
@Override
public @NotNull Map<String, String> getKeywords() {
return keywords;
}
}
- Добавить созданный класс как новый тип языка в LanguageType:
MYPTAVA(".myptava", new MyptavaDictionary())
- Создать новую папку
myptava
в корне проекта - В YoptavaSettings изменить константы LANGUAGE_TYPE и SOURCES_DIRECTORY:
public static final LanguageType LANGUAGE_TYPE = LanguageType.MYPTAVA;
..
public static final String SOURCES_DIRECTORY = "myptava";
В файлах ruptava, yoptava и leptava присутствуют примеры использования массивов, циклов, switch-оператора, а также реализации методов. Приветствуется дополнение примеров.