OberonCore
https://forum.oberoncore.ru/

Ключевые слова на родном языке
https://forum.oberoncore.ru/viewtopic.php?f=7&t=1392
Страница 1 из 10

Автор:  Info21 [ Среда, 11 Март, 2009 11:25 ]
Заголовок сообщения:  Ключевые слова на родном языке

На педсовете выкладывал, вот капельку улучшенная версия -- чисто для совсем маленьких ИЛИ начинающих ИЛИ гуманитариев ИЛИ тормозов (всех же надо (м)учить).

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

Можно настроить хоть на узбекский язык -- достаточно поправить словарик.
Все инструкции внутри -- но это версия АЛЬФА, т.к. еще не всё понятно.

Вот пример, для набития которого не нужно вообще переключать клавиатуру (F5 поправлена соответственно):

Код:
(* пример содержит ошибки, чтобы видеть, как правильно они сюда возвращаются при компиляции по Компилятор-Ру, Компилировать *)

МОДУЛЬ  урок;
   ПОДКЛЮЧИТЬ Ввод := i21ruВвод, Вывод := i21ruВывод;
   
   ПРОЦЕДУРА задача1;
      ПЕРЕМЕННЫЕ  ц: ЦЕЛАЯ;
   НАЧАЛО
      Ввод.Открыть;  УБЕДИТЬСЯ( Ввод.сделано )
      Ввод.Цел( ц );  УБЕДИТЬСЯ( Ввод.сделан );
      Вывод.Цел( ц );  Вывод.НовСтрока;
   КОНЕЦ задача1;
   
КОНЕЦ  урок.


Пока это дело не сынтегрировано с черепашкой -- сделаем попозже, сначала нужно обсудить.
---------------------
Новая версия тут (2009-03-28):
viewtopic.php?p=26654#p26654
а также тут:
http://www.inr.ac.ru/~info21/software.htm
Эта последняя ссылка -- основной официальный источник этой и подобный систем.
То есть окончательные версии -- в учебных комплектах от Информатики-21.
Все прочие варианты, выкладываемые (мной) в этой ветке и где-то еще -- в той или иной мере преварительные.

