|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Как в Noid компилерe в файле decompile сделать так, что бы при декомпилировании скрипта, в нем не создавались скобки () если аргументов нет и как сделать так что бы в начале названия ноды неставил @.
|
Отправлено: 11:58 - 13 Фев., 2008
|
|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
Во-первых, я бы тебе крайне сильно не рекомендовал вообще пользоваться декомпилятором Noid'а. Тем более для декомпиляции скриптов первого Fallout, опкоды которого он понимает НЕВЕРНО!!! А с опкодами второго Fallout имеет проблемы с типами, а то и наличием возвращаемых значений. Очень не хотелось бы в моддерском будущем встретить результат подобной декомпиляции. Зачем он тебе вообще понадобился при нормально отлаженном int2ssl? А во-вторых, для академического интереса вот тебе список необходимых правок. Только имей в виду, что результат работы этого кода уже ничто не скомпилирует в скрипт. Для скобок заменить одно вхождение строки Код:
str = "#{name}(#{args.join(", ")})"
на последовательностьКод:
str1 = "(#{args.join(", ")})" if str1 == "()" str = "#{name}" else str = "#{name}" + str1 end
И заменить ДВА вхождения строкиКод:
str += "()"
на Код:
# str += "()"
Для "@" заменить одно вхождение строки Код:
args.push("@" + node.procedure_name)
на строку Код:
args.push(node.procedure_name)
P.S. Но ещё раз повторю: если тебе просто нужен инструмент для декомпиляции, не майся дурью и оставь Noid'а в покое.
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 20:16 - 13 Фев., 2008 | ИСПРАВЛЕНО: Alchemist - 20:18 - 13 Фев., 2008
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Alchemist Спасибо сейчас буду мучить декомпилятор Все скрипты от первого уже декомпилированы и отлажены но мне не нравится эти end их там уж очень много и чтение скрипта усложняется а noid не декомпилирует эти лишние endы. Вот по этому я переименовал все функции noidа на бисовские и декомпилирую скрипт уже становится читабельнее. Вот если бы int2ssl не декомпилировал лишние end было бы здорово. (это сложно сделать?)
|
Отправлено: 21:02 - 13 Фев., 2008 | ИСПРАВЛЕНО: Jordan 63 - 21:36 - 13 Фев., 2008
|
|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
"Лишние" begin/end прописаны в стандарте языка. Открой интерплейевские исходники и почитай. Noid просто изобретал собственный синтаксис. Основые достоинства, которого ты, к слову, применив мои рекомендации просто выбросишь. Но главное не это, то что часть опкодов в твоём декомпиляте будет неверно интерпретирована. И ты всё равно полезешь смотреть результат работы int2ssl. Поверь человеку, написавшему транслятор синтаксиса Noid'а в синтаксис Iply.
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 22:00 - 13 Фев., 2008
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Alchemist
Цитата: Поверь человеку, написавшему транслятор синтаксиса Noid'а в синтаксис Iply.
Верю, ладно не буду фигней заниматься. Хоть мод быстрей доделаю. Хотя я пробывал в измененном Noide декомпилировать скрипты а потом компилировать в sslc все компилилось и работало.
|
Отправлено: 22:10 - 13 Фев., 2008
|
|
|
|