Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Варианты 2010.doc
Скачиваний:
3
Добавлен:
28.08.2019
Размер:
141.31 Кб
Скачать

Вариант 18 Разработка программы-интерпретатора упрощенного языка программирования

Программа получает на вход файл с текстом программы (кодировка ANSI). Текст может содержать следующие операторы упрощенного языка программирования:

1) Объявление переменной (начальное значение не определено)

Тип список_имён_переменных;

Имена переменных в списке разделяются запятой. Имеется два типа данных: STR – строка символов длиной до 255 символов, и INT – целое 4-байтовое число со знаком.

2) Объявление переменной с одновременным присвоением им начального значения.

Тип ИмяПеременной1 = значение, ИмяПеременной2 = значение, и т.д.;

Значение переменных типа INT задается как число со знаком в 10-тичной системе счисления, или как результат вычисления выражения. Выражение может содержать знаки + –, числа и имена ранее объявленных целочисленных переменных, оператор LEN(ИмяСтроковойПеременной), возвращающий текущую длину строки.

Значение переменных типа STR задается как строка символов в кавычках “ … “, или как результат вычисления выражения. Выражение может содержать знак . (точка), означающий конкатенацию строк, имена строковых переменных, стрớки символов в кавычках и оператор взятия подстроки ИмяСтроковойПеременной[начальный_индекс : конечный_индекс]. Индексы отсчитываются от 1. Вместо индекса можно писать число или имя целочисленной переменной. Результат конкатенации строк усекается до 255 символов.

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

ИмяПеременной = значение;

Значение, в зависимости от типа переменной, может задаваться константой или строкой, или является результатом вычисления выражения. Правила составления выражений см п.(2).

4) Оператор вывода

WRITE( Список для вывода через запятую );

Список для вывода может содержать: имена переменных, выражения, числа и строки. Правила составления выражений см п.(2).

5) Оператор цикла на фиксированное число повторений

DO (ИмяПараметраЦикла = начальное_значение STEP шаг_изменения TO конечное_значение)

BEGIN тело цикла END;

Параметром цикла может быть целочисленная переменная (объявленная ранее или объявленная внутри скобок оператора DO). Начальное и конечное значения и шаг задаются числами. Тело цикла содержит операторы, разделенные точкой с запятой (;). Цикл прекращается, когда параметр цикла превысит конечное_значение.

Программа состоит из последовательности перечисленных операторов. Операторы разделяются точкой с запятой (;). Специальных конструкций для объявления начала и конца программы нет. Объявления переменных могут быть в любом месте программы. Повторные объявления имён не допускаются. Область «видимости» имени лежит от объявления переменной до конца программы.

Вариант 19

Транслятор текстовых файлов из формата HTML в формат TeX

Программа получает на вход произвольный HTML-файл, транслируя текст в файл формата издательской системы TeX (с учётом тегов форматирования). Определения стилей CSS игнорировать. Тэги HTML, не имеющие аналогов в системе TeX, также игнорировать.

Варианты 20-35

Варианты существуют в двух модификациях:

asm: Разработка кросс-ассемблера для однокристальной микроЭВМ

dis: Разработка дизассемблера для однокристальной микроЭВМ

Задание для кросс-ассемблеров:

Разработать кросс-компилятор с языка ассемблера однокристальной микроЭВМ (ОМЭВМ).

Кросс-компилятор получает на вход имя текстового файла, содержащего текст программы на языке ассемблера ОМЭВМ. Если программа не содержит ошибок, кросс-компилятор формируется выходной бинарный файл с машинными кодами. Бинарный файл представляет собой образ ПЗУ для последующей «прошивки» в ОМЭВМ. Если текстовый файл содержит ошибки, выводить диагностическое сообщение, а бинарный файл не создавать.

Задание для дизассемблеров:

