Создание документа описания языка

В отдельную ветвь потом!!!
Первая попытка описать семантику языка

Отдохнуть немного от описания и со свежей головой всё перечитать.
Рефакторинг. Переименовал пару абстрактных классов. Добавил BaseMacro.

Добавить функции-предикаты типов в отдельном файле для базовых классов.