|
Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Машинно ориентированное программирование
При работе со словарем, рассматриваемым как список слов, можно применять отношение порядка:
ORDER - в порядке поиска
Имеются средства работы с событиями, исключениями (0 - успех) и прерываниями:
CATCH - THROW
Можно создавать метаопределения:
CREATE DOES>
Таким образом обеспечены базовые функциональные возможности, характерные для систем программирования для языков высокого уровня.
В отличие от языка Forth предложенный Дж.Шварцем машинно независимый машинно ориентированный язык программирования Little включает средства обработки битовых строк в привычную языковую схему языка Фортран. Сохраняется обычная система подготовки и понимания программ, меняются лишь операции по обработке данных и набор встроенных типов данных. Данные - это битовые строки произвольной длины, а операции обеспечивают манипулирование битовыми строками как на уровне отдельных подстрок и битов, так и на уровне крупных, совместно используемых блоков и структур данных. [ [ 32 ] ]
X = 23 .f. 1,10, a (2) = 44 /* в поле с 1 по 10-й разряд записать 44 */ .ch. 5, text = 'A' /* в 5-й символ текста записать 'A' */Листинг 4.1. Примеры операторов присваивания в языке Little
subr START; /* Разбор оператора присваивания языка Little */
size SYM (48);
call SCAN (SYM); /* Чтение первого символа */
call ASSIGN;
return;
end;
subr ASSIGN; /* Разбор оператора присваивания,
первый символ которого уже прочитан процедурой SYM */
if TC(SYM).EQ. TC ( '.' ) go to ASS;
if TC(SYM).EQ. TC (NAME) go to NAME1;
ERROR;
/ASS/ call SCAN (SYM); /* левая часть*/
IF TC (SYM).ne. TC (PREF) ERROR;
call SCAN (SYM);
IF TC (SYM).ne. TC ( '.' ) ERROR;
call SCAN (SYM);
call SCAN (PREF); /* f, s, e, ch */
/* выделение поля из левой части */
call SCAN (SYM);
IF TC (SYM).ne. TC (NAME) ERROR;
go to NAME1;
/NAME1/ call SCAN (SYM);
if TC(SYM).EQ. TC ( '=' ) go to NAME2;
if TC(SYM).EQ. TC ( '(' ) go to RI-PAR;
ERROR;
/RI-PAR/ call SCAN (SYM);
IF TC (SYM).ne. TC (EXPR) ERROR;
call SCAN (SYM);
IF TC (SYM).ne. TC ( ')' ) ERROR;
Call SCAN (SYM);
IF TC (SYM).ne. TC ( '=' ) ERROR;
go to NAME2;
/NAME2/ call SCAN (SYM);
IF TC (SYM).ne. TC (NAME) ERROR;
return;
/NO/ end;
Листинг
4.2.
Программа синтаксического анализа операторов присваивания написанная на языке Little.
Средства машинно ориентированного программирования обычно доступны в системах программирования для языков высокого уровня в виде операций или команд, образующих линейные участки. Язык Little не получил особого распространения, хотя был успешно применен для эффективной реализации языка сверх высокого уровня Setl. Принятые в нем решения представляют интерес как эксперимент по разработке многоуровневых систем программирования.
