4. Скриптинг Lua

Сам по себе язык GML является статичным. На нем можно описать диаграмму или график без элементов динамики, т.е. значения тегов представляют собой определенные числа или фиксированные строки. Кроме того, внутреннее представление GML-текста в виде дерева также остается неизменным. Заставить графический отчет "играть", т.е. добавить в него динамику, можно за счет скриптинга в языке GML. Другими словами значения тегов представляют собой небольшие вычисляемые фрагменты на языке скрипта, результаты вычислений которых и используются в тегах в качестве их значений. Кроме того, появляется возможность динамически менять внутреннее представление GML-текста, удаляя старые или добавляя новые ветви дерева с помощью скрипта.

Выбор языка Lua в качестве скриптинга языка GML определяется рядом причин:

Синтаксически скрипты выделяются в GML-тексте с помощью фигурных скобок '{' и '}'. БНФ-нотация с учетом данного расширения выглядит следующим образом:
<Value> ::= <Integer> | <Real> | <String> | '[' <List> ']' | '{' <Script> '}'