Новый jass
|
|
#1
Вступление: Хотел было создать тему в разделе разработка игр/программ, но там скрины или демку надо (консоль скринить или лог об ошибках? ) А теперь к делу, решил в качестве тренировки так сказать написать парсер для жасса на сишке, нужны идеи чего можно добавить в жасс. Вот что пока придумал:
1)Инлайн функции (это думаю, понятно) 2)Перегрузка функций (надо ли учитывать возвращаемое значение? или аргументов достаточно?) 3)Удобные форгрупы и фильтры, к примеру так: Code ForGroup(MyGroup){ KillUnit(GetEnumUnit()); } 4)Области видимости у библиотек. К примеру есть 2 библиотеки, в каждой есть функция (допустим sqrt), если у них разные аргументы то парсер сам найдет нужную, если одинаковые то надо писать так: <имя библиотеки>::<имя функции> (просто чтоб не ломать мозг над названиями аля CoollibSqrt() и тд). Ну и наверно добавить команду using namespace авось пригодится, обьявлять свои неймспейсы думаю не надо и библиотек хватит. 5)Сборщик мусора - обнуляет все локальные ссылки и удаляет некоторые объекты если у них нет глобальной переменной (что точно надо удалять? локейшины, эффекты, текст таги, еще чего?)
Еще хотел уточнить чего из жасса (вжасса и сжасса) можно безболезненно убрать, к примеру лямбда функции вроде не нужны с такими фильтрами. Нужны ли scope'ы? не вижу им абсолютно никакого применения.
В порядке бреда можно сделать жасс на русском языке в общем нужны идеи.
Да кстати, парсер будет отдельной прогой с редактором к нему (заодно с mfc побалуюсь) ибо как присобачить его к редактору варика я не в курсе.
|
#2
AncientPenguin, Сделай чтобы он у меня запускался, а то у многих такая проблема, как решить никто не знает, на тебя вся надежда!Добавлено (11.10.11, 12:22) --------------------------------------------- AncientPenguin, На русский тоже было бы не плохо
|
#3
Quote (MEGA) AncientPenguin, Сделай чтобы он у меня запускался, а то у многих такая проблема, как решить никто не знает, на тебя вся надежда!
Кто запускался?
|
#4
AncientPenguin, Jass, а он не работает и не включается как не крути и чем не крути.
|
#5
Quote (MEGA) AncientPenguin, Jass, а он не работает и не включается как не крути и чем не крути.
Ты меня в ступор вгоняешь как может jass не включатся это же не программа. Может Jass New Gen Pack? Если он то наверно моя прога поможет, ну при условии что тебе нужен именно жасс, а точнее возможности вжасса и сжасса так как ничего кроме него в нем сделать с картой нельзя. Хотя может если нахлынет сделаю целый редактор, но это мало вероятно
|
#6
AncientPenguin, Ах да, я пра программу, сори.
|
#7
чем cJass не устраивает?
|
#8
Quote (Spirit_of_Dragon) чем cJass не устраивает?
Да в принципе устраивает, но нет предела совершенству ну и не у всех людей он работает.
|
#9
не у всех людей руки из нужного места растут сурсы cJass есть, учи асм и дополняй как хочешь какую либу юзаешь? sfmpq? сурсы в студию
|
#10
Эти парсеры можно писать в любом количестве на свой вкус, чтобы было удобно. Но как правило два предыдущих парсера напоминают нам языки программирования, с которыми Вы, возможно, сталкивались или ещё сталкнётесь, потому что это один из стандартов, а стандарт удобен для подавляющего числа.Добавлено (12.10.11, 00:29) --------------------------------------------- Не надо изобретать велосипед...
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#11
Quote (Spirit_of_Dragon) сурсы cJass есть, учи асм и дополняй как хочешь
Рано мне пока в асм лезть думаю.
Quote (Spirit_of_Dragon) какую либу юзаешь? sfmpq? сурсы в студию
Запихиванием готового результата в карту пока не занимался, только читал немного.
Quote (H_A_PK) Но как правило два предыдущих парсера напоминают нам языки программирования, с которыми Вы, возможно, сталкивались или ещё сталкнётесь, потому что это один из стандартов, а стандарт удобен для подавляющего числа.
Мой и будет похож на с++, ну и как следствие на сжасс. Что мне там не нравится так это лямбда функции (мой вариант вроде красивее...) ну и можно добавить много вкусностей и удобностей которые я выше писал, можно еще "научить" экскьют функ кушать функции с аргументами =)
Quote (H_A_PK) Не надо изобретать велосипед...
Я же вроде писал что делаю это ради тренировки в программирование, а нужно это кому-нибуть или нет дело уже не мое ^_^, но если нужно люди могли бы подсказать что им надо, к тому же говорят не у всех жнгп идет, так что думаю дельце мало мальски полезное.
|
#12
Quote (H_A_PK) Не надо изобретать велосипед... пацан дело говорит Quote (AncientPenguin) 4)Области видимости у библиотек. К примеру есть 2 библиотеки, в каждой есть функция (допустим sqrt), если у них разные аргументы то парсер сам найдет нужную, если одинаковые то надо писать так: <имя библиотеки>::<имя функции> (просто чтоб не ломать мозг над названиями аля CoollibSqrt() и тд). Ну и наверно добавить команду using namespace авось пригодится, обьявлять свои неймспейсы думаю не надо и библиотек хватит. scope/library/library_once из vJass Quote (AncientPenguin) 5)Сборщик мусора - обнуляет все локальные ссылки и удаляет некоторые объекты если у них нет глобальной переменной (что точно надо удалять? локейшины, эффекты, текст таги, еще чего?) flush locals + ALL.j/cj_antibj.j
Quote (AncientPenguin) 1)Инлайн функции (это думаю, понятно) 2)Перегрузка функций (надо ли учитывать возвращаемое значение? или аргументов достаточно?) 3)Удобные форгрупы и фильтры всё это есть в обычном cJass
Quote (AncientPenguin)
Да кстати, парсер будет отдельной прогой с редактором к нему (заодно с mfc побалуюсь) ибо как присобачить его к редактору варика я не в курсе. тогда бред вообще, либо юзал lua для интеграции в редактор, либо выпускай прогу наподобие galaxy++ иначе бессмысленная идея и велосипед
|
|