Автор:  Info21 [ Среда, 11 Март, 2009 11:30 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Подчеркну: длинные слова набивать НЕ НАДО, они сами набиваются по F5. Кроме того, F5 делает длинные слова по 1-2 первым буквам.

Реально что надо делать -- это копировать из справки команды вроде Ввод.Цел().

Автор:  Info21 [ Среда, 11 Март, 2009 12:15 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Ощущение, что супер. ШАЯ без отрыва от "единой платформы", на любом языке народов СССР. (А болтуны только болтают...)

Автор:  Пётр Кушнир [ Среда, 11 Март, 2009 12:44 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Ну хотя бы без шизофренических сокращений слов, аля ГЛАГОЛ.

Автор:  Борис Рюмшин [ Среда, 11 Март, 2009 12:57 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

И с адекватным переводом этих слов.

Автор:  Info21 [ Среда, 11 Март, 2009 13:08 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Щас пойду в Байтик, соединил с И21-ной черепашкой.
Исправил одну ошибку, учел замечание Е.Э.Темиргалеева.
----
Новая версия (2009-03-28) тут:
viewtopic.php?p=26654#p26654

Автор:  Info21 [ Среда, 11 Март, 2009 13:10 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Борис Рюмшин писал(а):
И с адекватным переводом этих слов.
Заметил, что самому нравится ... как будто пыль со стекла стерли.

Автор:  Борис Рюмшин [ Среда, 11 Март, 2009 13:15 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Кстати, как раз тот случай, когда верхний регистр ключевых слов важен.

Автор:  Info21 [ Среда, 11 Март, 2009 13:21 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Борис Рюмшин писал(а):
Кстати, как раз тот случай, когда верхний регистр ключевых слов важен.
Вы меня опередили.

Кстати, это еще один пример реализации принципа "Разделяй и рули".

Автор:  Сергей Губанов [ Среда, 11 Март, 2009 15:12 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Я как раз последние несколько дней размышлял над переводом служебных слов. Сообщаю до чего доразмышлялся (вдруг вам понравится?):

ЕСЛИ * СДЕЛАТЬ * {АЕСЛИ * СДЕЛАТЬ *} [ ИНАЧЕ * ] СДЕЛАНО
ПОКА * ВЫПОЛНЯТЬ * {АПОКА * ВЫПОЛНЯТЬ *} ВЫПОЛНЕНО
ПОВТОРЯТЬ * ОСТАНОВ *

PROCEDURE BEGIN [ RETURN ] END --> ЗАДАЧА РЕШЕНИЕ [ ОТВЕТ ] РЕШЕНО
BOOLEAN, TRUE, FALSE --> УТВЕРЖДЕНИЕ, ДА, НЕТ

MODULE [ IMPORT ] [ BEGIN ] [ CLOSE ] END --> МОДУЛЬ [ ИМПОРТ ] [ ЗАГРУЗКА ] [ ВЫГРУЗКА ] КОНЕЦ

Автор:  Сергей Губанов [ Среда, 11 Март, 2009 15:24 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Ещё думал про объявления массивов:

Вектор = МАССИВ 3 ИЗ ЧИСЛО;
Матрица = МАССИВ 3, 3 ИЗ ЧИСЛО;

Это выглядит уродливо.

А если объявлять массивы так:

Вектор = МАССИВ(ЧИСЛО, 3);
Матрица = МАССИВ(ЧИСЛО, 3, 3)

то вроде выглядит нормально.

Автор:  Евгений Темиргалеев [ Среда, 11 Март, 2009 16:33 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

А открытые массивы? МАССИВ(ЧИСЛО, , 3)?

Автор:  Ярослав Романченко [ Среда, 11 Март, 2009 16:39 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Сергей Губанов писал(а):
Это выглядит уродливо.
В чём уродливость-то?

Автор:  Сергей Губанов [ Среда, 11 Март, 2009 17:09 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Евгений Темиргалеев писал(а):
А открытые массивы?
Просто:
МАССИВ(ЧИСЛО)
МАССИВ(МАССИВ(ЧИСЛО))

Ярослав Романченко писал(а):
В чём уродливость-то?

Потому что должно быть не МАССИВ ИЗ ЧИСЛО, а МАССИВ ИЗ ЧИСЕЛ. И если для предопределённых типов компилятор можно обучить проверять склонение по падежам, то для типов определяемых пользователем этого сделать уже нельзя.

Автор:  Борис Рюмшин [ Среда, 11 Март, 2009 17:21 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Только эти рассуждения данной конкретной "шняги" не касаются. :D

Автор:  Сергей Губанов [ Среда, 11 Март, 2009 17:27 ]
Заголовок сообщения:  Re: Ключевый слова на родном языке

Info21 писал(а):
как будто пыль со стекла стерли.

Да, как прояснение. Название придумал для языка: Ясносказ. Начал писать транслятор этого хозяйства на C# с использованием русских идентификаторов. Через несколько дней стал совершенно по другому смотреть на код. Функции стал называть с маленькой буквы, так как они вызываются в середине "предложения", и заглавные буквы там не к месту. Отказался от верБлюЖачей нотации в_пользу_символов_подчёркивания (хотя при написании английскими буквами верБлюЖачесть никакого диссонанса не вызывает).

Автор:  Ярослав Романченко [ Среда, 11 Март, 2009 17:46 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Сергей Губанов писал(а):
А если объявлять массивы так:
Вектор = МАССИВ(ЧИСЛО, 3);
Матрица = МАССИВ(ЧИСЛО, 3, 3)
то вроде выглядит нормально.
А как это зависит от использования русского или английского или какого-либо другого естественного языка?
Vector = ARRAY(INTEGER, 3);
Matrix = ARRAY(INTEGER, 3, 3)
А никак не зависит, это просто другой язык программирования.

Автор:  Сергей Губанов [ Среда, 11 Март, 2009 17:55 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Нотация ARRAY(*) инвариантна относительно спряжения слов по падежам, а нотация ARRAY OF * не инвариантна.

Автор:  Ярослав Романченко [ Среда, 11 Март, 2009 17:58 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Сергей Губанов писал(а):
Нотация ARRAY(*) инвариантна относительно спряжения слов по падежам, а нотация ARRAY OF * не инвариантна.
Это очевидно.
А что мешает Вам сделать интернациональный язык программирования полностью инвариантный относительно спряжения слов по падежам и который может иметь как английские ключевые слова так и русские по выбору? :)

Автор:  Trurl [ Среда, 11 Март, 2009 18:07 ]
Заголовок сообщения:  Re: Ключевые слова на родном языке

Сергей Губанов писал(а):
ЕСЛИ * СДЕЛАТЬ * {АЕСЛИ * СДЕЛАТЬ *} [ ИНАЧЕ * ] СДЕЛАНО

Только вчера сделал АЕСЛИ.

Страница 1 из 10 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/