Сейчас 15:10:55 Четверг, 28 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » JASP (Just Another Script Preprocessor)
JASP
Ty3uKДата: Понедельник, 02 Апреля 2012, 12:26:42 | Сообщение # 1
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
- небольшой препроцессор для языка Jass2, который запускается перед парсером vJass (JassHelper). Полную информацию о возможностях вы можете прочитать в мануале, все ссылки внизу.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 12 Апреля 2012, 16:47:09 | Сообщение # 51
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
Написал алгоритм уничтожения объектов.
Честно, я думал, дольше будешь делать. :) Поздравляю!

flush locals еще работает?

Еще одно предложение. Хотелось бы увидеть в JASS слабую типизацию:
Code
void test() {
    var t = new timer, id = GetHandleId(t);
    var i = 0, r = GetRandomReal(.0, bj_2PI);
    free t;
    flush t;
}


 

Ty3uKДата: Четверг, 12 Апреля 2012, 17:21:59 | Сообщение # 52
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
flush locals обрабатывает Адик, Жасп запускается после него. С типизацией будет несколько сложнее, ибо придется составлять бд функций, которые будут возвращать нужные типы. И так для реал, инт, буль и всех остальных. При наличии такой бд я смогу это реализовать :)

Добавлено (12 Апрель 2012, 17:21:59)
---------------------------------------------
Для начала добавлю типизацию без анализа функций. То есть можно будет объявлять переменные с любым значением, кроме функции. Например,

Code
var i = 0, r = .1, s = "wtf", i2 = 'Amrf'


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 12 Апреля 2012, 18:37:07 | Сообщение # 53
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
При наличии такой бд я смогу это реализовать
Тебе в каком формате? :)

Кстати, не забудь про
Code
var i = 0; var j = i;


 

Ty3uKДата: Четверг, 12 Апреля 2012, 18:43:25 | Сообщение # 54
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Мне? Обычный текст сойдет :) будет отлично, если функции будут в столбик

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DreiiДата: Четверг, 12 Апреля 2012, 19:12:26 | Сообщение # 55
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (Ty3uK)
var i = 0, r = .1, s = "wtf", i2 = 'Amrf'

вот это по истине круто!


 

llkaДата: Четверг, 12 Апреля 2012, 19:13:59 | Сообщение # 56
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 34
Блокировки:
Quote (Dreii)
var i = 0, r = .1, s = "wtf", i2 = 'Amrf'

const i,y,o integer канает?
 

Ty3uKДата: Четверг, 12 Апреля 2012, 19:15:23 | Сообщение # 57
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Константа? Хз, на такие совместимости я еще не тестировал

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 12 Апреля 2012, 19:56:29 | Сообщение # 58
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Пожалуйста.
Прикрепления: vars.txt (28.1 Kb) · funcs.txt (26.2 Kb)


 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:25:52 | Сообщение # 59
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Спасибо :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:26:06 | Сообщение # 60
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Понты, все это реализуется по с редствам препроцессора сжасс. Лучше бы нормальный хмл запилили.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:28:07 | Сообщение # 61
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Код в студию. Никаких понтов, пишу для удобства

Добавлено (12 Апрель 2012, 20:28:07)
---------------------------------------------
Особенно препроцессинг директивы фри интересует. Жду код


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:29:06 | Сообщение # 62
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Что в жассе сча не хватает, так это динамического определения типов, т.е. var, подсветки пользовательских функций. Возможность использования хмл комментариев(кто работал достаточно много с дотнетом поймет о чем речь). Ну и собственно переход к дефинишинам функций. Адольф к сожалению этого реализовывать не планирует. А мне некогда курить этот вопрос, мне межведа хватает по самые нехочу.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:30:33 | Сообщение # 63
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Подсветка функций- это TESH -> с этим к VD

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:30:43 | Сообщение # 64
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (Ty3uK)
директивы фри


