|
12.01.2009, 00:01
|
#1
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Переименоватор !
Маленькая консольная программка, которая находит и заменяет слова в файле на слова из файла словаря. Получает на входе 3 файла:
1) исходный файл
2) выходной файл
3) файл словаря
вопрос: "Зачем?"
первое применение: Помню кто-то говорил, что прикольно былобы посмотреть как бы выглядел язык программирования, если б в нем использовались русские слова. Вот вам и шанс посмотреть на ваши программы по новому В архиве лежит файл Blitz_to_rus.ini в котором прописаны слева от знака равно (для тех кто в танке это "=") искомые слова, и справа слово, то на которое поменять. Я, к сожалению, не силен в Blitz3D, но вы можете добавлять в файл свои строчки сравнения.
второе применение: допустим есть у вас исходный код программы, которая вам позарез нужна, тока вот на другом ЯП, тогда просто пишите в файл соответствия функций того языка на котором исходник, к вашему любимому ЯП. В знакомом коде будет разобраться намного проще.
третий случай: вытекающий из второго. Вам надо перевести программу с BLitz3D на Xors3D. Пишите в файле соответствия функций, и вуаля, у вас Xors3D-код.
Использовать так:
ReNamer.exe входной_файл выходной_файл файл_словаря
к сожалению программа консольная, но писать bat-ники (они же cmd-шники) никто пока не запрещал.
Надеюсь, кому-нить, да пригодится.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.01.2009, 02:24
|
#2
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Ответ: Переименоватор !
как раз думал сделать прогу, которая бы менял код б3д на код ксорса - вот оно.. )
|
(Offline)
|
|
12.01.2009, 02:42
|
#3
|
Ференька
Регистрация: 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
|
Мастер
Регистрация: 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
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Переименоватор !
да ктомуже таких прог пруд пруди - но конечно приятно когда сам сделал ))
|
(Offline)
|
|
13.01.2009, 19:28
|
#8
|
ПроЭктировщик
Регистрация: 30.12.2008
Сообщений: 164
Написано 18 полезных сообщений (для 23 пользователей)
|
Ответ: Переименоватор !
Ей можно кустарный перевод делать. Только удобнее, еслиб в одном файле исходные слова словаря, в другом слова для замены.
|
(Offline)
|
|
14.01.2009, 02:54
|
#9
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Переименоватор !
Ей можно кустарный перевод делать. Только удобнее, еслиб в одном файле исходные слова словаря, в другом слова для замены.
|
Мда-а-а когда я был ещё совем маленьким и кодил на цпп, у меня было увлечение всякими языковыми процессорами. Среди них был транслятор речевых стилей. Во-первых даже ему (при его тупой замене) нужна была биекция более мелких объектов - морфем (корней), а не слов. Аффиксы (префиксы, постфиксы и интерфиксы) он, насколько я помню, находил отсеивая их от корней.
Вы же хотите так вот, топором, замутить перевод?
транспортировка окиси водорода в сосуде с перфорированным дном
|
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
14.01.2009, 03:08
|
#10
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Переименоватор !
кстати. чего тема не в "проектах"?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
14.01.2009, 10:33
|
#11
|
Злобный Админ
Регистрация: 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
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Ответ: Переименоватор !
Сообщение от impersonalis
кстати. чего тема не в "проектах"?
|
Да, ну, какой это проэкт, так, утилитка для мелких нужд.
Сообщение от impersonalis
Мда-а-а когда я был ещё совем маленьким и кодил на цпп, у меня было увлечение всякими языковыми процессорами. Среди них был транслятор речевых стилей. Во-первых даже ему (при его тупой замене) нужна была биекция более мелких объектов - морфем (корней), а не слов. Аффиксы (префиксы, постфиксы и интерфиксы) он, насколько я помню, находил отсеивая их от корней.
Вы же хотите так вот, топором, замутить перевод?
|
Я не говорил, что это переводчик текста в самом широком смысле этого слова, и вообще кроме слова "топор" в твоем сообщении, других слов я не понял :p А если серьезно, то программа выполняет всё, что я задумывал, а значит оправдала свое написание. Можно конечно развивать сие чудо, накрутить кучу всяких приблуд и фич, и даже превратить ее в некий препроцессор, но такой цели пока нет.
Сообщение от SBJoker
Если программа использует один проход по исходному тексту на одну пару заменяемого слова и замещающего, то есть не сразу очевидная проблема замены заменяемых частей.
|
Чтоб понять, три раза прочитал, наверное еще не проснулся а может от сообщения Импера мозг раком встал!
По делу: всё именно так, проход там один. И все замечания принимаются как обоснованные.
Но, извините, заменять символ комментария (`) на текстовые кавычки ("), после первой замены мнеб в голову не пришло. Можно сначала заменить " ' " -> " " " а потом уже " ; " -> " ' ".
Последний раз редактировалось dimanche13, 14.01.2009 в 11:27.
Причина: Отмазки писал
|
(Offline)
|
|
14.01.2009, 11:41
|
#13
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Переименоватор !
Я не говорил, что это переводчик текста в самом широком смысле этого слова
|
Да я и не наезжал, я Abiron указал на ошибочность рассуждений
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.01.2009, 11:56
|
#14
|
Злобный Админ
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.06.2009, 02:04
|
#15
|
ПроЭктировщик
Регистрация: 30.12.2008
Сообщений: 164
Написано 18 полезных сообщений (для 23 пользователей)
|
Ответ: Переименоватор !
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:51.
|