http://forum.oberoncore.ru/viewtopic.php?f=7&t=1392 - ссылка
Пока это самый перспективный проект
пока нет :
1. хорошего перевода всех операторов на русский язык
2. документации по Компонентному Паскалю с русскими операторами
BlackBox 1.5 с русскими операторами - Альфа Версия
Сообщений 1 страница 23 из 23
Поделиться113-03-2009 08:34:15
Поделиться218-03-2009 08:57:09
Вот что получилось. Одна голова хорошо а, 2-е лучше. Может кто предложит другие варианты???
Перевод заточен под обучение. По этому некоторые термины переводятся так, чтобы не приходилось вспоминать
(23 марта 09) Частично перевод в приведён в соответствие с Глаголом.
Обратите внимание на:
слово IN - 2 значения - вхождение в множество было В
- указание что переменная передаваемая процедуре для записи - не было однозначного перевода
слово NEW -2 значения - Создать (объект)
- Новый (описание типа объекта)
слово POINTER TO - ДОСТУП К - желательно конечно УКАЗАТЕЛЬ НА - как во всей программистской литературе , но из за желания сделать возможной перекодировку РУС<->ЛАТ пока оставлю так (слово TO - используется ещё в цикле FOR)
как перевести INF ? BITS- ? - не знаю, ваши предложения??
(* Русский перевод операторов Компонентного Паскаля. Версия 23.03.09 Бетта*) & И ~ НЕ ABS ПО_МОДУЛЮ ASH АРИФМЕТИЧЕСКИЙ_СДВИГ ARRAY МАССИВ ASSERT ПРОВЕРИТЬ BEGIN НАЧАЛО BOOLEAN ЛОГИЧЕСКАЯ BY С_ШАГОМ BITS В_БИТЫ BYTE БАЙТ CASE ВЫБРАТЬ CHAR СИМВОЛ_УНИКОД SHORTCHAR СИМВОЛ_Latin1 CHR В_СИМВОЛ CAP ЗАГЛАВНАЯ_ЛАТ CONST ПОСТОЯННЫЕ CLOSE ЗАКРЫТИЕ_МОДУЛЯ DEC УМЕНЬШИТЬ DIV ЦЕЛАЯ_ЧАСТЬ DO ВЫПОЛНИТЬ ELSE ИНАЧЕ ELSIF А_ЕСЛИ END КОНЕЦ ENTIER МАКС_ЦЕЛОЕ EXIT ВЫХОД FALSE ЛОЖЬ FOR ОТ HALT ОСТАНОВИТЬ_ПРОГРАММУ IF ЕСЛИ IMPORT ИСПОЛЬЗОВАТЬ IN ВХ OUT ВЫХ VAR ПЕР INC УВЕЛИЧИТЬ INTEGER ЦЕЛОЕ IS ЯВЛЯЕТСЯ LEN РАЗМЕР LONGINT ЦЕЛОЕ_ БОЛЬШОЕ LOOP КОЛЬЦО MAX МАКС MIN МИН MOD ОСТАТОК MODULE МОДУЛЬ NEW СОЗДАТЬ NIL ПУСТО ODD НЕ_ЧЕТ OF ИЗ OR ИЛИ ORD НОМЕР_БУКВЫ POINTER ДОСТУП PROCEDURE ПРОЦЕДУРА REAL ВЕЩЕСТВЕННОЕ SHORTREAL ВЕЩЕСТВЕННОЕ_МАЛОЕ RECORD ЗАПИСЬ REPEAT ПОВТОРЯТЬ RETURN ВОЗВРАТ SET МНОЖЕСТВО SHORT КОРОТКОЕ SHORTINT ЦЕЛОЕ_МАЛОЕ THEN ТО TO К TRUE ПРАВДА TYPE ТИПЫ UNTIL ДО VAR ПЕРЕМЕННЫЕ WHILE ПОКА WITH ЕСЛИ_ТИП ABSTRACT ДЛЯ_НАСЛЕДОВАНИЯ EXTENSIBLE ПЕРЕОПРЕДЕЛЯЕМЫЙ LIMITED ВНУТРИ_МОДУЛЯ EMPTY ПУСТОЙ EXCL ИСКЛЮЧИТЬ INCL ВКЛЮЧИТЬ SIZE РАЗМЕР FINALIZE ФИНАЛИЗИРОВАТЬ ASSERT ПРОВЕРИТЬ INF ????
Отредактировано rusprog (23-03-2009 16:40:58)
Поделиться318-03-2009 14:04:52
Что значит тождественно? Некоторые английские обозначения не имеют аналога на русском. Их нужно дополнить?
Bits - наверно биты, хотя я не силен в английском.
Возможно для НЕ можно поискать другой аналог. Может инверсия?
Is можно попробовать заменить на ИЗ . Если А из Б то Я. По-моему неплохо. Там конечно ИЗ есть, но может имеется возможность использовать и здесь?
Поделиться418-03-2009 16:52:57
Что значит тождественно? Некоторые английские обозначения не имеют аналога на русском. Их нужно дополнить?
Bits - наверно биты, хотя я не силен в английском.
Возможно для НЕ можно поискать другой аналог. Может инверсия?
Is можно попробовать заменить на ИЗ . Если А из Б то Я. По-моему неплохо. Там конечно ИЗ есть, но может имеется возможность использовать и здесь?
Важное замечание - по МОЕМУ ОПЫТУ (кстати на этот текст я затратил ~ 8 часов ) переходить надо не англо-русским словарём, а с описанием языка!! А англо-русском словаре искать синонимы!!
Например оператор CASE в Си и КП используется в разных местах конструкции Select-Case , и соответственно переводится по разному (в СИ - ВАРИАНТ, в паскале - ВЫБРАТЬ ИЗ).
Даже в английских терминах нет единства понятий!!
тоже самое с оператором RETURN
Ещё пример
BEGIN - есть 2 варианта использования
BEGIN END - логические скобки - > НАЧАЛО КОНЦ
BEGIN - начало секции инициализации модуля - > я их логически разделил - зачем объединять 2 разных программных понятия в одном слове??
чтобы операторов было меньше???
а зачем ??? чтобы язык был проще (в обучении)??? так назови всё своими именами, чтобы увидев оператор не приходилось лезть в справочник (для редко используемых операторов) и даже задумываться - это логические скобки или инициализация модуля??? !!!
Открываем описание КП. Что выполняет оператор BEGIN в конструкции описания модуля??? он обозначает начало инициализации модуля. Так и назовём ИНИЦИАЛИЗАЦИЯ_МОДУЛЯ . что бы не ошибиться и меньше разбирать ТЕКСТ программы и больше думать над её логикой и структурой!!
Поделиться518-03-2009 19:00:43
А что насчет инверсии? Я же не против, я только предложил вариант.
Кстати, не думаю, что ИЗ пересекалось бы и человек запутался в контексте программы. Иное дело возможно ли это в данном проекте? Допускает ли транслятор использование одинаковых ключевых слов в разных местах?
А насчет тождественности напротив Short и Long? Мне просто не понятно, объясните, что Вы подразумеваете под этим?
Поделиться619-03-2009 01:19:37
А насчет тождественности напротив Short и Long? Мне просто не понятно, объясните, что Вы подразумеваете под этим?
это из описания языка КП - я нормально не разобрался как они работают, оставил для других, может кто подскажет хорошее слово.
----описание КП -----
10.3 Предопределенные процедуры Следующая таблица дает список предопределенных процедур. Некоторые процедуры являются обобщенными, т.е. они применимы к разным типам операндов. v представляет переменную, x и y — выражения, а T — тип. Первая подходящая строка дает правильный тип результата. Процедуры-функции Имя Тип аргументов Тип результата Функция ABS(x) <= INTEGER INTEGER абсолютное значение вещественный тип, LONGINT тип x ASH(x, y) x: <= INTEGER INTEGER арифметический сдвиг (x * 2^y) x: LONGINT LONGINT y: целый тип BITS(x) INTEGER SET {i | ODD(x DIV 2^i)} CAP(x) литерный тип тип x x — буква из набора Latin-1: соответствующая большая буква CHR(x) целый тип CHAR литера с порядковым номером x ENTIER(x) вещественный тип LONGINT наибольшее целое, не превосходящее x LEN(v, x) v: массив; x: целая INTEGER длина v в измерении x константа (первое измерение = 0) LEN(v) тип массивов INTEGER эквивалентно LEN(v, 0) String <цепочка> INTEGER длина цепочки (не считая 0X) LONG(x) BYTE SHORTINT тождество SHORTINT INTEGER INTEGER LONGINT SHORTREAL REAL SHORTCHAR CHAR Shortstring String MAX(T) T = основной тип T максимальное значение для типа T T = SET INTEGER максимальный элемент множества MAX(x, y) <= INTEGER INTEGER большее значение из x и y целый тип LONGINT <= SHORTREAL SHORTREAL числовой тип REAL SHORTCHAR SHORTCHAR литерный тип CHAR MIN(T) T = основной тип T минимальное значение для типа T T = SET INTEGER 0 MIN(x, y) <= INTEGER INTEGER меньшее значение из x и y целый тип LONGINT <= SHORTREAL SHORTREAL числовой тип REAL SHORTCHAR SHORTCHAR литерный тип CHAR ODD(x) целый тип BOOLEAN x MOD 2 = 1 ORD(x) CHAR INTEGER порядковый номер литеры x SHORTCHAR SHORTINT порядковый номер литеры x SET INTEGER (SUM i: i IN x: 2^i) SHORT(x) LONGINT INTEGER тождество INTEGER SHORTINT тождество SHORTINT BYTE тождество REAL SHORTREAL тождество (возможно усечение) CHAR SHORTCHAR проекция String Shortstring проекция SIZE(T) любой тип INTEGER количество байт, требуемое для T SIZE не может применяться в константных выражениях, т.к. его з
Поделиться719-03-2009 09:34:15
> я нормально не разобрался как они работают
А можно ли создавать набор служебных слов для языка, не зная его до такой степени, что составляет трудность разобраться в преобразовании видов данных?
нормально - понятие растяжимое ...
Если не я то кто же...?? Я профессиональным программистом не являюсь. Программирую время от времени по мере необходимости. В основном на VB. С удовольствием воспользовался готовым продуктом. Но его нет. Что могу я делаю. В чём плохо разбираюсь спрашиваю у тех кто знает. А от профессионалов - в место советов основном только не конструктивная критика на уровне разговоров в курилке и флейм.
По языку кроме вас 2-х ни кто никаких предложений не с делал. Зато флейму ...
Поделиться819-03-2009 09:35:52
> А насчет тождественности напротив Short и Long?
Имеется ввиду тождественность выражения x = УЗК(x).
я не понимаю его смысл - объясни пожалуйста по подробней...
Поделиться919-03-2009 11:12:35
По языку кроме вас 2-х ни кто никаких предложений не с делал. Зато флейму ...
А какой смысл предлагать, если предложения тонут в потоке ненужного флейма???
Поделиться1019-03-2009 14:10:40
А какой смысл предлагать, если предложения тонут в потоке ненужного флейма???
0. Я просто опубликовал результаты своей работы.
1. Ну ну Utkin295 и Сый нашли некоторые ошибки и сделали пару дельных предложений.
2. В сети был доступен только маленький огрызок с 10-ю операторами, (перевод которых мне тоже не очень понравился - но сколько людей столько мнений), теперь в списке все ключевые слова. т.к. на 1-го пишущего 10 читающих - может кому и сгодится.
3. Я ожидал от форума на оберонкоре - большего, там всё таки много хороших специалистов по КП и оберону. Я думал будет много замечаний по тексту, но его просто не заметили - ни одного замечания!!! Стали переходить на личности
Поделиться1119-03-2009 14:12:57
А можно ли создавать набор служебных слов для языка, не зная его до такой степени, что составляет трудность разобраться в преобразовании видов данных?
Может взять слова от Глагола ??? и убрать сокращения?? зато будет готовый учебник (от Глагола)
Поделиться1219-03-2009 14:22:40
Возможно для НЕ можно поискать другой аналог. Может инверсия?
Is можно попробовать заменить на ИЗ . Если А из Б то Я. По-моему неплохо. Там конечно ИЗ есть, но может имеется возможность использовать и здесь?
будет конфликт с к ARRAY OF - МАССИВ ИЗ //
такая же проблема с POINTER TO - УКАЗАТЕЛЬ НА //
НЕОБХОДИМО БУДЕТ ПРАВИТЬ КОНВЕРТОР, НО ХОРОШИЕ СЛОВА ТОГО СТОЯТ.
Поделиться1319-03-2009 18:07:39
3. Я ожидал от форума на оберонкоре - большего, там всё таки много хороших специалистов по КП и оберону. Я думал будет много замечаний по тексту, но его просто не заметили - ни одного замечания!!! Стали переходить на личности
Я тоже это заметил, когда пытался донести мысль о русскоязычном программировании. Но все свелось сначала к Валентине, а потом и лично ко мне
Возможно в этом проблема Оберона. Он слишком оторван от жизни. Академики могут вечно обсасывать красявости, простоту и удобство, в тоже время как С++ не хаяли (и я в том числе ), а на нем пишут и не мало. Оберон же распространен не так сильно, как тот же Делфи.
Поделиться1419-03-2009 18:14:46
Конфликт какого рода? В трансляторе или при восприятии текста?
Насколько я знаю МАССИВ ИЗ должен использоваться строго при объявлении структур данных (переменных, записей и прочее). В тоже время операция над множествами никогда там не встречается. Они просто не пересекаются в тексте. Иное дело если устройство транслятора таково, что такая система обозначений недопустима.
Может взять слова от Глагола ??? и убрать сокращения?? зато будет готовый учебник (от Глагола)
Из Глагола брать не следует. Не потому что там набор слов плох или он кому-то не нравится. Просто необходимо искать свой путь. Даже если Вы не настолько сильны в данном языке (как и я ). Можно допустим взять служебные слова Глагола за основу, но слепое копирование недопустимо. Кроме того, если Вы достигните цели, возможна путаница.
Поделиться1519-03-2009 19:11:55
> слепое копирование недопустимо
Никто и не спорит. Но, помнится мне, кто-то сетовал на отсутствие стандарта на это дело...
Я писал это rusprog , имея ввиду как раз факт отсутствия стандарта.
Если же на роль стандарта выдвигаются служебные слова от Глагола, я не спорю, но об этом пока ни где не сказано. Пока это стандарт Глагола.
Поделиться1619-03-2009 19:25:22
Short - короткий, Long - соответственно длинный. Спор о тождественности на мой взгляд излишен, поскольку зашел не в то русло. Изначально о тождественности спросил я, потому что там стояли знаки вопроса. Я просто не понял зачем это там. Предлагаю rusprog подвести итог и выложить обновленную версию, с учетом пожеланий и исправлений.
Поделиться1723-03-2009 16:42:15
последний вариант от 23 марта - обеспечена возможность простой конвертации - рус-лат
Поделиться1830-03-2009 16:54:44
вчера вышла новая версия от info21
Поделиться1912-07-2009 22:40:10
http://www.inr.ac.ru/~info21/software.htm - вот адрес где можно скачать компонентный Паскаль с русским языком - последнюю версию
Поделиться2020-03-2011 12:54:26
Насколько я понял для BlackBox написан фильтр который меняет русские слова на английские. А для free pascal может кто нибудь подобный фильтр написать. Особенно интересует возможность ручного редактирования словаря.
Поделиться2120-03-2011 20:03:34
Есть подобная разработка (только там свой язык программирования) на programmersforum.ru
Далее можно использовать транслятор - переводить тексты из Ваших слов в операторы free pascal. Однако здесь полно своих минусов. В частности придется отказаться, например, от Лазаруса. Зато можно настроить подсветку в стороннем редакторе (при условии если Ваш язык будет всего лишь однозначным переводом слово в слово).
Поделиться2220-03-2011 21:23:23
Дело в том что я не программист и в программировании ничего не понимаю. А интерес к данной теме обусловлен попыткой подобрать в русском(древнерусском) языке смысловые аналоги к синтаксису паскаля. И посмотреть что из этого получится. Если интересно могу скинуть таблицу с тем что у меня получилось. Вдруг пригодится.
Поделиться2321-03-2011 07:44:05
Скиньте. Програмисты итак на все руки от скуки. В тоже время если Вы поможете, это будет не плохо. Потому что у Вас свежий взгялд, не замутненный программисткими извратами.
Отредактировано utkin295 (21-03-2011 07:45:30)