Зміст
Введення
1. Файл конфігурації
1.1 Формат файлу конфігурації
1.2 Формат файлу перевірки
2. Розробка програми
2.1 Завантаження файлу конфігурації
2.2 Розбір тексту і застосування до нього стилів
3. Тестовий приклад
Висновок
Список літератури
Програми
Введення
Дана програма є текстовим редактором з підсвічуванням синтаксису мов програмування. Налаштування для підсвічування синтаксису і деякі конструкції мови завантажуються з XML файлу. Це забезпечує простоту конфігурування під інші мови програмування. Спочатку, програма налаштована під С + +. p align="justify"> Для контролю помилок в XML файлі конфігурації використовується XML Schema. Для роботи з XML використовується бібліотека LibXML2, вона ж здійснює контроль файлу налаштувань за допомогою схеми. p align="justify"> Для розбору тексту, що вводиться використовується паралельний буфер, в одному зберігається форматований текст, в іншому змінені дані. Пошук конструкцій мови в буфері здійснюється стандартним набором функцій С + +. p align="center"> 1. Файл конфігурації
1.1 Формат файлу конфігурації
Файл конфігурації являє собою XML - файл, в якому зберігаються дані, необхідні для підсвічування синтаксису. Файл складається з кореневого елемента language, який у свою чергу містить 3 дочірніх елемента: style, keywords і types. p align="justify"> Елемент style містить 7 порожніх дочірніх елементів entry виду
і має 3 атрибута: name, color і font. Один елемент enty описує одне правило підсвічування синтаксису. Наприклад, елемент виду описує правило для підсвічування строкових коментарів, для яких буде використовуватися темно-зелений колір шрифту і шрифт HELVETICA в курсивном накресленні.
Атрибут name елемента entry використовується для завдання імені правилом підсвічування. З цього атрибуту дані для підсвічування синтаксису завантажуються в текстовий редактор. Він може приймати такі значення: Plain (звичайний текст), Line Comments (рядкові коментарі), Block Comments (многостроковие коментарі), Strings (рядки), Directives (директиви), Types (типи), Keywords (ключові слова).
Атрибут color задає колір, яким будуть розфарбовані конструкції мови, які підходять під дане правило. Може приймати наступні значення: FL_BLACK, FL_GREEN, FL_DARK_GREEN, FL_BLUE, FL_DARK_BLUE, FL_RED, FL_DARK_RED, FL_MAGENTA, FL_DARK_MAGENTA, FL_CYAN, FL_DARK_CYAN, FL_YELLOW, FL_DARK_YELLOW. p align...