книги из ГПНТБ / Землянский, А. А. Транслирующая система с языка АЛГЭК-М на ЭВМ Минск-32 учеб. пособие
.pdf4 .5 , |
Особенности |
работы операторов |
вводэ/вывода |
с |
|||
|
|
|
объектами, использующими МЛ. |
|
|||
В целях сокращения времени обработки информации в |
|||||||
САП М8СИ-32 предусмотрена запись объекта, расположенного на |
|||||||
перфокартах, |
на соответствующую магнитную ленту, Это |
рас |
|||||
пространяется |
на объекты, относящиеся к исходным. |
|
|||||
Оператором ввода исходного объекта, |
в характеристике |
||||||
которого указано |
ВК// |
и МЛ// , где // - |
номер устройства, пре |
||||
дусмотрены |
следующие действия: |
|
|
||||
- |
закрепление за |
данным объектом соответствующих внешних |
|||||
- |
устройств |
(в данном случае ВКѵѴ |
и МЛ// ) ; |
|
|||
открытие |
исходного объекта на перфокартах; |
|
|||||
- |
открытие |
создаваемого (для программы ввода этот объект |
|||||
|
считается |
создаваемым) объекта на МЛ; |
|
-ввод информации в соответствии с размером зоны, преоб разование данных по указанному формату и запись на МЛ;
-после окончания ввода всей информации объекта происхо дит закрытие объекта на п/к и МЛ с последующим осво бождением (раскреплением) внешних устройств, затем происходит выход из программы ввод.
Действия программы вывода исходного объекта с Ш А/ на
ЫК// |
следующие: |
- |
за данным объектом закрепляются соответствующие МЛ// и |
UKJV'i
- открывается исходный объект на МЛ/Ѵ и создаваемый объект на ЫК//;
-выводится информация данного объекта на ЫК// в соот ветствии с форматом, при этом выведенный объект оформ-
лен по |
определенным |
правилам, го |
есть имеет НБ и КБ; |
- после |
вывода всего |
объекта закрывается объект на ЫК/Ѵ |
|
г. КЛ А' с последующим раскреплением внешних устройств |
|||
и выходом из программы вывод. |
то он монет быть толь |
||
Что касается создаваемого объекта, |
ко выведен на п/к.
Программа вывода создаваемого объекта на п/к выполняет следующие действия:
-за данным объектом закрепляются соответствующие ШМ
иЫК/Ѵ;
-открывается создаваемый объект на ЫК/Ѵ и исходный
(после того как создаваемый объект полностью звписан
на МЛ// , программой вывода он воспринимается как ис
ходный) объект на МЛА ;
- выводится информация данного объекта на ЫК/Ѵ |
по за |
данному формату;
-перед выводом объекте выводится на п/к НБ, а после вывода - КБ;
-закрывается исходный объект на МЛА;
-раскрепляются ЫК/Ѵ н МЛ/V после чего осуществляется выход из программы вывод.
Необходимо иметь в виду;
1)Обращение к внешнему объекту не должно появляться в левой части оператора присваивания, если этот объект имеет в опи сании термин исходный.
2)Не допускается формирование новой версии внешнего объекта на гой магнитной ленте, на которой данный объект располагался первоначально. Это вызвано тем, что СЫО-32 не допускает размѳ-
ІІО
щенкя на одной ленте объектов с одинаковыми именами.
3) Из второго |
пункта следует, что новая версия объекта, имею |
щего термин |
создаваемой, должна трактоваться как создание |
другого объекта с другим именем в смысле входного языка САП МЭСИ-32.
4)Допускѳетоя последовательная обработка всего объекта пол ностью. Это значит:
а) если объект вводится с п/к, то он должен быть
|
полностью введен (хотя ввод может осуществляться |
|||||||
|
порциями), |
то |
есть |
ввод не должен |
|
чередоваться |
||
б) |
с выполнением других операторов программы; |
|||||||
в том случае, |
когда |
объект имеет |
в |
описании ВКѴ |
||||
|
и МЛ |
N |
он вводится |
частями с п/к |
и |
записывается |
||
в) |
на соответствующую магнитную ленту; |
|||||||
, если в описании объекта указены |
ЫК// и МДА' , |
|||||||
|
то объект |
считывается зонами с магнитной ленты |
ивыводится на п/к частями.
5)Не допускается одновременная обработке двух и более объек тов, расположенных нэ одной магнитной ленте. Это вызвано
тем, что |
можно ОТКРЫТЬ только один объект на ленте. |
|
4 .6 , |
Операторы |
ПЕЧАТИ |
Оператор ПЕЧАТИ имеет следующую форму: |
||
библиотека |
(ІТЧ4 , ^список |
объектов печати*) |
^список объектов пѳчвти> |
::= ^объект печати> і < список |
объектов печати*, <объект печати* ^объект печати* ::= ^список пэросочетэний простых переменных*!
сформат управления печатью * / <формат размножения*
ш
хформат управлении пѳчотыо> ::= 'f (<повторитель>)4
^форыѳт размнояения> ::= ^строчный символ кроме/> (сповтори-
тель>)'
В соответствии с данным оператором, выполняется формиро вание поля печати. Причем значения данных преобразуются по
формату, который относится к этому идентификатору. Другими сло
вами, выполняется перевод из внутреннего представления
(2ФЗ, 2ПЗ и 2-ІО) значения идентификатора в ГОСТ 10859-64 и
при необходимости вставляется точка ( , ) .
При выводе аначений на печать в формате следует предусмот
реть одну позицию для знака. Независимо от знака числа он под
тягивается к крайгой левой значащей цифре, подавляя |
тем самым |
|||||||
незначащие |
нули. |
|
|
знвк минус, |
знак плюо |
|||
На широкую печать выводится только |
||||||||
для аначений идентификаторов типа целый |
|
вещественный не |
пе |
|||||
чатается. |
|
|
|
|
(ФУП) означает: |
|
||
Понятие "формат управления печатью" |
по |
|||||||
- |
физический вывод на широкую печать |
скомпонованного |
||||||
ля печати, |
то есть |
тех значений, идентификаторы и форматы |
кото |
|||||
рых предшествовали |
ему; |
печати пробелами |
(чистка поля); |
|
||||
- |
заполнение |
поля |
|
|||||
- |
протяжку бумаги |
на К -І интервал |
(К - значение |
повтори |
||||
теля в ФУП). |
|
|
|
|
|
|
||
При отсутствии ФУП происходит только формирование поля |
||||||||
печати без его физического вывода. |
происходит |
физичес |
||||||
Если |
эначение |
К в ФУП равно I , то |
кий вывод содержимого поля печати с протяжкой бумаги на следую щую строку.
"Формат размножения" служит для заполнения поля вывода
любым строчным символом кроме символа f , Количество
размножаемых символов равно гначению повторителя в одноимен
ном формате.
Пример:
целая |
А .В .С : текстовая М, |
't (2)\ |
|
|
Т вид С (ICO ; . . . |
||||
'и(5)\ |
|
|
- U n ) / t ( I ) ', В , ~ ( 2 ) .( І ) , |
|
библиотека |
АіЧ4. ^ ( Іо Ѵ . А ,'-( 4 ) ', |
|
||
|
|
С ,'9 ( 3 ) .( І ) ',^ ( 3 ) \ |
-(2 П )Ѵ К 2)\ М /С(5)4 |
kij); ...
Травно ИЮЛЬ ^ 1973
Всоответствии с данным оператором будет выполнена печать следующей конфигурации:
И З
н о м е
с
т
Р
о
к
и
позиции
I 2 3 4 5 6 7 8 9 10 II 12 13 14 15 16 17 18 19 20
2 L J U J Ü Ü U I J U U U I —1UJ - X О
2
3 --------------------------------------------------------------------------------------
4 *-> I . 6 |
- 9 8 |
. 7 |
5 |
|
|
7 ------------------------------------------------ |
|
|
6 |
|
--------------------------- |
8
9 К О Н Е Ц Х-* К Н * И Ю Л Ь і _ , І 9 7 3
ГЛАВА 5 . ЗАПИСЬ ПРОГРАММ НА БЛАНКАХ И ИХ ПЕРФОРАЦИЯ
5 .1 . Бланк для написания исходных программ Исходная языковая программа в САП МЭСИ-32 записывается
на специальном ö k b jk o (рис. 5 .1 . ) Кавдой строке бланка при перфорации соответствует одна перфокарта.
Бланк состоит из двух частей: "шапки" и- "поля".
В "шапке" содержатся реквизиты, которые служат для регист рации программы. "Шапка" состоит из следующих граф: наименование системы (САП МЭСИ-32); в графе "примечания" записываются допол нительные сведения о программе и пояснения к ней. Смысл граф
"ФИО программиста" и "дата написания программы", а также "ФИО проверившего программу" и "дета проверки программы" очевиден.
В графе "листов указывается количество бланков, занятых А* си напи сании ИЯП или изменений к ней. Вышеуказанные графы не перфори руются.
В позициях идентификатора программы указывается произволь ное имя, состоящее не более чем из четырех символов. Если имя программы состоит из меньшего количество символов, чем четыре,
то оно должно быть дополнено пробелами. Наличие пробела ( і_> )
впятой позиции имени программы ОБЯЗАТЕЛЬНО.
Впозициях И? листа (колонки с б по 8) указывают его поряд
ковый номер.
■ Однозначному и двухзначному номеру должны предшествовать НУЛИ.
Текст программы записывается в поле, которое состоит ив 20
пронумерованных строк и 5 строк без нумерации. Строки (следующие за номером 200), у которых отсутствуют номера, предназначены для
І І 5
Р и о . 5 .1 . Бланк для написания исходный программ.
написания изменений к данному листу бланка (если в этом есть необходимость; в. противном случае эти строки не заполняются).
|
Кѳндэя строка бланка состоит из |
50 позиций (колонки с 12 |
|||
по 6 1 ). Причем каждой позиции бланка |
соответствует одна |
колонка |
|||
п/к. |
Поле состоит из двух областей. |
|
с 9 по |
||
|
Первая |
область |
(te строки) ограничивается колонками |
||
I I и предназначена |
для последовательной нумерации строк. |
Нумера |
|||
ция строк |
необходима для удобства |
программиста, а также ис |
пользуется некоторыми программами СМО-32. Нумерация строк вы
полнена с |
шагом ІО . Э ю |
позволяет вносить изменения |
в пределах |
|
данного диапазона до девяти строк. |
12 |
по 61, запи |
||
Во второй области, |
ограниченной колонками с |
|||
сывается текст исходной языковой программы. |
|
|
||
Языковые конструкции для наглядности можно записывать с |
||||
пробелами |
( и ) , которые |
не имеют смысла вне строк |
и которые |
|
игнорируются транслятором ЛШ Ш . |
бланках |
|||
5 ,2 . |
Написание исходных языковых программ на |
Исходные языковые программы записываются на позиционных бланках стандартной формы (рис. 5 .1 ) .
Каждый символ ИЯП записывается в одной позиции. Запись служебных слов производится посимвольно. При этом каждой букве служебного слова соответствует одна позиция. Например, слово начало должно занимать шесть позиций одной строки бланка. Одна ко распознавание служебных слов производится по первым ТРЕМ симво лам, остальные символы игнорируются.
При написании на бланках олуж^чыѳ слова должны быть ПОДЧЕРКНУТЫ.
17
Допусквется запись текста ИЯП с использованием смешан
ных алфавитов: русского и латинского. Причем разрешается сме шанное написание русских и английских служебных слов в одной программе. Например, разрешается использовать слова конец и эквивалентное ему английское fc/V-ö.
Однако при распечатке текста ИЯП нотация выбирается еди
ная для всех служебных слов: либо русская, либо английская.
Выбор нотации определяется в соответствии с параметром управ ляющей карты (см . главу 6 ) .
Что касается идентификаторов, для обозначения которых
использованы русские и латинские буквы, остаются беэ
изменений. Капрг мер, идентификатор |
jiQ JtL |
сохранит свое гра |
|
фическое начертэние.
Следует различать при написании следующие символы:
I) русские буквы |
' |
латинские |
буквы |
и |
|
и |
|
2) руссі^ѳ буквы |
|
п |
цифры |
|
арабские |
||
0 |
|
О |
|
Ч |
|
4 |
|
|
3 |
|
|
# |
|
|
|
3) русские и лвтинские буквы |
знаки |
||
Л |
|
л |
|
X |
|
* |
|
V |
|
V |
|
Для наглядности ИЯП при их записи на бланках можно ноль-
зоваться прооалѳші.
тіа