Рефераты. Программно-методический комплекс для обучения процессу создания компиляторов

При работе с программой приходится работать с текстовой информацией, при этом, чтобы текст был читабельным следует установить разрешение экрана при 14” мониторе не выше 800х600, при15” не выше 960х720.

Необходимо соблюдать следующие параметры монитора:

-         частота кадров монитора не должна быть ниже 75 Гц;

-         должна быть достаточная яркость и контрастность монитора, чтобы была возможность получения информации с монитора без напряжения для глаз;

С эргономичной точки зрения необходимо следующее:

-         удобный доступ к дисководу, CD-ROM;

-         удобство работы с методической литературой;

-         удобное положение (по высоте) клавиатуры, либо стул, регулируемый по высоте.

Практические работы должны проводиться за компьютером на вычислительном центре, например аудитории 205. Общее освещение данной аудитории достаточно для проведения лекций, но не для работы за компьютером и чтением литературы. Поэтому требуется использование дополнительного местного освещения.

Для работы с литературой, например, методического пособия, требуется дополнительное пространство на рабочем столе. Его можно освободить, убрав со стола системный блок в стол и применив специальную конструкцию стола, показанную на рисунке 7. Стул должен быть вращающимся для удобства маневрирования, а также с регулировкой по высоте, чтобы обеспечить оптимальные условия при работе с клавиатурой и монитором.

Примерное рабочее место студента показано на рисунке 7.

 












Рисунок 7 – Рабочее место студента

1 – монитор, 2 – системный блок, 3 – клавиатура, 4 – стул, 5 – методический материал, 6 – стол.



Заключение



Результатом проделанной работы явилось создание учебного комплекса состоящего из двух программ LEXAN и SINAN, соответственно программа лексического и грамматического разбора. При этом была разработана общая схема компилятора с описанием структур и их взаимодействия.

При работе над проектом были созданы алгоритмы, позволяющие производить синтаксический разбор с помощью таблиц, что позволяет наглядно понять один из способов формирования деревьев грамматического разбора.

Разработка включает в себя первые два из четырех этапов учебного комплекса по созданию компилятора. Разработанная структура позволяет реализовать последующие этапы, т.к. определены последующие направления и описаны способы взаимодействия между этапами. На следующих этапах должны формироваться промежуточный и ассемблерный коды.

Данный проект позволит разобраться студентам с методами анализа программы и на практике проверить знания, полученные при изучении предмета «Системное программное обеспечение». Также является основой для дальнейшей разработки учебного комплекса.

Был выполнен экономический расчет, в результате которого были подсчитаны общие затраты на выполнение дипломного проекта, они составили 7000 рублей.





Список использованных источников



1.     Бек Л. Введение в системное программирование.: Пер. с англ. – М.: Мир, 1998.

2.     Грис Д. Конструирование компиляторов для цифровых вычислительных машин. – М.: Мир, 1975.

3.     Карпов В.Э. Классическая теория компиляторов. – #"_Toc42285733">Приложение А

Пример выполнения задания по работе со сканером LEXAN



Дана следующая грамматика языка:


1.   <prog>             ::= PROGRAM <prog-name> VAR <dec-list> BEGIN <stmt-list> END.

2.     <prog-name>    ::= id

3.     <dec-list>         ::= <dec> | <dec-list> ; <dec>

4.     <dec>              ::= <id-list> : <type>

5.     <type>             ::= INTEGER

6.     <id-list>           ::= id | <id-list> , id

7.     <stmt-list>        ::= <stmt> | <stmt-list> ; <stmt>

8.     <stmt>             ::= <assign> | <for>

9.     <assign>          ::= id := <exp>

10. <exp>              ::= <term> | <exp> + <term> | <exp> - <term>

11. <term>             ::= id | int | ( <exp> )

12. <for>               ::= FOR <index-exp> DO <body>

13. <index-exp>     ::= id := <exp> TO <exp>

14. <body>            ::= <stmt> | BEGIN <begin-list> END


Используя программу LEXAN произвести следующие действия:

1.     Выбрать элементы из таблицы терминальных символов, при желании можно изменить названия ключевых слов (таблица 1);

2.     Написать исходный текст на учебном языке с использованием заданной грамматики;

3.     Заполнить таблицы:  –      символьных имен (таблица 2);

–        литералов (таблица 3);

–        лексического анализа (выходных символов);

4.     Проверить правильность заполнения таблиц встроенным анализатором;

5.     При наличии ошибок, исправить имеющиеся, и повторно обработать программой LEXAN;

6.     Получить листинг полученных результатов.

7.     Сохранить результат в файл.


Сначала производится анализ, какие терминальные символы входят в грамматику: ”PROGRAM”, ”VAR”, ”BEGIN”, ”END”, ”.”, ”INTEGER”, ”;”, ”:=”, ”+”, ”-”, ”FOR”, ”DO”, ”TO”.

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

program prog1;

var

  i, x:integer;

begin

  x:=0;

  for i:=1 to 10 do

    x:=x+i;

end.

Далее выбираются терминальные символы, использованные в программе, заполняется таблица выбранных терминальных символов. Примерное представление таблицы выбранных терминальных символов показано в таблице 19.


Таблица 19

№ стр.

Терминальный символ

Комментарий (обозначение)

Код

1

PROGRAM


1

2

;


27

3

VAR


2

4

,


29

Продолжение таблицы 19

№ стр.

Терминальный символ

Комментарий (обозначение)

Код

5

:


31

6

INTEGER


5

7

BEGIN


3

8

:=


28

9

FOR


8

10

TO


9

11

DO


10

12

+


32

13

END


4

14

.


30


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


Таблица 20

Специф

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

Тип

Размер, занимаемый в памяти, байт

Относительный адрес в памяти

1

prog1




2

i


 

 

3

x


 

 


В тексте определяются литералы и заносятся в таблицу 21 в порядке их появления.


Таблица 21

Специф

Литерал

Тип

Размер, занимаемый в памяти, байт

1

0

Integer

2

2

1

Integer

2

3

10

Integer

2



Во время заполнения этих трех таблиц заполняется четвертая – таблица 22 (таблица выходных кодов лексем): в поле «Таблица» подставляются номера таблиц (таблица терминальных символов – №1, таблица символических имен – №2, таблица литералов – №3), в поле строка – код элемента (из таблицы 1), спецификаторы (из таблицы 2 и 3). Поле «№п.п.» заполняется автоматически.

 

Таблица 22

№ п.п.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Таблица

1

2

1

1

2

1

2

1

1

1

1

2

1

3

1

Строка

1

1

27

2

2

29

3

31

5

27

3

3

28

1

27


№ п.п.

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Таблица

1

2

1

3

1

3

1

2

1

2

1

2

1

1

1

Строка

8

2

28

2

9

3

10

3

28

3

32

2

27

4

30



















 


Страницы: 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



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.