Есть ли конвертер с cJass в vJass?

ручками =), ну а в конечном итоге всё всё равно в чистый JASS превращается
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
25
UrsaBoss, так и есть. Правда отделить нужный код из выходного файла может оказаться не так просто. А при использовании некоторых хитрых конструкций все равно придется ручками переписывать, так как там будет нечитаемая каша.
28
если подумать логически, то cJass и так на выходе должен выдать код на vJass
cJass выдаёт оптимизированный JASS2, а не vJass.
NazarPunk:
Чего ж сразу ручками, можно же из карты собранный jass вытащить)
Вот этот вариант самый верный.
20
Да, я так и начал делать, всем спасибо. Ой, я думал, что выбрал первый ответ как правильный. Извиняюсь.
25
PT153, vJass он выдает. А потом vJass уже соответственно JassHelper-ом компилится.
раскрыть
Загруженные файлы
18
PT153:
Чего ж сразу ручками, можно же из карты собранный jass вытащить)
Вот этот вариант самый верный.
Тут есть один нюанс
Привычные переносы строки это сочетание 0x0D0A
Вакрафту пофиг на такие переносы, он пережует и 0D и 0A хоть по отдельности, а вот блокнот поломается)
если у cJass включена оптимизация - то пишется 0A, тулы векса пишут 0D
я специально написал parsed_war3map.j, а не optimized_war3map.j (чтобы люди, не имеющие под рукой hex редактор смогли читать код)
оптимизация включена - в vJass парсер передается optimized_war3map.j, выключена - то передается parsed_war3map.j

И в каком месте вариант самый верный если вопрос был о vJass?
Парсер cJass'а парсит код прямо в vJass, т.к он обязан парсить в том числе конструкции vJass которые написаны на cJass, то что оптимизирует - согласен
scope TestScope
{
}
//Разве может на выходе это оказаться сразу в JASS2?)
//Это пропарсится в
scope TestScope
endscope
//А уже потом JassHelper (vJass) из этого соберет war3map.j

Мой вариант практичнее всего, т.к выигрывает время на зарезервированных словах типа "function" и т.д

А насчет
некоторых хитрых конструкций
Блин, можно в пустой карте комментариями оградить нужный код в одном "триггере", а дальше имхо быстрее будет выделять и делать таб, чем сидеть и писать тучу букв
а дальше
ну я имел в виду после того как карта пропарсится
28
Вакрафту пофиг на такие переносы, он пережует и 0D и 0A хоть по отдельности, а вот блокнот поломается)
Поломается только на виндах до 10 и на винде 10 до сборки 1809.
Hanabishi:
vJass он выдает. А потом vJass уже соответственно JassHelper-ом компилится.
То есть cJass не может работать без vJass? Мне как-то говорили, что может без него.
25
UrsaBoss, кто вообще пользуется простым блокнотом в наше время? Во всяком Notepad++ можно произвольно переключать метод переноса строк, не говоря уже о более специализированных для кода редакторах.
PT153, может. Только тогда будут недоступны конструкции vJass.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.