Сергей написал(а):А нам со своим, в свою очередь, разобраться нужно.
Ну да.. Кстати вот набрел ЯП РС/Б. http://www.rs.b.nm.ru/Opisanie.htm Судя по описанию русскоязычный написанный первоначально на Макросах ФАСМ РС/А потом по "взрослому" РС/Б, Си подобный, проект явно заброшенный, ...автор rs.b@nm.ru , кстати то же пишет не поект а проэкт ..)) и Агоритмы пишет через а , но это ерунда главное что бы думал правильно. Сайт правда "никакой" еле пробился с третьего раза то ли поисковик глушит то ли сам сайт(хост) такой, не понятно. Скачал но не устанавливал не копался пока, нет времени...
(ц) ...Это промежутачная была написана на РС/А, с минимумом возможностей,
и предназначена лиш для компиляции первой версии РС/Б.
Тем немение с её помощью можно писать небольшие программы под Win32.
О СТРУКТУРЕ ЯЗЫКА
Язык разделён на две основные части:
1)Данные - над которыми выполняются действия.
2)Алгаритмы - которые собственно и выполняют эти действия.
Данные:
Являются основной частью любой программы, фактически данные представляют из
себя некоторое чило байт обединйнные именнем (Кроме флагов имеющих
размер в бит), но для удибства данные представленны следуйщими
основными типами:
"ЧИСЛО" - Собственно числовие данные (со знаком и без, целые,и с плавающей точкой)
"ТЕКСТ" - Текст
"РЕЗЕРВ" - Резервирование места для данных
"БУФЕР" - Спец. структура для динамической работы с памятью.
"УКАЗАТЕЛЬ" - Спец. структура для динамической работы с данными.
"ФЛАГ" - Однобитные данные (условия "да"/"нет")
Константы - собственно число или "текст", константа можно именовать а можно
использовать непосредственно.
Переменные - это также данные создаваемае в процессе работы программы и
используемые для временного хранения данных, их имена действуют только
в локальной области где они были
созданы, и их содержимое уничтожается по выходе
процеса из этой области.
Алгаритмы:
Наименьшим элементом алгаритма являются операторы,
которые собственно и оперируют данными. Алгаритмы представлены
на следуйщие основные типы:
Манипуляции данными - это оператры перемещения данных, арифметика, логические операции, и др.
Построения алгритмов - это метки, оператры условного/безусловного перехода, цикличиских операций, и др.
Структуризация алгритмов - это такие структуры как "МАКРОС","ФУНКЦИЯ","ЛОКАЛ" и др.
Спец. структуры - такие как "АСМ"
ИМЕНА И ОБЛАСТИ ИХ ДЕЙСТВИЯ
Объекты программы (метки, данные, переменные, именованые_константа,
подпрограммы), должны обязательно иметь имена (а иначе как к ним обращятся),
имена не стандартизировани могут состоять из любого количества
любых символов (кроме спец символов, и пробелов), имя не
может быть числом (то есть состоять только из цифр, и иметь формат числа).
Всё пространство программы разделено (условно) на области действя имён,
есть одна глобальная область и множество локальных областей:
Имена зарегистрирование как локальные в одной из локальных областей будут извесны
только там и не где более.
Имена зарегистрирование как глобальные будут извесны везде в программе,
зарегестрировать имя как глобальное можно где угодно в программе,
для этого достаточно поставить за именем параметр "Г", такие имена не будут
изменены (локалкзированы) при компиляции.
(!)В локальной област можно зарегестрировать локальное имя такое же как в глобальной
но при этом обратится к глобальному имени будет не возможно.(все обращения будут
переименованы новым лок именем)
Возможно назначить имени три статуса:
"Г" - Имя относится к глобальным и будет известно везде в программе.
"Л" - Имя является локальным и будет извесно только в текущей локальной области (по умолчанию).
Локальные области вложени друг в друга начиная от файла основного кода,
который является первой локальной областью.
Аргументы - это специальные имена при помощи которых становится возможным
передать имена меток,данных,перменных,констант(но не подпрограмм) из одной локальной области, другой
(сделать их общими), имена всегда передаются из внешней области во
внутренею (вложеную), и никогда наоборот.
(!)Локальные имене имеют большый приоритет чем глобальные, потму если зарегистрировать
локальый объэкт с такимже именем как глобальный, не будет возможности обратится к
глобальному объекту (абращения будут относится к локальному).
КОМПИЯТОР
Компилятор "РС/Б" компилирует из исходного текста программы ассемблерный
листинг, который в последующем компилируется ассемблером в бинарник ....
Отредактировано robur (17.12.2014 19:57:58)