ustify">. Процедура компілювання - ProcedureT;
Компілювання виразу
. Процедура компілювання - ProcedureF;
Компілювання виразу
. Процедура коду - CompareCodeVerify;
Формування коду порівняння
. Процедура компілювання - CompileProgram;
Компіліровнаніе початкового коду і заповнення таблиць
. Процедура перевірки - BeginStruct;
Перевірка змінних втабліце
. Процедура циклу - BeginEndStruct;
Компілює структуру Begin End.
. Процедура розпізнавання - CommandVerify;
Розпізнавання комманд і створення коду
Попередні випробування
Вихідний код програм, які використовувалися для тестування компілятора:
. PRG - сортування масиву.
{Приклад програми сортування масиву за зростанням} Matr: word [10]; i: integer; tmp: word; flag: word; ( Input array Ln) i=1 to 10 do { введення матриці} ( Matr [) WriteWord (i) WriteString (]=) [i]=Wait WriteString ( Ln)=1 {Початкове значення прапора} i=1 to 9 domatr [i] gt; matr [i + 1] then {Спосіб сортування}=matr [i] {Обмін даними сусідніх елементів} [i]=matr [i + 1] [i + 1]=tmp=0 {Установка прапора обміну } flag=1 {Робити поки є перестановки} ( Ln) {Порожній рядок} ( Відсортований масив Ln) i=1 to 10 do {Друк матриці} ( Matr [) WriteWord (i ) WriteString (]=) (Matr [i]) WriteString ( Ln).
. PRG - введення масиву і присвоювання значення=10 тим елементам, які перевищують це значення
i: integer; j: integer; tmp: byte; Massiv: byte [5]; i=1 to 5 do ( Введіть М [) (i) (] raquo ;) [i]=wait ( Ln)=1Massiv [i] gt; 10 then [i]=10=i + 1i gt; 5i=1 to 5 do ( М [) (i) (] ) (Massiv [i]) ( Ln).
Документація для користувача
Для роботи компілятора необхідно запустити Сервер і Клієнт.
Сервер:
Дана форма відповідає за виведення повідомлень про компіляції.
компілятор pascal асемблер
Клієнт:
Дана форма призначена для написання коду на усіченому мові Pascal, і компіляції цього коду на сервері.
Поле 1 призначено для написання коду програми, поле 2 задає ім'я вихідного файлу, в полі 3 виводяться повідомлення про результат компіляції, отримані з сервера.
Кнопка «Compile» - відправляє вихідний код на сервер, де він компілюється в виконуваний файл.
Виконавчий файл буде знаходитися в директорії, в яку був встановлений компілятор.
Вихідні коди програм пишуться на усіченому мові Pascal, граматика якого описана вище в цій записці.
Висновок
У ході роботи над курсовим проектом були закріплені знання, отримані в рамках дисципліни «Системне програмне забезпечення». Так само були отримані практичні навички роботи з побудови компіляторів і створенню і взаємодії з COM-об'єктами з використанням COM технології.
Список літератури
1. Юров В.І. Асемблер.
. Системне програмне забезпечення: Підручник для вузів/А. Ю. Молчанов - СПб .: Питер, 2003 - 396 с.
. Гордєєв А.В., Молчанов А.Ю. Системне програмне забезпечення - СПб .: Питер, 2001 (2002) - 736 с.
. Ахо А., Мережі Р., Ульман Дж. Компілятори: принципи, технології та інструменти: Пер. з англ.- М .: Видавничий дім «Вільямс», 2003 - 768 с.
. Молчанов А.Ю. Системне програмне забезпечення. Лабораторний практикум.- СПб .: Питер, 2005 - 284 с
. Робін Хантер Основні концепції компіляторів - М .: Видавничий дім «Вільямс», 2002 - 256 с.