Задача - сделать Excel-подобную таблицу с поддержкой простейших формул. Пересчёт значений в ячейках должен происходить сразу при потере фокуса и затрагивать только те ячейки, значения которых затронуты. Пересчитывать каждый раз всю таблицу (если нет необходимости) нельзя. Использовать чистый JS (ES6), HTML, CSS. Использовать стороннние фреймворки, библиотеки не надо. Только то, что предоставляет браузер. Будет проверяться на последней версии chrome (десктопный и мобильный).
Размер таблицы пусть будет 100x1000 (ШxВ)
В ячейке могут быть числа и формулы. Числа - целые и десятичные дроби (разделитель - точка).
Формулы начинаются со знака =
и содержат выражение.
Выражение состоит из операндов и операторов. Операторы - 4 арифметических действия, операнды - числа и адреса ячеек.
<ячейка> ::= <пусто> | <число> | <формула>
<пусто> ::= ""
<число> ::= <целое> | <десятичная дробь>
<формула> ::= "=" <выражение>
<выражение> ::= <число> | <адрес ячейки> | <выражение> <оператор> <выражение>
<адрес ячейки> := <столбец><строка>
<cтолбец> ::= [A-Z]+
<строка> ::= [0-9]+
<оператор> :== "-" | "+" | "/" | "*"
Удачи!