2026-06-02 21:23:50 -05:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| JsonDefines.mqh |
|
|
|
|
|
//| Copyright 2026, Niquel Mendoza. |
|
|
|
|
|
//| https://www.mql5.com/ |
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
#property copyright "Copyright 2026, Niquel Mendoza."
|
|
|
|
|
#property link "https://www.mql5.com/"
|
|
|
|
|
#property strict
|
|
|
|
|
|
|
|
|
|
#ifndef JSONPARSERBYLEO_SRC_JSONDEFINES_MQH
|
|
|
|
|
#define JSONPARSERBYLEO_SRC_JSONDEFINES_MQH
|
|
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
2026-07-19 07:41:52 -05:00
|
|
|
//| Ext tablas |
|
2026-06-02 21:23:50 -05:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//--- Neceistamos la tabla hex
|
|
|
|
|
#ifndef TSNTABLE_USE_HEX_TABLE
|
|
|
|
|
#define TSNTABLE_USE_HEX_TABLE
|
|
|
|
|
#endif // TSNTABLE_USE_HEX_TABLE
|
|
|
|
|
|
|
|
|
|
//--- Neceistamos la tabla de hexponentes
|
|
|
|
|
#ifndef TSNTABLE_USE_POWEXP_TABLE
|
|
|
|
|
#define TSNTABLE_USE_POWEXP_TABLE
|
|
|
|
|
#endif // TSNTABLE_USE_POWEXP_TABLE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| |
|
|
|
|
|
//+------------------------------------------------------------------+
|
2026-06-24 17:20:42 -05:00
|
|
|
#include <TSN\\Tables\\Main.mqh>
|
|
|
|
|
#include <TSN\\Tables\\Swar.mqh>
|
|
|
|
|
#include <TSN\\Tables\\UE.mqh>
|
2026-06-29 09:01:48 -05:00
|
|
|
#include "Tables\\Table.mqh"
|
2026-07-19 07:41:52 -05:00
|
|
|
#include <TSN\\BSFL\\Main.mqh>
|
2026-06-02 21:23:50 -05:00
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| |
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
namespace TSN
|
|
|
|
|
{
|
2026-06-28 18:47:50 -05:00
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| Defines |
|
2026-06-02 21:23:50 -05:00
|
|
|
//+------------------------------------------------------------------+
|
2026-07-19 07:41:52 -05:00
|
|
|
//--- Ctx
|
2026-06-02 21:23:50 -05:00
|
|
|
#define TSN_JSON_CTX_IN_VALUE (-1)
|
|
|
|
|
#define TSN_JSON_CTX_IN_ARR (0)
|
|
|
|
|
#define TSN_JSON_CTX_IN_OBJ (1)
|
|
|
|
|
|
2026-07-19 07:41:52 -05:00
|
|
|
//--- Raw string
|
2026-06-03 12:20:23 -05:00
|
|
|
#define TSN_JSON_BIT_END_T (32)
|
2026-06-02 21:23:50 -05:00
|
|
|
|
2026-06-20 13:57:50 -05:00
|
|
|
//---
|
|
|
|
|
#define TSN_JSON_KEY_HASHING (1)
|
|
|
|
|
#define TSN_JSON_KEY_NOT_HASHING (0)
|
|
|
|
|
|
2026-06-02 21:23:50 -05:00
|
|
|
//---
|
|
|
|
|
#define TSN_JSON_BIT_STR_START_END (32)
|
2026-06-20 13:57:50 -05:00
|
|
|
#define TSN_JSON_BIT_STR_START_HASH (4)
|
|
|
|
|
|
|
|
|
|
//---
|
2026-06-21 09:06:28 -05:00
|
|
|
// Minimo 5 uses de un key de un objeto
|
2026-06-20 17:29:49 -05:00
|
|
|
#ifndef TSN_JSON_JIT_MIN_REF_TO_HASING
|
2026-06-21 09:06:28 -05:00
|
|
|
#define TSN_JSON_JIT_MIN_REF_TO_HASING (5)
|
2026-06-20 17:29:49 -05:00
|
|
|
#endif // TSN_JSON_JIT_MIN_REF_TO_HASING
|
2026-06-20 13:57:50 -05:00
|
|
|
|
|
|
|
|
|
2026-06-29 09:01:48 -05:00
|
|
|
//--- Extensiones extra (naming)
|
2026-06-18 09:48:36 -05:00
|
|
|
#define TSN_JSON_EXT_JSONTC ("jsontc")
|
|
|
|
|
#define TSN_JSON_EXT_JSOASM ("jsonasm")
|
|
|
|
|
|
|
|
|
|
//---
|
2026-07-19 07:41:52 -05:00
|
|
|
#define TSNJSON_RI_JSONASM_FILE 2
|
2026-06-23 08:02:37 -05:00
|
|
|
|
2026-06-02 21:23:50 -05:00
|
|
|
//---
|
|
|
|
|
enum ENUM_JSON_VTYPE
|
|
|
|
|
{
|
2026-07-19 07:41:52 -05:00
|
|
|
JSON_VTYPE_KEY,
|
2026-06-02 21:23:50 -05:00
|
|
|
JSON_VTYPE_OBJ,
|
2026-07-19 07:41:52 -05:00
|
|
|
JSON_VTYPE_ARR,
|
|
|
|
|
JSON_VTYPE_INTEGER,
|
|
|
|
|
JSON_VTYPE_REAL,
|
|
|
|
|
JSON_VTYPE_BOOLEAN,
|
|
|
|
|
JSON_VTYPE_STRING,
|
|
|
|
|
JSON_VTYPE_NULL
|
2026-06-02 21:23:50 -05:00
|
|
|
};
|
|
|
|
|
|
2026-07-19 07:41:52 -05:00
|
|
|
//---
|
|
|
|
|
#define JSONVTYPE_FLAG_NULL (128)
|
|
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
//#define JSONVTYPE_FLAG_ALL_V (TSN_SBL_BASE_F_KEY|TSN_SBL_BASE_F_OBJ|TSN_SBL_BASE_F_ARR|TSN_SBL_BASE_F_INT|TSN_SBL_BASE_F_FLT|TSN_SBL_BASE_F_BOL|TSN_SBL_BASE_F_STR|JSONVTYPE_FLAG_NULL)
|
|
|
|
|
|
2026-06-02 21:23:50 -05:00
|
|
|
//---
|
|
|
|
|
enum ENUM_TSN_JSON_TOKEN
|
|
|
|
|
{
|
|
|
|
|
TSN_JSON_TOK_NUMBER = 0,
|
|
|
|
|
TSN_JSON_TOK_STRING,
|
|
|
|
|
TSN_JSON_TOK_BOOL_TRUE,
|
|
|
|
|
TSN_JSON_TOK_BOOL_FALSE,
|
|
|
|
|
TSN_JSON_TOK_NULL,
|
|
|
|
|
TSN_JSON_TOK_COMMA,
|
|
|
|
|
TSN_JSON_TOK_LLAVE_INI,
|
|
|
|
|
TSN_JSON_TOK_COR_INI,
|
|
|
|
|
TSN_JSON_TOK_LLAVE_END,
|
|
|
|
|
TSN_JSON_TOK_COR_END,
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_TOK_KEY,
|
|
|
|
|
TSN_JSON_TOK_INVALID
|
2026-06-02 21:23:50 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//---
|
2026-06-03 18:53:05 -05:00
|
|
|
#define TSN_JSON_F_NUMBER (1)
|
|
|
|
|
#define TSN_JSON_F_STRING (2)
|
|
|
|
|
#define TSN_JSON_F_BTRUE (4)
|
|
|
|
|
#define TSN_JSON_F_BFALSE (8)
|
|
|
|
|
#define TSN_JSON_F_NULL (16)
|
|
|
|
|
#define TSN_JSON_F_COMMA (32)
|
2026-06-14 15:51:39 -05:00
|
|
|
#define TSN_JSON_F_INI_LLAVE (64)
|
|
|
|
|
#define TSN_JSON_F_INI_COR (128)
|
|
|
|
|
#define TSN_JSON_F_FIN_LLAVE (256)
|
2026-06-11 14:12:14 -05:00
|
|
|
#define TSN_JSON_F_FIN_COR (512)
|
2026-06-14 15:51:39 -05:00
|
|
|
#define TSN_JSON_F_KEY (1024)
|
2026-06-02 21:23:50 -05:00
|
|
|
|
2026-06-14 15:51:39 -05:00
|
|
|
// igual nadies da con el
|
|
|
|
|
#define TSN_JSON_F_S (2048)
|
2026-06-02 21:23:50 -05:00
|
|
|
|
2026-06-03 18:53:05 -05:00
|
|
|
//--- Combinaciones
|
|
|
|
|
// and (1 | 2 | 4 | 8 | 16 | )
|
2026-06-02 21:23:50 -05:00
|
|
|
#define TSN_JSON_F_ALL_VALUES (31)
|
2026-06-04 17:26:20 -05:00
|
|
|
|
2026-06-02 21:23:50 -05:00
|
|
|
|
|
|
|
|
//---
|
2026-06-04 17:26:20 -05:00
|
|
|
#define TSN_JSON_NUM_TOKS (12)
|
2026-06-02 21:23:50 -05:00
|
|
|
|
|
|
|
|
//---
|
2026-06-14 15:51:39 -05:00
|
|
|
/*
|
2026-06-02 21:23:50 -05:00
|
|
|
const int g_json_to_f[TSN_JSON_NUM_TOKS]
|
|
|
|
|
{
|
2026-06-14 15:51:39 -05:00
|
|
|
TSN_JSON_F_NUMBER, // TSN_JSON_TOK_NUMBER
|
|
|
|
|
TSN_JSON_F_STRING, // TSN_JSON_TOK_STRING
|
|
|
|
|
TSN_JSON_F_BTRUE, // TSN_JSON_TOK_BOOL_TRUE
|
|
|
|
|
TSN_JSON_F_BFALSE, // TSN_JSON_TOK_BOOL_FALSE
|
|
|
|
|
TSN_JSON_F_NULL, // TSN_JSON_TOK_NULL
|
|
|
|
|
TSN_JSON_F_COMMA, // TSN_JSON_TOK_COMMA
|
|
|
|
|
TSN_JSON_F_INI_LLAVE, // TSN_JSON_TOK_LLAVE_INI
|
|
|
|
|
TSN_JSON_F_INI_COR, // TSN_JSON_TOK_COR_INI
|
|
|
|
|
TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_LLAVE_END
|
|
|
|
|
TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_COR_END
|
|
|
|
|
TSN_JSON_F_KEY, // TSN_JSON_TOK_KEY
|
|
|
|
|
TSN_JSON_F_S // TSN_JSON_TOK_INVALID
|
2026-06-02 21:23:50 -05:00
|
|
|
};
|
2026-06-14 15:51:39 -05:00
|
|
|
*/
|
2026-06-02 21:23:50 -05:00
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
const int g_json_expected[2][TSN_JSON_NUM_TOKS] =
|
|
|
|
|
{
|
2026-06-04 17:26:20 -05:00
|
|
|
//--- EXPECTED (AHORA) , LOCKED (PREVIO)
|
2026-06-02 21:23:50 -05:00
|
|
|
//--- In Arr
|
|
|
|
|
{
|
2026-06-03 18:53:05 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_NUMBER
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_STRING
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_BOOL_TRUE
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_BOOL_FALSE
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR, // TSN_JSON_TOK_NULL
|
2026-06-11 14:12:14 -05:00
|
|
|
TSN_JSON_F_ALL_VALUES | TSN_JSON_F_INI_COR | TSN_JSON_F_INI_LLAVE, // TSN_JSON_TOK_COMMA
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_F_STRING | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_LLAVE_INI (string=key)
|
2026-06-11 14:12:14 -05:00
|
|
|
TSN_JSON_F_ALL_VALUES | TSN_JSON_F_FIN_COR | TSN_JSON_F_INI_COR | TSN_JSON_F_INI_LLAVE, // TSN_JSON_TOK_COR_INI
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_LLAVE_END
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_COR_END
|
2026-06-02 21:23:50 -05:00
|
|
|
0, // TSN_JSON_TOK_KEY invaido
|
|
|
|
|
0 // TSN_JSON_TOK_INVALID
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//---In Obj
|
|
|
|
|
{
|
2026-06-03 18:53:05 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_NUMBER
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_STRING
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_BOOL_TRUE
|
2026-06-03 18:53:05 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_BOOL_FALSE
|
|
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_NULL
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_F_STRING, // TSN_JSON_TOK_COMMA (string=key)
|
|
|
|
|
TSN_JSON_F_STRING | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_LLAVE_INI (string=key)
|
2026-06-11 14:12:14 -05:00
|
|
|
TSN_JSON_F_ALL_VALUES | TSN_JSON_F_FIN_COR | TSN_JSON_F_INI_COR | TSN_JSON_F_INI_LLAVE, // TSN_JSON_TOK_COR_INI
|
2026-06-03 18:53:05 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_LLAVE_END
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_F_COMMA | TSN_JSON_F_FIN_COR | TSN_JSON_F_FIN_LLAVE, // TSN_JSON_TOK_COR_END
|
2026-06-11 14:12:14 -05:00
|
|
|
TSN_JSON_F_ALL_VALUES | TSN_JSON_F_INI_COR | TSN_JSON_F_INI_LLAVE, // TSN_JSON_TOK_KEY luego de eso esperamos valores
|
2026-06-02 21:23:50 -05:00
|
|
|
0 // TSN_JSON_TOK_INVALID
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2026-06-20 13:57:50 -05:00
|
|
|
|
|
|
|
|
//---
|
|
|
|
|
#define TSN_JSON_F_ALL_I_VAL (TSN_JSON_F_ALL_VALUES | TSN_JSON_F_INI_COR | TSN_JSON_F_INI_LLAVE)
|
|
|
|
|
|
2026-06-02 21:23:50 -05:00
|
|
|
//---
|
|
|
|
|
enum ENUM_TSN_JSON_LAST_ERR
|
|
|
|
|
{
|
|
|
|
|
//---
|
|
|
|
|
TSN_JSON_NOT_ERR,
|
|
|
|
|
TSN_JSON_ERR_INVALID_CHAR_COMMA_IN_CTX_NO_OBJ_ARR,
|
|
|
|
|
TSN_JSON_ERR_MALFORDMED_JSON,
|
|
|
|
|
TSN_JSON_ERR_INVALID_CHAR,
|
|
|
|
|
TSN_JSON_ERR_MALFORMED_TRUE,
|
|
|
|
|
TSN_JSON_ERR_MALFORMED_FALSE,
|
|
|
|
|
TSN_JSON_ERR_MALFORMED_NULL,
|
|
|
|
|
TSN_JSON_ERR_STRING_NOT_CLOSED,
|
|
|
|
|
TSN_JSON_ERR_INVALID_STATE,
|
|
|
|
|
TSN_JSON_ERR_JSON_NOT_FINISH,
|
|
|
|
|
TSN_JSON_ERR_EXPECTED_OBJ_ARR,
|
|
|
|
|
TSN_JSON_ERR_OVERFLOW_IN_CINTA_RESIZE,
|
2026-06-05 16:28:44 -05:00
|
|
|
TSN_JSON_ERR_MALFODERD_KEY_EXPECTED_DOS_PUNTOS,
|
2026-06-18 08:36:18 -05:00
|
|
|
TSN_JSON_ERR_MALFOMED_LEN_SUPERADO,
|
|
|
|
|
TSN_JSON_ERR_KEY_NOT_CLOSED,
|
2026-06-19 20:41:32 -05:00
|
|
|
TSN_JSON_ERR_HAS_NOT_CONTENT,
|
2026-06-21 21:51:52 -05:00
|
|
|
TSN_JSON_ERR_INVALID_EXT_FILE,
|
2026-06-02 21:23:50 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
//| |
|
|
|
|
|
//+------------------------------------------------------------------+
|
2026-06-18 08:36:18 -05:00
|
|
|
//#define JSON_TABLESIZE_TOKENS 92
|
|
|
|
|
//#define JSON_MAX_VALUE_C 126
|
2026-06-03 07:50:45 -05:00
|
|
|
|
2026-06-18 08:36:18 -05:00
|
|
|
const uchar g_table_json_tokens[256] =
|
2026-06-02 21:23:50 -05:00
|
|
|
{
|
2026-06-18 08:36:18 -05:00
|
|
|
TSN_JSON_TOK_INVALID, // 0
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 1
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 2
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 3
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 4
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 5
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 6
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 7
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 8
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 9
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 10
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 11
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 12
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 13
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 14
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 15
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 16
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 17
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 18
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 19
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 20
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 21
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 22
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 23
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 24
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 25
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 26
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 27
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 28
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 29
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 30
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 31
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 32
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 33
|
2026-06-02 21:23:50 -05:00
|
|
|
TSN_JSON_TOK_STRING, // 34 - "
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 35 - #
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 36 - $
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 37 - %
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 38 - &
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 39 - '
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 40 - (
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 41 - )
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 42 - *
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 43 - +
|
|
|
|
|
TSN_JSON_TOK_COMMA, // 44 - ,
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 45 -
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 46 - .
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 47 - /
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 48 - 0
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 49 - 1
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 50 - 2
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 51 - 3
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 52 - 4
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 53 - 5
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 54 - 6
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 55 - 7
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 56 - 8
|
|
|
|
|
TSN_JSON_TOK_NUMBER, // 57 - 9
|
2026-06-04 17:26:20 -05:00
|
|
|
TSN_JSON_TOK_INVALID, // 58 - :
|
2026-06-02 21:23:50 -05:00
|
|
|
TSN_JSON_TOK_INVALID, // 59 - ;
|
2026-06-18 08:36:18 -05:00
|
|
|
TSN_JSON_TOK_INVALID, // 60 -
|
2026-06-02 21:23:50 -05:00
|
|
|
TSN_JSON_TOK_INVALID, // 61 - =
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 62 - >
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 63 - ?
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 64 - @
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 65 - A
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 66 - B
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 67 - C
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 68 - D
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 69 - E
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 70 - F
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 71 - G
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 72 - H
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 73 - I
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 74 - J
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 75 - K
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 76 - L
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 77 - M
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 78 - N
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 79 - O
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 80 - P
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 81 - Q
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 82 - R
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 83 - S
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 84 - T
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 85 - U
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 86 - V
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 87 - W
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 88 - X
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 89 - Y
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 90 - Z
|
|
|
|
|
TSN_JSON_TOK_COR_INI, // 91 - [
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 92 - \
|
|
|
|
|
TSN_JSON_TOK_COR_END, // 93 - ]
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 94 - ^
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 95 - _
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 96 - `
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 97 - a
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 98 - b
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 99 - c
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 100 - d
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 101 - e
|
|
|
|
|
TSN_JSON_TOK_BOOL_FALSE, // 102 - f
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 103 - g
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 104 - h
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 105 - i
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 106 - j
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 107 - k
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 108 - l
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 109 - m
|
|
|
|
|
TSN_JSON_TOK_NULL, // 110 - n
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 111 - o
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 112 - p
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 113 - q
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 114 - r
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 115 - s
|
|
|
|
|
TSN_JSON_TOK_BOOL_TRUE, // 116 - t
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 117 - u
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 118 - v
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 119 - w
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 120 - x
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 121 - y
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 122 - z
|
|
|
|
|
TSN_JSON_TOK_LLAVE_INI, // 123 - {
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 124 - |
|
2026-06-18 08:36:18 -05:00
|
|
|
TSN_JSON_TOK_LLAVE_END, // 125 - }
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 126 - ~
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 127
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 128
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 129
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 130
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 131
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 132
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 133
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 134
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 135
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 136
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 137
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 138
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 139
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 140
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 141
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 142
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 143
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 144
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 145
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 146
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 147
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 148
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 149
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 150
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 151
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 152
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 153
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 154
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 155
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 156
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 157
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 158
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 159
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 160
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 161
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 162
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 163
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 164
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 165
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 166
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 167
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 168
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 169
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 170
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 171
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 172
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 173
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 174
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 175
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 176
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 177
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 178
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 179
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 180
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 181
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 182
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 183
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 184
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 185
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 186
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 187
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 188
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 189
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 190
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 191
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 192
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 193
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 194
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 195
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 196
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 197
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 198
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 199
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 200
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 201
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 202
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 203
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 204
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 205
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 206
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 207
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 208
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 209
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 210
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 211
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 212
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 213
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 214
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 215
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 216
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 217
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 218
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 219
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 220
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 221
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 222
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 223
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 224
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 225
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 226
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 227
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 228
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 229
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 230
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 231
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 232
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 233
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 234
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 235
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 236
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 237
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 238
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 239
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 240
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 241
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 242
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 243
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 244
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 245
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 246
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 247
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 248
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 249
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 250
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 251
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 252
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 253
|
|
|
|
|
TSN_JSON_TOK_INVALID, // 254
|
|
|
|
|
TSN_JSON_TOK_INVALID // 255
|
2026-06-02 21:23:50 -05:00
|
|
|
};
|
|
|
|
|
|
2026-06-09 14:15:41 -05:00
|
|
|
//---
|
|
|
|
|
#define JSONPARSER_BY_LEO_NULL_V (7105653)
|
|
|
|
|
/*
|
|
|
|
|
const uint chunk = uint('u') |
|
|
|
|
|
uint('l') << 8 |
|
|
|
|
|
uint('l') << 16;
|
|
|
|
|
*/
|
|
|
|
|
//--- Mascaras para el swar
|
2026-06-02 21:23:50 -05:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
|
|
|
#endif // JSONPARSERBYLEO_SRC_JSONDEFINES_MQH
|