Итоги голосования для комментария:
Arris Кратенько:

7. Если это язык программирования по сути, то можно ли написать компилятор для верификации результата?

Для одной из игр, где не было «свободного кастования», а была мана, я написал калькулятор заклинаний. Вводишь пропись заклинания и получаешь результат — цена по мане, количество слов, средний ранг слова.

Я недостаточно хорошо (точнее совсем НЕ) знаю формальные грамматики и искусство написания компиляторов и трансляторов, чтобы написать программу, проверяющую синтаксическую правильность заклинания, предоставленного в обиходной (human-friendly) форме.

Такой компилятор давняя мечта в тусовке: «А вот было бы круто, если бы просто вводишь в программу заклинание, кнопочку жмешь, а она тебе рассчитывает, как оно работает, графики строит и рассказывает, куда файрболл летит. Аррис, вы же программист, когда вы нам эту программу напишете???»

С другой стороны, заклинание, выраженное в канонической форме очень похоже на обратную польскую запись, используемую в языке FORTH:
Йоды джедаев магистра речи тайна раскрыта — на Форте просто старый программер он есть"

Это уже проще реализовать. Меня останавливает то, что кроме меня это по сути никому не нужно. Я убью на это несколько месяцев, в тусовке покивают снисходительно и тут же обхают — писать заклинания в канонической форме никто не любит. Нерациональные затраты сил.

Но в принципе я представляю, как должен работать разбор заклинания в канонической форме :)