Откомпилируйте програмку на C

  • Автор темы Автор темы JAW
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

JAW

Топикстартер
20 лет на форуме
Сообщения
15 795
Реакции
3 454
Нужна небольшая помощь для всеобщего блага :)
Просьба откомпилировать маленькую программку на C.
Это конвертер словарей переносов TeX под HunSpell.
Тогда можно было бы собрать всю эту историю со словарями в Indesign и OpenOffice.
Программа простая, консольная, там даже библиотек не грузится.
И желательно чтобы всё что нужно было статически прилинковано.

http://rudtp.ru/resources/substring.222/
 
А вы уверены, что это работает?
У меня компилятор 13 ошибок выдает, а по исправлению полученный консольник валится по эксепшну :-(
 
там в комплекте есть скрипт на перле аналогичный
 
Вот, кое как собрал рабочую, но за корректное функционирование не отвечаю, уж больно код подозрительный:
 

Вложения

Да, на Перле скриптик есть и работает, но не комильфо как то...
Сейчас проверю.
 
Да то же самое. Я собрал из лебедевских паттернов словарь им давно, полет нормальный.
 
В общем как-то работает, результат отличается от перлового.
Нужно проверить функциональность набора патернов.

Это я собственно к чему... Думаю таки с этим hunspell'м переносчиком стоит всё таки разобраться окончательно.
Штука удобная однозначно и словарей куча.
 
Думаю, перловским все ж корректнее. EXE разве что чуть больше будет.
 
Нужно проверить функциональность набора патернов.

Я собрал утилиту независимо от коллеги _МВК_. Результаты преобразования набора паттернов из TeX представления в представление Hunspell совпадают.

Далее проверил на паттернах OpenOffice. Сравнил расстановку переносов с помощью оригинального набора паттернов и с помощью преобразованного. Я полагал, что результаты должны совпасть. Совпадают, но не полностью. Вот различия:

test_oo.hun : отре-бье
test_oo.tex : от-ре-бье

test_oo.hun : отрас-та-ем
test_oo.tex : от-рас-та-ем

test_oo.hun : отра-сти
test_oo.tex : от-ра-сти

test_oo.hun : отра-стил
test_oo.tex : от-ра-стил

test_oo.hun : отра-сти-ла
test_oo.tex : от-ра-сти-ла

test_oo.hun : отра-сти-ли
test_oo.tex : от-ра-сти-ли

test_oo.hun : отра-сти-ло
test_oo.tex : от-ра-сти-ло

test_oo.hun : отре-ста-ври-ро-вать
test_oo.tex : от-ре-ста-ври-ро-вать

test_oo.hun : отрас-тал
test_oo.tex : от-рас-тал

test_oo.hun : отра-жа-ют
test_oo.tex : от-ра-жа-ют

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

в случае TeX это
.о0т1р0
1в0р2
2о1т0р0
2о0в0
2т0ь.
0е1с0т0а0
0и1р0о0
0о1в0а0

В случае Hunspell:
0а1в0р2
1в0р2
0е1с0т0а0
0и1р0о0
2о0в0
0о1в0а0
2о1т0р0
2т0ь.

В наборе Hunspell не задействован паттерн .о0т1р0

Не знаю с чем это связано.
 
Паттерн .от1р присутствует в наборе TeX, но отсутствует в наборе Hunspell.

Из этого, по-видимому, можно сделать вывод, что программа substings.c, которую Андрей выложил, работает не совсем корректно.
 
Вот и я о том же. Она и компилируется через определенное место.
 
Так у Лебедева вроде .от1р и нету.
Есть
.от1ро
.от1ру

Я о исходном наборе патернов, не преобразованном.
 
И в Перловском варианте тоже .от1р не возникло.
 
Андрей, в посте #9 я специально обратил внимание на то, что использовал паттерны OpenOffice.
Они мне нравятся больше, чем паттерны Лебедева... Если появляется необходимость -- пользуюсь ими. А уж если совсем для души -- ruhyphct.tex :).

Провести аналогичный эксперимент с паттернами Лебедева сейчас не смогу. Под руками только ruhyphoo.tex и ruhyphct.tex.
Да, наверное, это уже и не нужно. Достаточно того, что проблемы в работе программы substring.c есть. Где-то около года назад или еще раньше мы с вами использовали Perl для преобразования паттернов Лебедева. Я тогда сравнивал работу оригинального и преобразованного наборов. Вроде бы проблем не было...
 
Я сравнил с перловским прогнав обе выдачи через sort. Различия однако есть и в ту и в другую сторону, но неоднозначные...
 
Андрей, я сейчас поднял архив и разыскал материалы по нашей работе с паттернами Лебедева. Было это 30-09-2011.

Среди прочего нашел скрипт substrings.pl. Проверил на том же словаре, с которым работал в посте #9.

Оказалось, что расстановка переносов в словаре не зависит от того, что использовали для преобразования оригинального набора -- substrings.pl или substrings.c (exe). В обоих случаях результат отличается от того, что дает оригинальный набор. Таким образом, если мы говорим, что substrings.c работает не совсем корректно, то это же будет верно и в отношении substrings.pl.
 
Оказалось, что расстановка переносов в словаре не зависит от того, что использовали для преобразования оригинального набора -- substrings.pl или substrings.c (exe). В обоих случаях результат отличается от того, что дает оригинальный набор. Таким образом, если мы говорим, что substrings.c работает не совсем корректно, то это же будет верно и в отношении substrings.pl.
Однако можно сделать вывод в результате, что результат корректный, но вероятно патерны от OpenOffice ещё малость подправили, что вполне вероятно.
 
Статус
Закрыто для дальнейших ответов.