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)
