библиотеки для реализации яролита на разных языках программирования

Научно-технические вопросы применения русского языка в программировании. Проекты с сайта программирование-по-русски.рф, кроме ЯОС . Информация об организациях и людях, использующих или изучающих русский язык в программировании. Сравнение операционных систем.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 23.06.19 15:12

Яролит для Javascript недоделан, конечно, но это дело техники. Для распространения нужно портировать его на основные языки программирования.

Чтобы дело шло по накатанной, нужно взять за образец какую-то библиотеку, которая уже портирована.
Далее форму оставляем, начинку заменяем на свою.

И в конце концов дать рекламу.

Я из памяти знаю только одну такую библиотеку - lodash/underscore.
Завёл страничку в Wiki на эту тему:

http://вики-ч115.программирование-по-ру ... 115/Lodash

У кого есть пополнения к этому списку - пишите сюда.

Интересуют другие подобные библиотеки, а также другие языки программирования, на которые стоит портировать.
Этот проект пока с низким приоритетом, т.к. времени очень мало. Сначала доделать движок словаря надо, это где-то до конца года, как я думаю.
А такая библиотека - уже потом.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение Павиа » 26.06.19 17:14

Из вашего сообщения ничего не понятно. Что такое Яролит?
Для распространения нужно портировать его на основные языки программирования.

Чтобы дело шло по накатанной, нужно взять за образец какую-то библиотеку, которая уже портирована.
Далее форму оставляем, начинку заменяем на свою.
Тут два предложения противоречат друг дружке. А где там формы?
Я из памяти знаю только одну такую библиотеку - lodash/underscore.
Как не переведённая библиотека нам может служить образцом? И почему именно эта библиотека?
Javascript и бибилотека? Должно быть Javascript и фреймворк.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение Лис [Вежливый] » 26.06.19 21:29

Яролит - это такая таблица соответствия между русскими и английскими буквами, позволяющая временно обходиться без полной русификации, путём подстановки в английские среды слов записаных "транслитом". Например, Вы хотите использовать слово "зелёный" в тексте программы, но не знаете перевода этого слова на английский язык. Тогда Вы, используя таблицу подстановок "Яролит" превращаете эту цепочку русских символов в цепочку английских символов "zelyonyj" (или как-то так), после чего везде используете эту новую цепочку английских символов. Плюс Яролита в том, что он однозначный, и из цепочки английских символов всегда можно будет восстановить исходное русское слово без появления ошибок.

Будден предлагает создать программные средства для работы с Яролитом для различных программных стеков, сред программирования и другого подобного ПО, чтобы все смогли яролитом пользоваться.

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

"Формы? Библиотека? фреймворк," - придирки, в общем, к терминологии.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 27.06.19 21:17

Спасибо, Лис, хорошо объяснил!
Страница проекта Яролит здесь: http://программирование-по-русски.рф/яролит.яргт/
А вот тут https://www.linux.org.ru/forum/talks/14509390 выяснилось, что это почти что старый ГОСТ (только лучше).
Его можно попробовать допилить до поддержки нескольких других языков с кириллицей.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 17.07.19 19:28

Пока проект со словарём переживает разгром, я временно переключился на транслит. Прямой транслит сделать совсем просто и он уже есть. Теперь задача сделать обратный транслит. Как делать? По идее, это парсер. У меня есть код на лиспе, но он на вложенных хеш-таблицах и он не разбирает некоторые вещи, как-то переключение языка и закодированные буквы юникода. Т.е. нельзя прямо вот так взять и его портировать на другие языки.

У меня в принципе есть две идеи:
1. Вручную написать конечный автомат.
2. Да собственно, и всё.

Кто-нибудь видел хороший код для обратного транслита? Нужно, чтобы он отличал sh от shh, а e от eh. Т.е. это всё же парсер.
То, что я видел - это последовательность вызовов функции "заменить все вхождения подстроки", начиная от более длинных сочетаний к более коротким. Но это ад какой-то.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 17.07.19 20:14

Отбой, код есть у Зайцева, правда, не для потока, а для строки. Для начала сойдёт.

https://habr.com/ru/post/265455/

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение Павиа » 18.07.19 10:02

Данный код быстрее написать самому чем искать готовый.
3-5 if для сложных звуков. И парочка для юникод символов.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 18.07.19 11:18

Вот в метро начал делать, добровольная помощь приветствуется.
https://bitbucket.org/budden/ppr/src/51 ... яролит2.js

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 19.07.19 01:14

На словах вообще всё просто :(
Отбой должен был быть уже час назад. Отлаживал "3-5 ифов".

http://программирование-по-русски.рф/яролит.яргт/ - там обновил.
Скрипты где-то лежат (через f12 можно их найти или на https://bitbucket.org/budden/ppr)

На этой неделе, видимо, всё. Теперь приходить в себя до конца выходных.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение Павиа » 19.07.19 07:20

Во-первых, у вас кодер неправильно работает.
Во-вторых, есть же шаблон для сканера, который описан во всех книгах по компиляторам.
Ch - текущий символ.
NextCh - следующий символ.
ReadCh - чтение символа, она обновляет Ch и NextCh.
Все проверки выхода за границу находятся в ней.
В-третьих, Я бы заменил '.' на '\0' .
В-четвёртых, отсутствует нормальная документация. Вы бы хотябы табличку привели бы что во что кодируется.
Я так понял x у вас выступает кодом экранирования. Тогда как кодируется x как xx?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

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
Последний раз редактировалось БудДен 20.07.19 20:44, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 20.07.19 15:03

Постарался переделать обработку ошибок, чтобы можно было вставлять в ошибочных местах "крокозяблу" и продолжать разбор. Теперь нужно сделать набор тестов. Ваши замечания, как и прежде, приветствуются. В целом этот проект гораздо повеселее, чем словарь, т.к. его трудоёмкость лучше согласуется с наличными ресурсами свободного времени.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 20.07.19 21:07

Выложил новую версию на сайт и на битбукет.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение БудДен » 28.07.19 13:59

Код написал, запросил рецензию на ЛОРе. Настоятельно посоветовали переделать на массивы. Пока пусть отлёживается этот вариант, а я займусь A2.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: библиотеки для реализации яролита на разных языках программирования

Сообщение Лис [Вежливый] » 28.07.19 18:52

да, мы внимательно следим за твоим заниманием с А2, и ждём больше кровавых деталей (возможно, даже, кусков мяса).

Ответить