Здесь описаны функции и структуры для использования языка программирования Gentee в проектах на Golang.
Тип Custom служит для дополнительной настройки компилятора и виртуальной машины. Передается при вызове функции Customize.
Embedded []EmbedItem - массив дополнительных функций для стандартной библиотеки.
Тип EmbedItem описывает функцию, подключаемую к стандартной библиотеки. Используется в типе Custom.
Prototype string - описание функции на языке Gentee. Например, myfunc(str,int) int.
Object interface{} - соответствующая golang функция.
Тип Settings служит для указания дополнительных параметров при запуске байт-кода в методе Run.
CmdLine []string - массив параметров командной строки.
Input []byte - предопределенный стандартный ввод (stdin). Может использоваться, например, в функции ReadString.
Cycle uint64 - максимальное количество итераций в цикле. По умолчанию, равно 16000000.
Depth uint32 - максимальная вложенность исполняемых блоков. Ограничивает глубину рекурсии. По умолчанию, равно 1000.
Функция Customize служит для дополнительной настройки компилятора и виртуальной машины. Она должна вызываться раньше всех функций. Функция возвращает значение ошибки.
Функция New создает рабочее пространство для компиляции исходного кода.
Функция Compile компилирует скрипт переданный в input. В параметре path можно указать путь к скрипту. Функция возвращает структуру с байт-кодом, номер модуля и значение ошибки.
Функция CompileAndRun компилирует скрипт из файле filename и выполняет его. Функция возвращает результат выполнения скрипта и значение ошибки.
Функция CompileFile компилирует скрипт из файла filename. Функция возвращает структуру с байт-кодом, номер модуля и значение ошибки.
Функция Run выполняет байт-код из структуры exec. В параметре settings можно указать дополнительные настройки. Функция возвращает результат выполнения скрипта и значение ошибки.
Функция Version возвращает номер текущей версии языка.