Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Землянский, А. А. Транслирующая система с языка АЛГЭК-М на ЭВМ Минск-32 учеб. пособие

.pdf
Скачиваний:
5
Добавлен:
19.10.2023
Размер:
4.15 Mб
Скачать

 

3 .2 .6 .

 

Примеры

запись

 

Ошибочная запись

 

 

Правильная

 

 

 

Первичные выражения:

 

Первичные выражения:

 

 

 

 

 

28.3

 

 

 

 

 

 

X

28,3

 

 

 

 

 

 

 

ХАУ

 

 

 

 

 

 

ГА] У

 

 

 

 

(А+В [К]

wer]

 

5)

 

 

 

WCi/Kl

 

 

 

- Л

*

 

 

 

 

(lA^ßLK]-Pf5)

 

 

 

Множители:

 

 

 

 

Множители:

 

 

 

 

 

РАО

 

 

 

 

 

 

ИРА+О

 

В

 

 

 

 

M .Pf

В

 

 

 

 

 

 

-.Df

 

 

 

 

 

 

 

 

 

 

ТЕРМЫ:

 

 

 

 

ТЕРШ:

 

 

 

 

 

 

 

 

 

 

 

 

25

 

 

 

 

 

 

 

2-5

 

 

 

 

[3 ]

*

 

0 .0

[

 

,L]

 

 

 

 

0

0

 

 

 

А

В

7

 

 

А ГЗ]

 

. -

Г ? , А.]

 

 

 

 

 

 

 

 

 

 

 

Арифметичяскиѳ выражения:

 

Арифметические

выражения:

 

 

А - В + С А Р

 

 

 

7 А - В + С

VJD

((27

- F )

+ А X (Ä i-Q ]tF ] -0 .J2 ij

((27 -

F )VAA(RCQ.]rf-)-0.i2S

 

3 .3 . Текстовые

выражения

 

 

 

 

 

 

 

 

3 .3 .1 . Синтаксис

 

«.простое

текстовое

выражение?

«текстовое

 

выражение>

«простое текстовое выражение? ::= «примитивное текстовое

 

выражение?/«.простое текстовое выракениѳ>-*-«примитивное

 

текстовое

выражение?

 

« строка?/ <текстовая

^примитивное

текстовое

выражение?

 

переменная?

 

 

 

 

 

 

 

 

 

 

 

 

3 .3 .2 ,

Семантике

 

 

 

 

 

 

 

 

 

вого

Текстовое выражение является правилом для вычисления тексто­

эпѳчония.

Текстовое

значение

ость чистая строка

(си . раз-

29

дел 2 .6 . Строки). Текстовая

операция

(

— ) не определена,

если порождаемая ею последовательность

символов не является

чистой строкой,

текстовых

 

выражениях допускѳютоя

В качествеоперандов в

 

чистыо строки и текстовые переменные, которые могут ..меть в

описании текстовый формат (см . разделы 5 .2 .

и 5 . 3 . ) .

3 .3 .3 . Операция присоединения

я

Результатом операции присоединения ( —— ) является последо­

вательность символов значения левого операнда, за которой оле-

дует последовательность символов значения правого оперѳндѳ, и

которая не должна превышать І26.оимволов.

3 .3 .4 . Примеры

 

Ошийс шая запись

Правильная запись

ТІ

Т

Г элемент

6 :1]

ТІ f элемент 25:І2б]

Т2

^ элемент -

4J

f ТРАНСЛЯТОР“5

‘ ‘ транслятор’’-'

 

‘“ЯЗЫК— ..ПРОГРАММИРОВАНИЯ*"

язык"" + ‘ программирования’’

3 .4 . Логические выражения

 

 

3 .4 .1 . Синтаксис

«логический одночлен>| «.логическое

■ ^логическое выракениѳ>

выражением V «логический одночлен >

 

 

«логический одночлен> ::=

«вторичное логическое выражением!

«логический одночленмл «.вторичное логическое выражением

«.вторичное логическое выражением ::=

<первичное логическое

выражениемПспервичное логическое выражением

■ «.первичное

логическое выражение м ::=

«логическое выражение>|

«логическая

пе^еменнанм | « отношением|(«логическое выражением)

«отношением ::= «арифметическое отношением/«текстовое отиоше-

30

ниѳ>

отношѳние> ::■ = арифметическое выражением <знок

чврифметическое

операции отношения> ^арифметическое вырэнение>

О н а я операции

отношѳішя>

: :=

<1 &І ~\^і >ІФ-

< тѳкотовоѳ отношение> :

«.текстовое выракениѳхзнвк операции

отношения> <,текотозое выражение;* 3 .4 .2 . Семантика

Логическое выражение является правилом для вычисления

логического значения. Логическое значение в машине представляет­

ся НУЛЕМ (0) для ложъ

и ЕДИНИЦЕЙ ( I)

для истина.

 

 

Принципы вычисления полностью аналогичны правилам,данным

в разделе 3 .2 .2 ,

для

арифметических выражении.

 

 

 

3 .4 .3 . Типы

используемые в качестве первичных логических

 

Переменные,

выражений, доляны быть описаны как логические переменные (см .

раздел 5 .2 . Описание

переменных).

 

 

 

 

 

 

3 .4 .4 . Операции

 

 

 

 

 

 

 

 

 

 

3 .4 ,4 .1 .

Арифметические отношения принимают значение

истина в том случае,

когда соответствующее отношение удовлетво­

ряется для значений,

входящих в него арифметических выражений;

в противном случѳе они принимают значение ложь.

 

на

Проверка-справедливости текстового отношения основывается

лексикографической упорядоченности

строчных символов в поряд­

ке

воэрѳстѳния:

 

6

7

8

9 + - / , . _ J

0

t ( ) X = ; П

^ >

 

I 2 3 4 5

 

 

 

 

А Б В Г ДR

Е К З И К Л Ы Н О П Р С Т У Ф Х Ц Ч Ш Щ

 

Ы Ь Э Ю

P F & l

Jb / / Q R S T r V K / 2

é=^VA~]

 

При выполнении операции

 

I

 

 

 

эиѳчения-

 

отношения над текстовыми

31

ми разной длины более короткое из них считается дополненным

справа символами

пробелов (

і__і ) до выравнивания

1длин,

.

3 .4 .4 .2 .

Значения

логических операций

Л,Ѵ.

 

 

определяются следующей функциональной таблицей, в которой И -

означает истина, а Л - ложь: •

 

БІ

л л и и

 

 

 

л

л

к

 

 

 

В

2

 

и к

 

 

 

 

7 B I

 

и л л

 

 

 

 

л л л и

 

 

 

ВІЛ В 2

 

л и и и

 

 

З А . 5 .

в іѵ в г

 

 

знаков

операций

 

 

Порядок старшинства

 

3 .4 .5 .1 . Синтаксис

 

 

 

::= < п е ,в ы й порядок

> 1

^.порядок старшинстваа

знаков операций»

 

^второй

порядок>

третий порядок»

операции»

 

< первый порядок>с<знак

арифметической

 

^второй п орядок > с

 

 

<знвк операцш; отношения»

 

^третий порядок»с:

 

 

^энак логической операции»

 

3 .4 .5 .2 , Семантика

 

 

 

 

 

Данный синтаксис задает порядок старшинства знаков опера­ ций в пределах выражений.

Операции в пределах одного выражения обычно выполняются

слева направо с учетом порядка старшинства и приоритета знаков операций.

3 .4 .6 . Приоритеты

знаков

 

3 .4 .6 .1 . Синтаксис

 

^первый приоритет»]

«^приоритет знаков арифметических операций»

^второй прі эритет»

і с третий приоритет»

 

< первый приоритет >

cz

f

 

 

 

32

^второй

приоритет»

с :

< знак

операции

типа умножение »

 

<трѳтий

приоритѳт>

er

< зн

8

к

операции типа сложения»

 

<приоритет знаков операций

отношения»

:

^первый приоритет»

<первый

приоритет

с г

< знак

операции

отношения >

>1

^приоритет знаков логических операций»

:*=<первый приоритет

 

и.второй приоритет» ктретий

приоритет»

 

 

 

^первый приоритет» с г

7

 

 

 

 

 

 

 

^второй

приоритет» с г А

 

 

 

 

 

 

 

^.третий

приоритет» с : V

 

 

 

 

 

 

 

З Л .6 .2 , Семантика

Приоритет знаков соответствующих операций определяет последовательность выполнения действий над операндами в пределах данного ПОРЯДКА старшинства.

З Л .6 .3 . Применение скобок интерпретируется в смысле, данном

с разделе 3 .2 Л .2 .

 

З Л .7 . Примеры

Ошибочная запись

Правильная запись

 

П А =-В

R[)J элемент 3:7І->^элемент UiA'] /?£' И элемент 3;77»Ѵ<?(злемені М:ЛО

 

2£-f элемент 2:37]

~J С [ Т ] , Н

^ 1 А-Гэлемент 2:37]

T — S

= ‘ ИЮНЬ _ 1972^

T ~1S 1

= ‘ ИЮНЬ<_ I972,)

ИМЯ

£BM ! MKPJ

іимя^=^влАдишар*'

WAAßUCb ä ä

W A / n s v f C

3 .5 . Именующие выражения

3 .5 .1 . Синтаксис

^именующее выражение» ::= <идентифигвтор метки »(^указатель переключателя >

зз

^указатель переключателя> : :в «.идентификатор переключателя*

[*индѳкочі

идентификатор

перѳключатѳля> ::= < идентификатор>

3 .5 .2 . Сѳиаятика

являетоя правилок для получения метки

Именующее

выражение

опѳрвтора

( с и .

раздел 4 .

Операторы). Принципы вычисления этого

.значения

полностью аналогичны правилам, приведенным для перемен­

ных с индексами

(см . раздел 3 .1 .4 .) . Указатель переключателя

отсылает к соответствующему опиоѳнию переключателя (см . раздел

5 .5 . Описание переключателей) и по фактическому числовому зна­

чению своего индекса выбирает одну из меток, составляющих список

маток в описании переключателя.

Это значение служит номером мет­

ки в спиоке меток, очитая

слѳ"а

направо.

3 .5 .3 . Индекс

 

0

Вычисление значения индекса аналогично такому хе вычислению

для переменных с индексами

(ом .

раздел 3 ,1 .4 .) . Значение указа­

теля переключателя определено только в том олучаѳ, когда индѳко принимает одно из положительных значении І , 2 , 3 , - . ? Л ,

где Л - число меток в

списке

идентификаторов меток^

3 .5 .4 . Примеры

 

Ошибочная запись

Правильная звпись

КЛЮЧ

.

ю ш ч

äwri]

 

s~-wci]

KSL7J .

 

KSC-71

4 . Операторы Единицы действий в языке называются операторами. Операторы .

выполняются в той последовательности, в которой неписаны. Однако эта последовательность действий может прерываться операторами

34

перехода, которые определяют своего преемника явно, и сокра­ щаться условными операторами, которые могут вызывать пропуск некоторых операторов.

Для указания порядка выполнения операторов последние могут

снабжаться метками.

Последовательности операторов могут группироваться в состав­ ные операторы, поэтому определение оператора рекурсивно. Посколь­

ку описания, о которых говорится в раэдеде 5 , входят в синтак­

сическую структуру программы, синтаксическое определение состав­

ного блока и блока должно обеспечивать

определение описаний.

4 .1 . Операторы и составные операторы

 

4 .1 .1 . Синтаксис

О

 

 

<опер8іор>

безусловны й опѳр8іор>/<:условный .оператор>|

соператор

цикла> •

: : = < основной

 

...

безусловный

оператор;»

оператор>/•£.составной

оператор;»

 

ооновной

опѳратор>|

^основной оператор;» ;:«* снѳпомеченный

Х.иетка^ < .основной оператор>

оператор

присваивания;»|

<лѳпомѳчѳнный ооновной

оператора

^оператор пѳрѳхода>/ ^пуотой оператор;») ^оператор библио­ теки;»

4 составной

оператор>

<непомечѳнный составной опѳрэтор>

/б ѳ тк а >

< составной

оператор>.

. начало

вконец

^непомеченный

составной опѳраю р>

составного

оператора>

4 непомеченный конец состав­

<конѳц составного опѳратораь

ного оператора>/ «матка>

ікон ѳп

составного

оператора >

<.непомеченный конец составного оператора> ::= <оперѳтор>

конец I опѳратор> ; ^непомеченный конец составного

35

оператора > 4 .1 .2 . Семантика

Значения переменных, включенных в состав операторов, дол-

нны быть определены. Это означает следующее:

4 .1 .2 .1 . Переменным, используемым в качестве операндов

в выражениях, должно быть дано значение. Переменная может получить значение либо после ввода, либо после присваивания ей

значения (в этом случае,

переменная записывается в левой части

оператора присваивания, либо является параметром оператора биб­

лиотеки).

 

с индексами принимают значения либо

4 .1 .2 .2 . Переменные

посла ввода соответствующих им значений массивов,

либо в резуль­

тате выполнения операции присваивания. Аналогичные

действия дол-

жны быть выполнены и для

 

 

V

переменных различных типов.

4 .2 .

Операторы присваивания

 

 

4 .2 .1 . Синтаксис

::= «числовая переменная» ^^ариф м етичес­

«оператор

присваивания.»

кое выражение»/«переменная типа текстовое» ^«.арифметичес­

кое выражение»/ «. переменная типа текстовое»

:'= стексто -

, вое выражение»/«.логическая переменная» := «логическое

выражение»/«.переменная типа целое» :=

«правая честь»

«правая часть » ::= «.арифметическое выражение»/«текстовое выра­

жение»/«логическое выражение»

 

 

4 .2 .1 . Семантика

 

 

значения не-

Оператор присваивания служит для присваивания

 

о

 

 

 

которого выражения одной переменной.

 

 

4 .2 .2 . Примеры

Ошибочная

запись

Правильная запись

 

А := І

А := * 1

 

 

36

 

В:=В+А

'

В+І :=В

:=К

Ь /'[элвмент 1:37]

:=К

 

/ элемент - I :3 7 j

Т

элемент 2 :5 j

:=ТІ/ элемент 1:3]

Т /’ элемент 2 :- 5 J

:=TIL

4 .2 .3 .

Типы и форматы

элемент 1:3]

 

4 .2

.3 .1 . Если переменная левой части имеет тип логический,

то значение,

определяемое

правой

частью, должно быть типа логи­

ческий.

В противном случае

оператор присваивания не определен.

4 .2

.3 .2 . Если тип переменной

левой части вещественный или

целый, то значение, определяемое

правой частью, может быть одно­

го из типов

вещественный или целый. При несовпадении типов авто- •

магически подключается соответствующая функция преобразования

значения

правой части. Считается,

что для преобразования из ти­

па вещественный к типу целый функция преобразования дзет резуль­

тат, эквивалентный £ /VTI£ R (a m }.t),

 

 

 

а

ENTIER-

где А - значение арифметического

выражения,

 

 

функция, вычисляющая целую часть

числе.

части

целый,

а значение

4 .2 .3 .3 . Если тип переменной левой

правой части имеет тип текстовый,

то

результат

определен в

случае, когда значением текстового выражения

являются цифровые

значения, е

их количество не превышает

1 0

символов, включая знак

числа.

 

 

 

чаоти

текстовый, а зна­

4 .2 .3 .4 . Если тип переменной левой

чение правой части имеет тип целый,

то

результат определен в слу­

чае, когда количество символов в

числе

не превосходит

формата

переменной левой части.

 

 

 

 

 

 

 

4 .2 .4 .

Роль „позиций

снабжена позициями,

то присваи­

Если переменная левой части

вание новых значений распространяется только на элементы, выде­ ленные этими позициями. Значения остальных элементов такой пе­ ременной не меняются в результате выполнения оператора присваи­ вания.

4 .2 .5 . Примеры

Правильная запись

 

А : = В + М f l , 7 , KJ

37

£ f i ] 1 •

4

:«>М

[ I j T

элемент Н : р]

 

К Г элемент

'5:13]

 

 

13J

RtfT, T l.Fl'КІЯ

 

 

 

 

 

 

 

 

Гэлеиені 7 ] ;вА /'элемент

Ошибочная запись:

 

 

 

О

 

 

А :-В + М / > Г ,н ]

 

 

 

 

 

Л

Г - і] :»4

 

элемент Н :РІ

 

КГэлемент

13:5/

 

:» м [ і ,7 "

 

R L i l . J l F [ Ц К [2.Ш Ш И

s-A Г эдеыенг

I3 j

4 .3 .

Опвраюры

перехода

 

 

4 .3 .1 . Синтакоио

 

 

 

^именующее выражение:*

^оператор

перехода:*: := де

4 .3 .2 . Сеиѳі.іикѳ Оператор перехода прерывает последовательность дейотвий,

задаваемую порядкои написания операторов, явно определяя свое­

го преѳиника по значения инвнующѳго выражения. Хаким обраеон,

следующим выполнявши опѳраторои будет тот, который ииѳѳт это значение в качестве овоѳй метки.

4 .3 .3 . Ограничение Так как ыеткѳи присуща локѳльноохь, то ни один оператор

перехода не может вести иэвнѳ в (составной) блок. Однеко опера­

тор

перехода может вѳоти

извне в составной оператор.

 

 

4 .3 .4 . Переход при

неопределенной указателе

переключателя

 

В той случае, когда

ииенующѳѳ выражение ѳоть указатель

переключателя, значение

которого не определено,

оператор пере­

хода

не определен.

 

 

 

 

4 .3 .5 . Примеры

Ошибочная ввпись

 

Правильная запись

 

не М2 ^

нд У2+

W

 

н а а Г I ]

 

HBÖC I

 

38

Соседние файлы в папке книги из ГПНТБ