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

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

#include <common/array.h>
#include <common/assotiativearray.h>
#include <common/memalloc.h>
#include "s4g.h"
#include "s4g_Stack.h"
#include <common/sxtypes.h>

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

Классы

struct  s4g_Data
 значение Подробнее...
 
struct  s4g_Variable
 переменная Подробнее...
 
class  s4g_Table
 таблица, наиболее распространенный тип в скриптах Подробнее...
 
class  s4g_Array
 массив переменной длины Подробнее...
 
class  s4g_Class
 мета класс Подробнее...
 
class  s4g_ClassObject
 объект класса Подробнее...
 
struct  s4g_Sfunction
 тип скриптовая функция Подробнее...
 
struct  s4g_Context
 контекст содержащий в себе все переменные текущего исполнения Подробнее...
 
struct  s4g_Command
 сформированная команда, готовая к выполнению, возможно содерижит аргумент и дополнительную переменную Подробнее...
 

Макросы

Типы значений, по необходимости (ненужности)
#define S4G_GC_TYPE_DATA_FREE   0
 простое публичное значение, когда счетчик ссылок обнулится можно удалять
 
#define S4G_GC_TYPE_DATA_PRIVATE   1
 приватное значение, доступно только одной переменной
 
#define S4G_GC_TYPE_DATA_SYS   2
 системное публичное значение (созданные при парсинге и компиляции), удалению не подлежат
 
Типы переменных, по необходимости (ненужности)
#define S4G_GC_TYPE_VAR_FREE   0
 переменная подлежит удалению Подробнее...
 
#define S4G_GC_TYPE_VAR_SYS   1
 системная перменная (созданна при парсинге и компиляции), удалению не подлежит
 
Возможные значения #s4g_Command::m_iExtraData
#define S4G_COMMAND_EXTRADATA_FETCH_GET_STRING   0
 обращение к элементу таблицы по строке
 
#define S4G_COMMAND_EXTRADATA_FETCH_GET_NUMERIC   1
 обращение к элементу таблицы по номеру (ключу)
 

Перечисления

enum  S4G_CONTEXT_TYPE_WORK { S4G_CONTEXT_TYPE_WORK_OFFLINE, S4G_CONTEXT_TYPE_WORK_ONLINE, S4G_CONTEXT_TYPE_WORK_ONLINE_EVER }
 типы контекстов Подробнее...
 
enum  S4G_VM_COMMAND {
  S4G_VM_COMMAND_HALT = 0, S4G_VM_COMMAND_DOUBLE_TOP, S4G_VM_COMMAND_OBJECT_NEW, S4G_VM_COMMAND_VAR_NEW,
  S4G_VM_COMMAND_ARRAY_NEW, S4G_VM_COMMAND_TABLE_NEW, S4G_VM_COMMAND_TABLE_INSERT, S4G_VM_COMMAND_TABLE_APPEND,
  S4G_VM_COMMAND_CLASS_NEW, S4G_VM_COMMAND_CLASS_PARENT_ADD, S4G_VM_COMMAND_CLASS_VAR_ADD, S4G_VM_COMMAND_CLASS_METHOD_ADD,
  S4G_VM_COMMAND_FETCH, S4G_VM_COMMAND_FETCH_IDX, S4G_VM_COMMAND_ACCESS, S4G_VM_COMMAND_STORE,
  S4G_VM_COMMAND_PUSH, S4G_VM_COMMAND_POP, S4G_VM_COMMAND_ARITHMETIC_ADD, S4G_VM_COMMAND_ARITHMETIC_SUB,
  S4G_VM_COMMAND_ARITHMETIC_MUL, S4G_VM_COMMAND_ARITHMETIC_DIV , S4G_VM_COMMAND_PREINCR, S4G_VM_COMMAND_PREDECR,
  S4G_VM_COMMAND_POSTINCR, S4G_VM_COMMAND_POSTDECR, S4G_VM_COMMAND_PRECALL, S4G_VM_COMMAND_CALL,
  S4G_VM_COMMAND_BLOCK_NEW, S4G_VM_COMMAND_BLOCK_DEL, S4G_VM_COMMAND_TOPCONTEXT_CLEAR, S4G_VM_COMMAND_JUMP,
  S4G_VM_COMMAND_JZ, S4G_VM_COMMAND_JNZ, S4G_VM_COMMAND_LOGIC_NEQT, S4G_VM_COMMAND_LOGIC_EQ,
  S4G_VM_COMMAND_LOGIC_NEQ, S4G_VM_COMMAND_LOGIC_GE, S4G_VM_COMMAND_LOGIC_LE, S4G_VM_COMMAND_LOGIC_GT,
  S4G_VM_COMMAND_LOGIC_LT, S4G_VM_COMMAND_LOGIC_NOT, S4G_VM_COMMAND_LOGIC_EQT , S4G_VM_COMMAND_LAST
}
 команды виртуальной машины Подробнее...
 

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

Заголовочный файл с основными типами данных