s4g  0.9.2
высокоуровневый, императивный, процедурный, встраиваемый, скриптовый язык программирования общего назначения, написанный на C++.
Файл s4g_main.h

Заголовочный файл основы взаимодествия хоста со скриптами Подробнее...

#include "s4g_types.h"
#include "s4g_parse.h"

См. исходные тексты.

Классы

struct  s4g_Main
 основа взаимодествия Подробнее...
 

Функции

const char * s4g_GetStrType (S4G_TYPE type, char *szStrType)
 возвращает строкое представление типа, и записывает в szStrType. Подробнее...
 
void s4g_GenMsg (s4g_Main *s4gm, int iLevel, const char *szFormat,...)
 генерирует сообщение, если уровень (iLevel из S4G_MSG_LEVEL_) == S4G_MSG_LEVEL_ERROR то это остановит работу виртуальной машины Подробнее...
 
s4g_LexemeLEXgetLexeme (s4g_Main *s4gm, ID id)
 возвращает лексему по ее идентификатору
 
s4g_LexemeLEXgetLexemePrev (s4g_Main *s4gm)
 возвращает предыдущую лексему и делает ее идентификатор текущим
 
s4g_LexemeLEXgetLexemeCurr (s4g_Main *s4gm)
 возвращает текущую лексему
 
s4g_LexemeLEXgetLexemeNext (s4g_Main *s4gm)
 возвращает следующую лексему и делает ее идентификатор текущим
 
ID LEXgetCountFile (s4g_Main *s4gm)
 возвращает количество загруженных файлов
 
const char * LEXgetFile (s4g_Main *s4gm, ID id)
 возвращает имя файла (путь) по его идентификатору
 
ID LEXgetCurrPos (s4g_Main *s4gm)
 возвращает текущий идентфиикатор лексемы (позиция в массиве лексем)
 
s4g_TableGCgetGtable (s4g_Main *s4gm)
 возвращает таблицу глобального пространства имен
 
s4g_VariableGCgetGvar (s4g_Main *s4gm)
 возвращает переменную со значением таблицы глобального пространства имен
 
void GCactivatePrev (s4g_Main *s4gm, ID idLastContext)
 активирует предыдущие контексты до idLastContext (это значение было получено при вызове deactivatePrev)
 
void GCremoveTableInContext (s4g_Main *s4gm, ID id)
 заменить таблицу в контексте на контекстную таблицу, ибо если этот вызов произошел то у нас стояла замыкающая таблица
 
ID GCdeactivatePrev (s4g_Main *s4gm)
 деактивировать все предыдущие контексты, возвращает номер контекста который деактивирован последним
 
ID GCaddContext (s4g_Main *s4gm, s4g_Table *tt, S4G_CONTEXT_TYPE_WORK status_valid=S4G_CONTEXT_TYPE_WORK_ONLINE)
 добавить контекст основанный на таблице, возвращает id добавленного контекста, используется для замыканий
 
ID GCcreateContext (s4g_Main *s4gm, s4g_Table **ppTable, S4G_CONTEXT_TYPE_WORK typeWork=S4G_CONTEXT_TYPE_WORK_ONLINE)
 добавить контекст основанный на таблице, возвращает id добавленного контекста, используется для замыканий
 
void GCdeleteTopContext (s4g_Main *s4gm, bool canClear)
 пометить контекст как ненужный и при сборке мусора снести все с него
 
void GCclearTopContext (s4g_Main *s4gm)
 очистить верхний контекст
 
ID GCexistsInAccessibleContexts (s4g_Main *s4gm, const char *szName, s4g_Variable **ppVar)
 существует ли переменная с именем szName во всех доступных контекстах, если да то возвращает id контекста в котором найдено, в ppVar записывает указатель на переменную, если не найдено то возвращает -1.
 
s4g_VariableGCgetVarFromContextByNum (s4g_Main *s4gm, ID idRelativeTopContext, ID idVar)
 получить переменную по idVar из контекста, которые расположен на top - idRelativeTopContext позиции относительно верхнего контекста
 
s4g_VariableGCcreateVarNull (s4g_Main *s4gm, int typeVar=S4G_GC_TYPE_VAR_FREE)
 создать переменную со значением null (то есть пустую переменную)
 
s4g_VariableGCcreateVarBool (s4g_Main *s4gm, s4g_bool bf, int typeVar=S4G_GC_TYPE_VAR_FREE)
 создать переменную со значением bf.
 
