. 3.1.2.1.Компілірованіе параметра
. 3.1.2.2.Прі помилку вивід повідомлення
. 3.1.2.3.Формірованіе коду
. 3.1.2.4.Переход на 3.3.2.
. 3.1.3.Еслі слово WriteString
. 3.1.3.1.Компілірованіе параметра
. 3.1.3.2.Прі помилку вивід повідомлення
. 3.1.3.3.Формірованіе коду
. 3.1.3.4.Переход на 3.3.2.
. 3.1.4.Еслі слово Begin
. 3.1.4.1.Переход на 3.3.1.
. 3.1.4.2.Еслі НЕ End або Until то на 3.3.1.4.
. 3.1.5.Еслі слово If
. 3.1.5.1.Компілірованіе параметрів
. 3.1.5.1.1.Компілірованіе виразів
. 3.1.5.1.2.Прі помилку вивід повідомлення
. 3.1.5.2.Переход на 3.3.1.
. 3.1.5.3.Проверка слова Else
. 3.1.5.3.1.Переход на 3.3.1.
. 3.1.6.Еслі слово Repeat
. 3.1.6.1.Формірованіе коду
. 3.1.6.2.Переход на 3.3.1
. 3.1.6.3.Проверка на слово Until
. 3.1.6.4.Компілірованіе параметрів
. 3.1.6.4.1.Компілірованіе виразів
. 3.1.6.4.2.Прі помилку вивід повідомлення
. 3.1.7.Еслі слово For
. 3.1.7.1.Компілірованіе параметрів
. 3.1.7.1.1.Компілірованіе виразів
. 3.1.7.1.2.Прі помилку вивід повідомлення
. 3.1.7.2.Формірованіе коду
. 3.1.7.3.Переход на 3.3.1.
. 3.1.8.Іначе
. 3.1.8.1.Проверка математичних виразів
. 3.1.8.2.Прі помилку вивід повідомлення
. 3.1.8.3.Компілірованіе виразів
. 3.1.8.4.Еслі НЕ математ. виражений. то помилка
. 3.2.Еслі НЕ End то перехід на 3.3.1.
. 4.Якщо End.
. Запис отриманого коду в файл
Алгоритм роботи сервера автоматизації
. Отримання початкового коду програми від клієнта
. Створення тимчасового файлу з вихідним кодом, отриманим від клієнта
. Созданіе.bat файлу для запуску компілятора
. Отримання повідомлень про процес компіляції
. Видалення тимчасових файлів
. Повідомлення клієнта про результати компіляції
Робоча документація
Опис вихідних модулей..cs - файл вихідного коду, що описує інтерфейс COM-об'єкта сервера..cs - вихідний код, який реалізує інтерфейс IServer з Interface.cs і виконує компіляцію вихідного коду программ.- проект, який реалізує клієнта автоматизації, який підключається до сервера, відправляє йому вихідний код програми та отримує повідомлення про результат компіляції від сервера.
Компілятор написаний на мові Pascal.
Опис вихідного коду компілятора
. Процедура ініціалізації - Initialization;
Ініціалізує змінні і створює ім'я вихідного файлу
. Процедура помилки - WriteError;
Виводить на екран помилку з інформацією
. Процедура створення коду - PutInFile1;
Запис байт-коду команди у вихідний рядок коду
. Процедура створення коду - PutInFile2;
Запис байт-коду команди у вихідний рядок коду
. Процедура створення коду - PutInFile3;
Запис байт-коду команди у вихідний рядок коду
. Процедура створення коду - PutInFile4;
Запис байт-коду команди у вихідний рядок коду
. Процедура запису в стек - PushInStack;
Запис слова в стек
. Функція витягання з стека - PopInStac;
Витяг слова з стека
. Функція слово - NextWord;
Вирізає слово з програми
. Функція перевірки - VariableInBasa;
Перевірка змінної в таблиці
. Процедура коду - WriteCode;
Друк числа на екран
. Процедура коду - ReadCode;
Введення значення
. Процедура компілювання - ProcedureE;
Компілювання виразу