Skip to content

Commit 7adf86c

Browse files
authored
Merge pull request #27 from Lime-blur/develop
Доработал язык под компиляцию дерева файлов
2 parents 2a5e418 + 5a81391 commit 7adf86c

33 files changed

+744
-269
lines changed

README.md

+11-8
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
## О языке
2020
Yoptava — это первый в мире язык программирования на русском языке, транслируемый в Java с помощью Runtime компилятора. Yoptava позволяет выбрать определённую лексику для программирования, например:
2121

22-
- [ruptava](https://github.com/Lime-blur/yoptava/blob/main/example/ruptava/Load.ruptava) — классический язык программирования Java на русском языке
23-
- [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/goptava/Load.goptava) — язык программирования Java для гопников и реальных пацанов, основанный на [YoptaScript](http://yopta.space/)
24-
- [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/leptava/Load.leptava) — язык программирования Java использующий старославянскую лексику
22+
- [ruptava](https://github.com/Lime-blur/yoptava/blob/main/example/ruptava) — классический язык программирования Java на русском языке
23+
- [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/goptava) — язык программирования Java для гопников и реальных пацанов, основанный на [YoptaScript](http://yopta.space/)
24+
- [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/leptava) — язык программирования Java использующий старославянскую лексику
2525

2626
## Разработка
2727

@@ -64,7 +64,10 @@ public class Main {
6464
}
6565
```
6666

67-
4. Приступайте к написанию русскоязычного Java кода в файле `Load.goptava`, предварительно положив его в папку `goptava` в корне вашего проекта! Примеры реализации: [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_goptava), [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_leptava), [ruptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_ruptava).
67+
4. Приступайте к написанию русскоязычного Java кода в файле `Авторитет.goptava`, предварительно положив его в папку `goptava` в корне вашего проекта! Примеры реализации:
68+
- Goptava: [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/goptava), [example_goptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_goptava)
69+
- Leptava: [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/leptava), [example_leptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_leptava)
70+
- Ruptava: [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/ruptava), [example_leptava](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_ruptava)
6871

6972
## Добавление собственного словаря
7073

@@ -142,15 +145,15 @@ public class Main {
142145
}
143146
```
144147

145-
5. После этого можно приступать к написанию кода на вашем языке программирования в файле `Load.myptava`, предварительно положив его в папку `myptava` в корне вашего проекта! Пример реализации: [custom](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_custom).
148+
5. После этого можно приступать к написанию кода на вашем языке программирования в файле `Load.myptava`, предварительно положив его в папку `myptava` в корне вашего проекта! Пример реализации: [myptava](https://github.com/Lime-blur/yoptava/blob/main/example/myptava), [example_custom](https://github.com/Lime-blur/yoptava/blob/main/example/src/main/java/ru/limedev/example/example_custom).
146149

147150
## Проблемы
148151

149-
- Yoptava поддерживает только компиляцию класса `Load`. Очень **приветствуется** доработка языка под компиляцию дерева `.goptava`, `.ruptava`, `.leptava` файлов
150-
- Также **приветствуется** упрощение парсинга файлов в классе [YoptavaParser](https://github.com/Lime-blur/yoptava/blob/main/src/main/java/ru/limedev/yoptava/parser/YoptavaParser.java)
152+
- **Приветствуется** упрощение парсинга файлов в классе [YoptavaParser](https://github.com/Lime-blur/yoptava/blob/main/src/main/java/ru/limedev/yoptava/parser/YoptavaParser.java)
153+
- **Очень приветствуется** дополнение словарей `goptava`, `ruptava` и `leptava`
151154

152155
## Добавление подсветки синтаксиса
153156
Если вы пользуетесь Intellij Idea, вы можете добавить подсветку синтаксиса `.goptava`, `.ruptava`, `.leptava` файлов используя следующие файлы: [Ruptava.txt](https://github.com/Lime-blur/yoptava/blob/main/intellij_settings/editor_filetypes/Ruptava.txt), [Goptava.txt](https://github.com/Lime-blur/yoptava/blob/main/intellij_settings/editor_filetypes/Goptava.txt), [Leptava.txt](https://github.com/Lime-blur/yoptava/blob/main/intellij_settings/editor_filetypes/Leptava.txt).
154157

155158
## Примеры
156-
В файлах [ruptava](https://github.com/Lime-blur/yoptava/blob/main/example/ruptava/Load.ruptava), [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/goptava/Load.goptava) и [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/leptava/Load.leptava) присутствуют примеры использования массивов, мап, циклов, switch-оператора, а также реализации методов. **Приветствуется** дополнение примеров.
159+
В [ruptava](https://github.com/Lime-blur/yoptava/blob/main/example/ruptava), [goptava](https://github.com/Lime-blur/yoptava/blob/main/example/goptava) и [leptava](https://github.com/Lime-blur/yoptava/blob/main/example/leptava) присутствуют примеры использования массивов, мап, циклов, switch-оператора, а также реализации пакетов, классов и методов.

example/goptava/Load.goptava

-130
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
клеёнка model.base;
2+
3+
ёбанный хуёво БатяМодель {
4+
5+
Район вычислитьИмя();
6+
7+
Район вычислитьХуйЗнаетЧто();
8+
}
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
клеёнка model;
2+
3+
спиздить model.base.БатяМодель;
4+
5+
ёбанный бачок клёво Стукач силикон БатяМодель {
6+
7+
мой бачок Район имяСтукача;
8+
мой бачок Район чоБыСпиздить;
9+
10+
ёбанный Стукач(Район имяСтукача, Район чоБыСпиздить) {
11+
тырыпыры.имяСтукача = имяСтукача;
12+
тырыпыры.чоБыСпиздить = чоБыСпиздить;
13+
}
14+
15+
@Перебить
16+
ёбанный Район вычислитьИмя() {
17+
отвечаю тырыпыры.имяСтукача;
18+
}
19+
20+
@Перебить
21+
ёбанный Район вычислитьХуйЗнаетЧто() {
22+
отвечаю тырыпыры.чоБыСпиздить;
23+
}
24+
25+
@Перебить
26+
ёбанный Район поПацански() {
27+
отвечаю "Слышь, " + имяСтукача + ", " + чоБыСпиздить + " есть? А если найду?";
28+
}
29+
}
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
клеёнка model;
2+
3+
спиздить model.base.БатяМодель;
4+
5+
ёбанный бачок клёво Чика силикон БатяМодель {
6+
7+
мой бачок Район имяЧики;
8+
мой бачок Район чоБыГлянуть;
9+
10+
ёбанный Чика(Район имяЧики, Район чоБыГлянуть) {
11+
тырыпыры.имяЧики = имяЧики;
12+
тырыпыры.чоБыГлянуть = чоБыГлянуть;
13+
}
14+
15+
@Перебить
16+
ёбанный Район вычислитьИмя() {
17+
отвечаю тырыпыры.имяЧики;
18+
}
19+
20+
@Перебить
21+
ёбанный Район вычислитьХуйЗнаетЧто() {
22+
отвечаю тырыпыры.чоБыГлянуть;
23+
}
24+
25+
@Перебить
26+
ёбанный Район поПацански() {
27+
отвечаю "Ля какая " + имяЧики + ", " + чоБыГлянуть + " покажешь?";
28+
}
29+
}

0 commit comments

Comments
 (0)