Разработать дизассемблер для однокристальной микроЭВМ (ОМЭВМ). Дизассемблер на вход получает имя бинарного файла, содержащего машинные коды ОМЭВМ. Формат этого файла соответствует образу ПЗУ ОМЭВМ. На выходе дизассемблер формирует текстовый файл с мнемониками команд, эквивалентных машинным кодам. Если бинарный файл содержит неизвестный машинный код или имеет недопустимый размер, выводить сообщение об ошибке.

Пояснения: индивидуальным вариантом определяется тип однокристальной микроЭВМ. Система команд ОМЭВМ в зависимости от ее модели включает от 20 до 150 машинных команд. Те, кто пишет кросс-ассемблер: разрешается реализовывать не всю систему команд ОМЭВМ, а только часть (20 команд из разных групп).

Те, кто пишут дизассемблер – нужно реализовывать всю систему команд.

вар.

Тип МЭВМ (серия, семейство)

Фирма-производитель

(официальный сайт)

Файлы с документацией

(VtServer \\ PUBLIC\ Системное ПО \ Курсовая \ Документация… )

20

AT89

ATMEL (www.atmel.com)

Microcontrollers\Atmel\AT89xxx\ AT89C55.pdf

Microcontrollers\ВЕ31-ВЕ51\ Описание ВЕ31-ВЕ51.doc

21

AT90

ATMEL (www.atmel.com)

Microcontrollers\Atmel\AT90\ AT90S1200\ AT90S1200.pdf

Microcontrollers\Atmel\AT90\ Instruction Set.pdf

22

SAB

семейство С166

Infineon Technologies (Siemens)

(www.infineontechnologies.com)

Microcontrollers\Infineon Technologies\C166\ c166 167 manual.pdf

Microcontrollers\Infineon Technologies\C166\ c166 instruction set.pdf

23

SAB

семейство С500

Infineon Technologies

(бывшая Siemens)

(www.infineontechnologies.com)

Microcontrollers\Infineon Technologies\C500\ d80517.pdf

Microcontrollers\Infineon Technologies\C500\ c500 instruction set.pdf

Microcontrollers\ВЕ31-ВЕ51\ Описание ВЕ31-ВЕ51.doc

24

семейство PIC16С6х

MicroChip (www.microchip.com)

Microcontrollers\MicroChip\PIC15\ 16c5xrus.pdf

Microcontrollers\MicroChip\PIC16\ Описание PIC16.doc

Microcontrollers\MicroChip\PIC16\ PIC16C6X.pdf

25

семейство PIC17C4x

MicroChip (www.microchip.com)

Microcontrollers\MicroChip\PIC17\ PIC17C4x.PDF

Microcontrollers\MicroChip\PIC15\ 16c5xrus.pdf

Microcontrollers\MicroChip\PIC16\ Описание PIC16.doc

26

семейство PIC18Cxx2

MicroChip (www.microchip.com)

Microcontrollers\MicroChip\PIC18\ *.*

Microcontrollers\MicroChip\PIC15\ 16c5xrus.pdf

27

сем-во MC68HC16хх

Motorola (www.motorola.com)

Microcontrollers\Motorola\MC68HC16\*.*

Microcontrollers\Motorola\MC68HC11\*.*

28

PD 703116 (серия V850E1)

NEC Electronics (www.necel.com)

Microcontrollers\NEC Electronics\seria V850E1\*.*

29

µPD750008

NEC Electronics (www.necel.com)

Microcontrollers\NEC Electronics\mPD750008\*.*

30

SX18AC

Scenix (www.scenix.com)

Microcontrollers\Scenix\*.*

31

ST6200С

ST Microelectronics (eu.st.com)

Microcontrollers\ST Microelectronics\St6\*.*

32

ST90135M6

ST Microelectronics (eu.st.com)

Microcontrollers\ST Microelectronics\St9\*.*

33

ST10F269

ST Microelectronics (eu.st.com)

Microcontrollers\ST Microelectronics\St10\*.*

34

Z86C06

Zilog (www.zilog.com)

Microcontrollers\Zilog\*.*

35

1816 ВЕ51

отечественное производство

Microcontrollers\ВЕ31-ВЕ51\*.*