s4g_VariableGCcreateVarSfuncEmpty (s4g_Main *s4gm, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением скриптовой функции (пустой)
 
s4g_VariableGCcreateVarSfunc (s4g_Main *s4gm, s4g_Sfunction *func, int typeVar=S4G_GC_TYPE_VAR_FREE)
 создать переменную со значением уже существующей скриптовой функции
 
s4g_VariableGCcreateVarCfunc (s4g_Main *s4gm, s4g_c_function func, int typeVar=S4G_GC_TYPE_VAR_FREE)
 создать переменную со значением С++ функция
 
s4g_VariableGCcreateVarTableEmpty (s4g_Main *s4gm, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать пустую переменную со значением "пустая таблица".
 
s4g_VariableGCcreateVarArrayEmpty (s4g_Main *s4gm, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением "пустой массив".
 
s4g_VariableGCcreateVarTable (s4g_Main *s4gm, s4g_Table *pTable, int typeVar=S4G_GC_TYPE_VAR_FREE)
 создать переменную со значением уже существующей таблицы
 
s4g_VariableGCcreateVarInt (s4g_Main *s4gm, s4g_int num, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением num.
 
s4g_VariableGCcreateVarUint (s4g_Main *s4gm, s4g_uint num, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением num.
 
s4g_VariableGCcreateVarFloat (s4g_Main *s4gm, s4g_float num, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением num.
 
s4g_VariableGCcreateVarString (s4g_Main *s4gm, const char *szString, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением szString.
 
s4g_VariableGCcreateVarClassEmpty (s4g_Main *s4gm, const char *szName)
 создать переменную со значением класса
 
s4g_VariableGCcreateVarClassObjectEmpty (s4g_Main *s4gm, s4g_Variable *pVarClass, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать переменную со значением объект класса
 
s4g_DataGCcreateDataInt (s4g_Main *s4gm, s4g_int num, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать int со значением num.
 
s4g_DataGCcreateDataUint (s4g_Main *s4gm, s4g_uint num, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать uint со значением num.
 
s4g_DataGCcreateDataFloat (s4g_Main *s4gm, s4g_float num, int typeData=S4G_GC_TYPE_DATA_FREE)
 создать float со значением num.
 
s4g_VariableGCgetVarNull (s4g_Main *s4gm)
 возвращает уже созданную переменную с null значением
 
s4g_VariableGCgetVarBool (s4g_Main *s4gm, bool bf)
 возвращает уже созданную переменную с bool значением
 
S4G_TYPE GCgetType (s4g_Main *s4gm, s4g_Variable *pVar)
 получить тип переменной
 
s4g_OwnerVar * GCgetContextOwner (s4g_Main *s4gm, ID id)
 возвращает указатель на s4g_OwnerVar контекста по id.
 
s4g_OwnerVar * GCgetDataOwner (s4g_Main *s4gm, ID id)
 возвращает указатель на s4g_OwnerVar значения по id.
 
void GCassign (s4g_Main *s4gm, s4g_Variable *pVarDest, s4g_Variable *pVarSrc)
 присвоить в pVarDest данные из pVarSrc.
 
s4g_VariableGCcreateVarDataCopy (s4g_Main *s4gm, s4g_Variable *pVarSrc, int typeVar=S4G_GC_TYPE_VAR_FREE, int typeData=S4G_GC_TYPE_DATA_FREE, bool canCopyData=false)
 создание копии переменной со значение, canCopyData - копировать ли данные, или просто присвоить (без изменнеий счетчика)
 
const char * GCgetVarName (s4g_Main *s4gm, s4g_Variable *pVar, char *szName=0)
 в szName запишет имя переменной по ее указателю (поиск перебором), в ppOwner запишет владельца
 
Получить значения из пременных
s4g_int GCgetInt (s4g_Main *s4gm, s4g_Variable *pVar)
 int
 
s4g_uint GCgetUint (s4g_Main *s4gm, s4g_Variable *pVar)
 uint
 
s4g_float GCgetFloat (s4g_Main *s4gm, s4g_Variable *pVar)
 float
 
const char * GCgetStr (s4g_Main *s4gm, s4g_Variable *pVar)
 const char*
 
String * GCgetStr2 (s4g_Main *s4gm, s4g_Variable *pVar)
 String*.
 
s4g_TableGCgetTable (s4g_Main *s4gm, s4g_Variable *pVar)
 таблица
 
s4g_ArrayGCgetArray (s4g_Main *s4gm, s4g_Variable *pVar)
 массив
 
s4g_SfunctionGCgetSfunc (s4g_Main *s4gm, s4g_Variable *pVar)
 скриптовая функция
 
s4g_c_function GCgetCfunc (s4g_Main *s4gm, s4g_Variable *pVar)
 Си++ функция
 
s4g_bool GCgetBool (s4g_Main *s4gm, s4g_Variable *pVar)
 bool
 
s4g_pdata GCgetPdata (s4g_Main *s4gm, s4g_Variable *pVar)
 юзердата
 
s4g_ClassGCgetClass (s4g_Main *s4gm, s4g_Variable *pVar)
 класс
 
s4g_ClassObjectGCgetClassObject (s4g_Main *s4gm, s4g_Variable *pVar)
 объект класса
 

Подробное описание

Заголовочный файл основы взаимодествия хоста со скриптами