Страница 1 из 1
библиотеки для реализации яролита на разных языках программирования
Добавлено: 23.06.19 15:12
БудДен
Яролит для Javascript недоделан, конечно, но это дело техники. Для распространения нужно портировать его на основные языки программирования.
Чтобы дело шло по накатанной, нужно взять за образец какую-то библиотеку, которая уже портирована.
Далее форму оставляем, начинку заменяем на свою.
И в конце концов дать рекламу.
Я из памяти знаю только одну такую библиотеку - lodash/underscore.
Завёл страничку в Wiki на эту тему:
http://вики-ч115.программирование-по-ру ... 115/Lodash
У кого есть пополнения к этому списку - пишите сюда.
Интересуют другие подобные библиотеки, а также другие языки программирования, на которые стоит портировать.
Этот проект пока с низким приоритетом, т.к. времени очень мало. Сначала доделать движок словаря надо, это где-то до конца года, как я думаю.
А такая библиотека - уже потом.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 26.06.19 17:14
Павиа
Из вашего сообщения ничего не понятно. Что такое Яролит?
Для распространения нужно портировать его на основные языки программирования.
Чтобы дело шло по накатанной, нужно взять за образец какую-то библиотеку, которая уже портирована.
Далее форму оставляем, начинку заменяем на свою.
Тут два предложения противоречат друг дружке. А где там формы?
Я из памяти знаю только одну такую библиотеку - lodash/underscore.
Как не переведённая библиотека нам может служить образцом? И почему именно эта библиотека?
Javascript и бибилотека? Должно быть Javascript и фреймворк.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 26.06.19 21:29
Лис [Вежливый]
Яролит - это такая таблица соответствия между русскими и английскими буквами, позволяющая временно обходиться без полной русификации, путём подстановки в английские среды слов записаных "транслитом". Например, Вы хотите использовать слово "зелёный" в тексте программы, но не знаете перевода этого слова на английский язык. Тогда Вы, используя таблицу подстановок "Яролит" превращаете эту цепочку русских символов в цепочку английских символов "zelyonyj" (или как-то так), после чего везде используете эту новую цепочку английских символов. Плюс Яролита в том, что он однозначный, и из цепочки английских символов всегда можно будет восстановить исходное русское слово без появления ошибок.
Будден предлагает создать программные средства для работы с Яролитом для различных программных стеков, сред программирования и другого подобного ПО, чтобы все смогли яролитом пользоваться.
Существуют API доступные в разных языках и стеках технологий, такие API БудДен предлагает взять в качестве примера и сделать API для работы с ЯроЛит по образу и подобию.
"Формы? Библиотека? фреймворк," - придирки, в общем, к терминологии.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 27.06.19 21:17
БудДен
Спасибо, Лис, хорошо объяснил!
Страница проекта Яролит здесь:
http://программирование-по-русски.рф/яролит.яргт/
А вот тут
https://www.linux.org.ru/forum/talks/14509390 выяснилось, что это почти что старый ГОСТ (только лучше).
Его можно попробовать допилить до поддержки нескольких других языков с кириллицей.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 17.07.19 19:28
БудДен
Пока проект со словарём переживает разгром, я временно переключился на транслит. Прямой транслит сделать совсем просто и он уже есть. Теперь задача сделать обратный транслит. Как делать? По идее, это парсер. У меня есть код на лиспе, но он на вложенных хеш-таблицах и он не разбирает некоторые вещи, как-то переключение языка и закодированные буквы юникода. Т.е. нельзя прямо вот так взять и его портировать на другие языки.
У меня в принципе есть две идеи:
1. Вручную написать конечный автомат.
2. Да собственно, и всё.
Кто-нибудь видел хороший код для обратного транслита? Нужно, чтобы он отличал sh от shh, а e от eh. Т.е. это всё же парсер.
То, что я видел - это последовательность вызовов функции "заменить все вхождения подстроки", начиная от более длинных сочетаний к более коротким. Но это ад какой-то.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 17.07.19 20:14
БудДен
Отбой, код есть у Зайцева, правда, не для потока, а для строки. Для начала сойдёт.
https://habr.com/ru/post/265455/
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 18.07.19 10:02
Павиа
Данный код быстрее написать самому чем искать готовый.
3-5 if для сложных звуков. И парочка для юникод символов.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 18.07.19 11:18
БудДен
Вот в метро начал делать, добровольная помощь приветствуется.
https://bitbucket.org/budden/ppr/src/51 ... яролит2.js
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 19.07.19 01:14
БудДен
На словах вообще всё просто :(
Отбой должен был быть уже час назад. Отлаживал "3-5 ифов".
http://программирование-по-русски.рф/яролит.яргт/ - там обновил.
Скрипты где-то лежат (через f12 можно их найти или на
https://bitbucket.org/budden/ppr)
На этой неделе, видимо, всё. Теперь приходить в себя до конца выходных.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 19.07.19 07:20
Павиа
Во-первых, у вас кодер неправильно работает.
Во-вторых, есть же шаблон для сканера, который описан во всех книгах по компиляторам.
Ch - текущий символ.
NextCh - следующий символ.
ReadCh - чтение символа, она обновляет Ch и NextCh.
Все проверки выхода за границу находятся в ней.
В-третьих, Я бы заменил '.' на '\0' .
В-четвёртых, отсутствует нормальная документация. Вы бы хотябы табличку привели бы что во что кодируется.
Я так понял x у вас выступает кодом экранирования. Тогда как кодируется x как xx?
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 19.07.19 14:12
БудДен
> Во-первых, у вас кодер неправильно работает. ... В-третьих, Я бы заменил '.' на '\0' .
Код явно поменялся с тех пор, как Вы его читали. Почитайте, пожалуйста, ещё раз. Если смотрели с сайта, то очистите кеш.
Код в битбукете опять же отличается от того, что на сайте, лучше смотрите на сайте.
> В-четвёртых, отсутствует нормальная документация. Вы бы хотябы табличку привели бы что во что кодируется.
> Я так понял x у вас выступает кодом экранирования. Тогда как кодируется x как xx?
На сайте табличка только что была, я её временно выкинул. Надо переделать полностью описание, обоснование, привести сравнение с аналогами.
Пока тут напишу. Русский алфавит:
Код: Выделить всё
a b v g d e jo zh z i jj k l m n o p r s t u f kh c ch sh shh jq y q eh ju ja
Соответствует ГОСТ 16876-71, таблица 2, кроме Ь = Q и Ъ = JQ - в госте эти значки превращаются в небуквенные литеры.
Английские буквы:
Код: Выделить всё
xe - переключение в английски режим, т.е. «xeRussia» раскодируется как «Russia», а не как «Руссиа».
В английском режиме «x» кодируется как «xx», а «w» - как «ww»
xr - переключение обратно на русский
Не ASCII, не кириллица = xuNNNNNNx
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 20.07.19 15:03
БудДен
Постарался переделать обработку ошибок, чтобы можно было вставлять в ошибочных местах "крокозяблу" и продолжать разбор. Теперь нужно сделать набор тестов. Ваши замечания, как и прежде, приветствуются. В целом этот проект гораздо повеселее, чем словарь, т.к. его трудоёмкость лучше согласуется с наличными ресурсами свободного времени.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 20.07.19 21:07
БудДен
Выложил новую версию на сайт и на битбукет.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 28.07.19 13:59
БудДен
Код написал, запросил рецензию на ЛОРе. Настоятельно посоветовали переделать на массивы. Пока пусть отлёживается этот вариант, а я займусь A2.
Re: библиотеки для реализации яролита на разных языках программирования
Добавлено: 28.07.19 18:52
Лис [Вежливый]
да, мы внимательно следим за твоим заниманием с А2, и ждём больше кровавых деталей (возможно, даже, кусков мяса).