Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 12.01.2009, 00:01   #1
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Переименоватор !

Маленькая консольная программка, которая находит и заменяет слова в файле на слова из файла словаря. Получает на входе 3 файла:
1) исходный файл
2) выходной файл
3) файл словаря
вопрос: "Зачем?"

первое применение: Помню кто-то говорил, что прикольно былобы посмотреть как бы выглядел язык программирования, если б в нем использовались русские слова. Вот вам и шанс посмотреть на ваши программы по новому В архиве лежит файл Blitz_to_rus.ini в котором прописаны слева от знака равно (для тех кто в танке это "=") искомые слова, и справа слово, то на которое поменять. Я, к сожалению, не силен в Blitz3D, но вы можете добавлять в файл свои строчки сравнения.
второе применение: допустим есть у вас исходный код программы, которая вам позарез нужна, тока вот на другом ЯП, тогда просто пишите в файл соответствия функций того языка на котором исходник, к вашему любимому ЯП. В знакомом коде будет разобраться намного проще.
третий случай: вытекающий из второго. Вам надо перевести программу с BLitz3D на Xors3D. Пишите в файле соответствия функций, и вуаля, у вас Xors3D-код.

Использовать так:
ReNamer.exe входной_файл выходной_файл файл_словаря
к сожалению программа консольная, но писать bat-ники (они же cmd-шники) никто пока не запрещал.
Надеюсь, кому-нить, да пригодится.
Вложения
Тип файла: zip ReNamer.zip (31.8 Кб, 420 просмотров)
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Данил (12.01.2009)
Старый 12.01.2009, 02:24   #2
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Ответ: Переименоватор !

как раз думал сделать прогу, которая бы менял код б3д на код ксорса - вот оно.. )
(Offline)
 
Ответить с цитированием
Старый 12.01.2009, 02:42   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Переименоватор !

Одним переименовыванием прогу на ксорс не переведёшь. И где-то я уже видел прогу типа Blitz-to-Xors которая везде вначале x'ы расставляла...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 12.01.2009, 03:14   #4
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Ответ: Переименоватор !

вот. это и хотел сделать.
ну не спорю... но все ж самое противное дело, типо расставления везде х будет сделано
(Offline)
 
Ответить с цитированием
Старый 12.01.2009, 11:24   #5
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Переименоватор !

Да, нет же, прога не меняет функции B3D на функции Xors-а, и не ставит никаких "х" вначале. Это лишь одно из ее применений, которое я привел в пример. Это именно множественный replace по тексту программы и не только программы.
__________________
(Offline)
 
Ответить с цитированием
Старый 13.01.2009, 01:04   #6
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Ответ: Переименоватор !

это понятно, но главное , допустим, для меня - ставить эти х.
(Offline)
 
Ответить с цитированием
Старый 13.01.2009, 17:11   #7
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Переименоватор !

да ктомуже таких прог пруд пруди - но конечно приятно когда сам сделал ))
(Offline)
 
Ответить с цитированием
Старый 13.01.2009, 19:28   #8
Abiron
ПроЭктировщик
 
Регистрация: 30.12.2008
Сообщений: 164
Написано 18 полезных сообщений
(для 23 пользователей)
Ответ: Переименоватор !

Ей можно кустарный перевод делать. Только удобнее, еслиб в одном файле исходные слова словаря, в другом слова для замены.
(Offline)
 
Ответить с цитированием
Старый 14.01.2009, 02:54   #9
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Переименоватор !

Ей можно кустарный перевод делать. Только удобнее, еслиб в одном файле исходные слова словаря, в другом слова для замены.
Мда-а-а когда я был ещё совем маленьким и кодил на цпп, у меня было увлечение всякими языковыми процессорами. Среди них был транслятор речевых стилей. Во-первых даже ему (при его тупой замене) нужна была биекция более мелких объектов - морфем (корней), а не слов. Аффиксы (префиксы, постфиксы и интерфиксы) он, насколько я помню, находил отсеивая их от корней.
Вы же хотите так вот, топором, замутить перевод?
транспортировка окиси водорода в сосуде с перфорированным дном
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.01.2009, 03:08   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Переименоватор !

кстати. чего тема не в "проектах"?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 14.01.2009, 10:33   #11
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Переименоватор !

Если программа использует один проход по исходному тексту на одну пару заменяемого слова и замещающего, то есть не сразу очевидная проблема замены заменяемых частей.

Подробнее: всегда возможна ситуация когда результат одной замены является входным параметров следующей замены. например:

мы хотим заменить знаки комментария Blitz3D " ; " на знак комментария BlitzMAX " ' ". А так же хотим заменить одинарную кавычку " ' " на двойную " " ".