Хз что за фри // не читал
в сжасс автоматические удаление локалок без всяких вызовов.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:32:33 | Сообщение # 65
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Фри - не обнуление, а УНИЧТОЖЕНИЕ. Насколько я знаю, cJass не умеет анализировать типы переменных и подставлять к ним деструкторы. И, бтв, название фри говорит само за себя

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:33:09 | Сообщение # 66
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote
//$JASP_NOPARSE_BEGIN$
timer t = new timer;
//$JASP_NOPARSE_END$


В чем проблема проверять через StartsWith или хотя бы через IndexOf


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL


Сообщение отредактировал Faion - Четверг, 12 Апреля 2012, 20:33:52
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:33:55 | Сообщение # 67
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Точнее, cJass умеет анализировать, но не умеет подставлять деструкторы

Добавлено (12 Апрель 2012, 20:33:55)
---------------------------------------------
Я как бы уже решил эту проблему, стоит покурить мануал, а инфа в первом посте неактуальна


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:34:11 | Сообщение # 68
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
А вы это проверяли?=)

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:35:54 | Сообщение # 69
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Что?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:41:21 | Сообщение # 70
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Короче лучше бы написали для студии плагин, который бы позволил в ней разрабатывать код. Это было бы действительно очень круто и полезно. А все эти ваши приблуды и тд и тп неочем. Ну кроме пожалуй динамического определения типов.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Четверг, 12 Апреля 2012, 20:44:21 | Сообщение # 71
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Окей, это ваше мнение. Оно, правда, никак не повлияет на дальнейшую работу, тут уж извините. Спасибо за дельную информацию :)

Добавлено (12 Апрель 2012, 20:44:21)
---------------------------------------------
И все же, смею заметить, на всех этих приблудах cJass и vJass вы пишете свою карту


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Четверг, 12 Апреля 2012, 20:49:40 | Сообщение # 72
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Да никто как бэ и не сомневался что не повлияет. Для написания нормального интерпретатора для студии нужен хороший скилл. Я мб ради академического опыта нарисую, если сенсей подстрахует.

Добавлено (12 Апрель 2012, 20:49:40)
---------------------------------------------

Quote (Ty3uK)
И все же, смею заметить, на всех этих приблудах cJass и vJass вы пишете свою карту

Я использую главным образом фичи которые повышают читабельность кода и препроцессинг. А структуры и интерфейсы не юзаю, не уперлось. Бтв даже сжасс у меня стоит старый, т.к. мне как бэ пофиг на циклы нормальные и оптимизации. Я это по привычке делаю сам. Да и не совсем доверяю фиче которая очищает память, а проверять тупо влом.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Ty3uKДата: Пятница, 13 Апреля 2012, 14:46:23 | Сообщение # 73
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну поэтому я и пишу свой препроцессор :)

Добавлено (13 Апрель 2012, 14:11:08)
---------------------------------------------
SirNikolas, я потребую слишком многого, если попрошу разбить эти два файла на несколько, в каждом из которых будет содержаться один тип переменной? ну типа integers.txt - содержит функции и константы интегеров и т.д.? ^_^

Добавлено (13 Апрель 2012, 14:46:23)
---------------------------------------------
Отбой воздушной тревоги, сам сделал :)


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Пятница, 13 Апреля 2012, 14:58:02 | Сообщение # 74
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
Отбой воздушной тревоги, сам сделал
Поздно. :)
Прикрепления: types.rar (20.1 Kb)


 

SirNikolasДата: Пятница, 13 Апреля 2012, 16:59:32 | Сообщение # 75
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Я уже говорил тебе про создание методов для стандартных типов. Прошу добавить следующие 634 метода. Файл составлен по шаблону, парситься должен легко.
Не забудь, что Widget API должен применяться также к юнитам, декору и предметам, а handle.GetId() - ко всему, что хэндлится.
Прикрепления: native_classes.txt (31.7 Kb)


 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » JASP (Just Another Script Preprocessor)
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz