Задание на лабораторную работу



                                                                                  

       Разработать программу для трансляции выражений в ПОЛИЗ и исследовать ее пространственные и временные характеристики в соответствии с табл. 7.5.

Таблица 7.5

                                         

вар.

Исходное выражение

Тип выражения

Система программирования

Турбо Си Турбо Паскаль С++ Builder Delphi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 СИ Паскаль СИ Паскаль СИ Паскаль СИ Паскаль СИ СИ СИ СИ Паскаль Паскаль Паскаль Паскаль СИ СИ СИ СИ Паскаль Паскаль Паскаль Паскаль СИ СИ СИ СИ Паскаль Паскаль Паскаль Паскаль Простое АВ Простое АВ Простое АВ Простое АВ Простое АВ Простое АВ Простое АВ Простое АВ Логическое выражение Логическое выражение Логическое выражение Логическое выражение Логическое выражение Логическое выражение Логическое выражение Логическое выражение Указатель функции Указатель функции Указатель функции Указатель функции Указатель функции Указатель функции Указатель функции Указатель функции Перемен. с индексами Перемен. с индексами Перемен. с индексами Перемен. с индексами Перемен. с индексами Перемен. с индексами Перемен. с индексами Перемен. с индексами + +     +   +   +   +   +   +       + +   +   +   +   +   +   +       + +     +   +   +   +   +   +     + +   +   +   +   +   +   +

 

Содержание отчета

 

7.3.1. Постановка задачи

7.3.2. Описание программы

7.3.3. Текст программы

7.3.4. Описание тестовых примеров

7.3.5. Распечатка результатов

Библиографический список

1. Ренделл Б., Рассел Л. Реализация Алгола-60, - М.: Мир, 1967.

 2. Лебедев В.Н. Введение в системы программирования, -М.:  Статистика, 1975.


Приложение 1

Грамматика языка PL0

 <программа>::=<блок>.

 <блок>::=<декларации><список операторов>

 <декларации>::=<декларация констант><декларация переменных><декларация процедур>

 <декларация констант>::=CONST<список определений констант>;

 <декларация переменных>::=VAR<список переменных>;|$

 <декларация процедур>::=<список описаний процедур>

 <список описаний процедур>::=<список описаний процедур><описание процедуры>;|$

 <список определений констант>::=<список определений констант>,

             <определение константы>|<определение константы>

 <определение константы>::=<имя константы>=<число>

 <имя константы>::=<переменная>

 <список переменных>::=<список переменных>,<переменная>|<переменная>

 <переменная>::=<идентификатор>

 <описание процедуры>::=PROCEDURE<имя процедуры>;<блок>

 

 <оператор>::=<переменная>:=<выражение>|

                       CALL<имя процедуры>|

                       BEGIN<список операторов>END|

                       IF<условие>THEN<оператор>|

                       WHILE<условие>DO<оператор>|$

 <имя процедуры>::=<идентификатор>

 <список операторов>::=<список операторов>;<оператор>|<оператор>

 <условие>::=<выражение>|<выражение>==<выражение>

        <выражение><><выражение>

        <выражение><<<выражение>

        <выражение>>><выражение>

        <выражение>>=<выражение>

        <выражение><=<выражение>

 <выражение>::=<терм>|+<терм>|-<терм>

 <терм>::=<слагаемое>|<терм>+<слагаемое>|<терм>-<слагаемое>

 <слагаемое>::=<множитель>|<слагаемое>*<множитель>|<слагаемое>/<множитель>

 <множитель>::=<переменная>|<число>|(<выражение>)

 <идентификатор>::=<буква>|<идентификатор><буква>|<идентификатор><цифра>

 <число>::=<натуральное число>|+<натуральное число>|-<натуральное число>

<натуральное число>::=<цифра>|<натуральное число><цифра>

 <буква>::=A|B|C|D|E|F|G|N|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z

 <цифра>::=0|1|2|3|4|5|6|7|8|9


Приложение 2

Грамматика языка ASPLE

<программа>::=BEGIN<последовательность описаний>;<последовательность операторов>END

<последовательность описаний>::=<описание>|<описание>;<последовательность описаний>

<последовательность операторов>::=<оператор>|<оператор>;<последовательность операторов>

<описание>::=<вид><список идентификаторов>

 

<вид>::=BOOL|INT|REF<вид>

<список идентификаторов>::=<идентификатор>|<идентификатор>,<список идентификаторов>

<оператор>::=<оператор присваивания>|<условный оператор>|<оператор цикла>|<оператор обмена>

<оператор присваивания>::= <идентификатор>:=<выражение>

<условный оператор>::=IF<выражение>THEN<последовательность операторов>

ELSE <посл. операторов>FI

<оператор цикла>::=WHILE<выражение>DO<последовательность операторов>END

<оператор обмена>::=INPUT<идентификатор>|OUTPUT<выражение>

<выражение>::=<фактор>|<выражение>+<фактор>|<выражение>-<фактор>

<фактор>::=<первичное>|<фактор>*<первичное>|<фактор>DIV<первичное>|

                 <фактор>MOD<первичное>

<первичное>::=<идентификатор>|<константа>|(<выражение>)|(<сравнение>)

<сравнение>::=<выражение>==<выражение>|<выражение><><выражение>

<константа>::=<логическая константа>|<целая константа>

<логическая константа>::=TRUE|FALSE

<целая константа>::=<число>|(<число>|-<число>

<число>::=<цифра>|<число><цифра>

<цифра>::=0|1|2|3|4|5|6|7|8|9

<идентификатор>::=<буква>|<идентификатор><буква>

<буква>::=A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
Приложение 3


Дата добавления: 2019-02-12; просмотров: 190; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!