имеем текст исходный:
;устанавливаем заголовок окна
AppTitle " SBJoker's first RPG"
замена " ; " -> " ' "
' устанавливаем заголовок окна
AppTitle " SBJoker's first RPG"
замена " ' " -> " " "
"устанавливаем заголовок окна
 AppTitle " SBJoker"s first RPG"
Этого мы хотели? Не-а...

Поверил тока что, так и есть
__________________
(Offline)
 
Ответить с цитированием
Старый 14.01.2009, 11:23   #12
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Переименоватор !

Сообщение от impersonalis Посмотреть сообщение
кстати. чего тема не в "проектах"?
Да, ну, какой это проэкт, так, утилитка для мелких нужд.

Сообщение от impersonalis Посмотреть сообщение
Мда-а-а когда я был ещё совем маленьким и кодил на цпп, у меня было увлечение всякими языковыми процессорами. Среди них был транслятор речевых стилей. Во-первых даже ему (при его тупой замене) нужна была биекция более мелких объектов - морфем (корней), а не слов. Аффиксы (префиксы, постфиксы и интерфиксы) он, насколько я помню, находил отсеивая их от корней.
Вы же хотите так вот, топором, замутить перевод?
Я не говорил, что это переводчик текста в самом широком смысле этого слова, и вообще кроме слова "топор" в твоем сообщении, других слов я не понял :p А если серьезно, то программа выполняет всё, что я задумывал, а значит оправдала свое написание. Можно конечно развивать сие чудо, накрутить кучу всяких приблуд и фич, и даже превратить ее в некий препроцессор, но такой цели пока нет.

Сообщение от SBJoker Посмотреть сообщение
Если программа использует один проход по исходному тексту на одну пару заменяемого слова и замещающего, то есть не сразу очевидная проблема замены заменяемых частей.
Чтоб понять, три раза прочитал, наверное еще не проснулся а может от сообщения Импера мозг раком встал!
По делу: всё именно так, проход там один. И все замечания принимаются как обоснованные.
Но, извините, заменять символ комментария (`) на текстовые кавычки ("), после первой замены мнеб в голову не пришло. Можно сначала заменить " ' " -> " " " а потом уже " ; " -> " ' ".
__________________

Последний раз редактировалось dimanche13, 14.01.2009 в 11:27. Причина: Отмазки писал
(Offline)
 
Ответить с цитированием
Старый 14.01.2009, 11:41   #13
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Переименоватор !

Я не говорил, что это переводчик текста в самом широком смысле этого слова
Да я и не наезжал, я Abiron указал на ошибочность рассуждений
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dimanche13 (14.01.2009)
Старый 14.01.2009, 11:56   #14
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Переименоватор !

Сообщение от dimanche13 Посмотреть сообщение
Но, извините, заменять символ комментария (`) на текстовые кавычки ("), после первой замены мнеб в голову не пришло. Можно сначала заменить " ' " -> " " " а потом уже " ; " -> " ' ".
Ну это я привёл так, для очевидности. Но можно и менее очевидным способом.

EntityName -> xEntityName
Name -> xName

То получим: EntityName -> xEntityname -> xEntityxName.
Хотя очевидно мы хотели заменить имя функции Name но не часть слова. Другим словами переводчик не должен пытаться переводить уже переведённое им же...

Особенно тяжело будут даваться так называемые свапы лексемм...

Например имеем список каких то там координат в текстовом виде с бровной частью.

Нам нужно заменить запятую на точку а точку на запятую.. переименоватор выдаст неправильно изменённый текст сделав исключающие замены.

Например текст "1,256,125.995" при применении словаря:
, = .
. = ,

Сделает не как мы желали: "1.256.125,995", а "1,256,125,995"
Сделав двойную замену: "1,256,125.995"->"1.256.125.995"->"1,256,125,995"

так что имеем вывод что если в тексте хоть где-то уже встречаются слова из словаря на которые надо заменять, мы потеряем их отличие от исходных.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dimanche13 (14.01.2009)
Старый 21.06.2009, 02:04   #15
Abiron
ПроЭктировщик
 
Регистрация: 30.12.2008
Сообщений: 164
Написано 18 полезных сообщений
(для 23 пользователей)
Ответ: Переименоватор !

Да я и не наезжал, я Abiron указал на ошибочность рассуждений
ЭЭЭЭЭ. Я вообще то пошутил. Я в свое время игрался с переводчиками локальными(pragma таже) и даж они перевод не делают читабельным. Щас гугол даже переводит достаточно коряво.
Непонимаю, как такую фразу можно было всерьез воспринять.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:15.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com