Skip to content

Latest commit

 

History

History
28 lines (15 loc) · 2.49 KB

README.md

File metadata and controls

28 lines (15 loc) · 2.49 KB

Table

Описание проекта:

Проект позволяет создать электронную таблицу. Ячейка таблицы содержит текст или формулу, которая может состоят из индексов других ячеек. Лексический и синтаксический анализ формул реализован через библиотеку ANTLR, , которая генерирует код обхода дерева разбора формул на С++. Грамматика формул задается файлом Formula.g4.

Развертывание проекта

Проект реализован на С++ 17. Для запуска необходимо установить библиотеку ANTLR v4. Скачанные файлы размещаются в папку antlr4_runtime , расположенную в директорий проекта. Сборка осуществляется при помощи CMake.

Управление таблицей осуществляется через методы класса Sheet:

SetCell(Position pos, std::string text)}Задаёт содержимое ячейки. Если текст начинается со знака "=", то он интерпретируется, как формула, в противном случае, как текст.
GetCell(Position pos) Возвращает значение ячейки.
ClearCell(Position pos)Очищает ячейку.
GetPrintableSize()Вычисляет размер области, которая участвует в печати. Определяется как ограничивающий прямоугольник всех ячеек с непустым текстом.
PrintValues(std::ostream& output) и PrintTexts(std::ostream& output) Выводит всю таблицу в переданный поток.

Планы по доработке:

  • разработать графический интерфейс;
  • реализовать сериализацию таблицы;
  • добавить возможность строить графики и диаграммы по введённым данным.