JsonParserByLeo/Src/JsonAsmDef.mqh
Nique_372 08f66abce7
2026-06-18 11:40:47 -05:00

297 行
12 KiB
MQL4

//+------------------------------------------------------------------+
//| JsonAsmDef.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_JSONASMDEF_MQH
#define JSONPARSERBYLEO_SRC_JSONASMDEF_MQH
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
#include "JsonDefines.mqh"
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
namespace TSN
{
//--- Extra toksn
#define TSN_JSON_TOKEN_ASM_BOOL_FALSE 8
#define TSN_JSON_TOKEN_ASM_INVALID 9
#define TSN_JSON_TOKEN_ASM_POP 10
#define TSN_JSON_TOKEN_ASM_ADD_EL 11
#define TSN_JSON_TOKEN_ASM_ITER 12
#define TSN_JSON_TOKEN_ASM_SALTAR_NL 13
//---
// Cuando encontremos un ; saltmos directo hasta el \n
#define TSN_JSON_TOKEN_ASM_COMENTARIO TSN_JSON_TOKEN_ASM_SALTAR_NL
//---
const uchar g_tsn_jsonasm_char_to_token[256] =
{
TSN_JSON_TOKEN_ASM_INVALID, // 0
TSN_JSON_TOKEN_ASM_INVALID, // 1
TSN_JSON_TOKEN_ASM_INVALID, // 2
TSN_JSON_TOKEN_ASM_INVALID, // 3
TSN_JSON_TOKEN_ASM_INVALID, // 4
TSN_JSON_TOKEN_ASM_INVALID, // 5
TSN_JSON_TOKEN_ASM_INVALID, // 6
TSN_JSON_TOKEN_ASM_INVALID, // 7
TSN_JSON_TOKEN_ASM_INVALID, // 8
TSN_JSON_TOKEN_ASM_INVALID, // 9
TSN_JSON_TOKEN_ASM_INVALID, // 10
TSN_JSON_TOKEN_ASM_INVALID, // 11
TSN_JSON_TOKEN_ASM_INVALID, // 12
TSN_JSON_TOKEN_ASM_INVALID, // 13
TSN_JSON_TOKEN_ASM_INVALID, // 14
TSN_JSON_TOKEN_ASM_INVALID, // 15
TSN_JSON_TOKEN_ASM_INVALID, // 16
TSN_JSON_TOKEN_ASM_INVALID, // 17
TSN_JSON_TOKEN_ASM_INVALID, // 18
TSN_JSON_TOKEN_ASM_INVALID, // 19
TSN_JSON_TOKEN_ASM_INVALID, // 20
TSN_JSON_TOKEN_ASM_INVALID, // 21
TSN_JSON_TOKEN_ASM_INVALID, // 22
TSN_JSON_TOKEN_ASM_INVALID, // 23
TSN_JSON_TOKEN_ASM_INVALID, // 24
TSN_JSON_TOKEN_ASM_INVALID, // 25
TSN_JSON_TOKEN_ASM_INVALID, // 26
TSN_JSON_TOKEN_ASM_INVALID, // 27
TSN_JSON_TOKEN_ASM_INVALID, // 28
TSN_JSON_TOKEN_ASM_INVALID, // 29
TSN_JSON_TOKEN_ASM_INVALID, // 30
TSN_JSON_TOKEN_ASM_INVALID, // 31
TSN_JSON_TOKEN_ASM_INVALID, // 32 -
TSN_JSON_TOKEN_ASM_INVALID, // 33 - !
TSN_JSON_TOKEN_ASM_INVALID, // 34 - "
TSN_JSON_TOKEN_ASM_INVALID, // 35 - #
TSN_JSON_TOKEN_ASM_INVALID, // 36 - $
TSN_JSON_TOKEN_ASM_INVALID, // 37 - %
TSN_JSON_TOKEN_ASM_INVALID, // 38 - &
TSN_JSON_TOKEN_ASM_INVALID, // 39 - '
TSN_JSON_TOKEN_ASM_INVALID, // 40 - (
TSN_JSON_TOKEN_ASM_INVALID, // 41 - )
TSN_JSON_TOKEN_ASM_INVALID, // 42 - *
TSN_JSON_TOKEN_ASM_INVALID, // 43 - +
TSN_JSON_TOKEN_ASM_INVALID, // 44 - ,
TSN_JSON_TOKEN_ASM_ADD_EL, // 45 - -
TSN_JSON_TOKEN_ASM_INVALID, // 46 - .
TSN_JSON_TOKEN_ASM_INVALID, // 47 - /
TSN_JSON_TOKEN_ASM_INVALID, // 48 - 0
TSN_JSON_TOKEN_ASM_INVALID, // 49 - 1
TSN_JSON_TOKEN_ASM_INVALID, // 50 - 2
TSN_JSON_TOKEN_ASM_INVALID, // 51 - 3
TSN_JSON_TOKEN_ASM_INVALID, // 52 - 4
TSN_JSON_TOKEN_ASM_INVALID, // 53 - 5
TSN_JSON_TOKEN_ASM_INVALID, // 54 - 6
TSN_JSON_TOKEN_ASM_INVALID, // 55 - 7
TSN_JSON_TOKEN_ASM_INVALID, // 56 - 8
TSN_JSON_TOKEN_ASM_INVALID, // 57 - 9
TSN_JSON_TOKEN_ASM_INVALID, // 58 - :
TSN_JSON_TOKEN_ASM_COMENTARIO, // 59 - ;
TSN_JSON_TOKEN_ASM_INVALID, // 60 - <
TSN_JSON_TOKEN_ASM_INVALID, // 61 - =
TSN_JSON_TOKEN_ASM_INVALID, // 62 - >
TSN_JSON_TOKEN_ASM_INVALID, // 63 - ?
TSN_JSON_TOKEN_ASM_INVALID, // 64 - @
JSON_VTYPE_ARR, // 65 - A
TSN_JSON_TOKEN_ASM_INVALID, // 66 - B
TSN_JSON_TOKEN_ASM_INVALID, // 67 - C
TSN_JSON_TOKEN_ASM_INVALID, // 68 - D
TSN_JSON_TOKEN_ASM_INVALID, // 69 - E
TSN_JSON_TOKEN_ASM_BOOL_FALSE, // 70 - F
TSN_JSON_TOKEN_ASM_INVALID, // 71 - G
TSN_JSON_TOKEN_ASM_INVALID, // 72 - H
TSN_JSON_TOKEN_ASM_INVALID, // 73 - I
TSN_JSON_TOKEN_ASM_INVALID, // 74 - J
JSON_VTYPE_KEY, // 75 - K
TSN_JSON_TOKEN_ASM_INVALID, // 76 - L
TSN_JSON_TOKEN_ASM_INVALID, // 77 - M
JSON_VTYPE_NULL, // 78 - N
JSON_VTYPE_OBJ, // 79 - O
TSN_JSON_TOKEN_ASM_POP, // 80 - P
TSN_JSON_TOKEN_ASM_INVALID, // 81 - Q
JSON_VTYPE_REAL, // 82 - R
JSON_VTYPE_STRING, // 83 - S
JSON_VTYPE_BOOLEAN, // 84 - T (True)
TSN_JSON_TOKEN_ASM_INVALID, // 85 - U
TSN_JSON_TOKEN_ASM_INVALID, // 86 - V
TSN_JSON_TOKEN_ASM_INVALID, // 87 - W
TSN_JSON_TOKEN_ASM_INVALID, // 88 - X
TSN_JSON_TOKEN_ASM_INVALID, // 89 - Y
TSN_JSON_TOKEN_ASM_INVALID, // 90 - Z
TSN_JSON_TOKEN_ASM_INVALID, // 91 - [
TSN_JSON_TOKEN_ASM_INVALID, // 92 - \
TSN_JSON_TOKEN_ASM_INVALID, // 93 - ]
TSN_JSON_TOKEN_ASM_INVALID, // 94 - ^
TSN_JSON_TOKEN_ASM_INVALID, // 95 - _
TSN_JSON_TOKEN_ASM_INVALID, // 96 - `
TSN_JSON_TOKEN_ASM_INVALID, // 97 - a
TSN_JSON_TOKEN_ASM_INVALID, // 98 - b
TSN_JSON_TOKEN_ASM_INVALID, // 99 - c
TSN_JSON_TOKEN_ASM_INVALID, // 100 - d
TSN_JSON_TOKEN_ASM_INVALID, // 101 - e
TSN_JSON_TOKEN_ASM_INVALID, // 102 - f
TSN_JSON_TOKEN_ASM_INVALID, // 103 - g
TSN_JSON_TOKEN_ASM_INVALID, // 104 - h
TSN_JSON_TOKEN_ASM_INVALID, // 105 - i
TSN_JSON_TOKEN_ASM_INVALID, // 106 - j
TSN_JSON_TOKEN_ASM_INVALID, // 107 - k
TSN_JSON_TOKEN_ASM_INVALID, // 108 - l
TSN_JSON_TOKEN_ASM_INVALID, // 109 - m
TSN_JSON_TOKEN_ASM_INVALID, // 110 - n
TSN_JSON_TOKEN_ASM_INVALID, // 111 - o
TSN_JSON_TOKEN_ASM_INVALID, // 112 - p
TSN_JSON_TOKEN_ASM_INVALID, // 113 - q
TSN_JSON_TOKEN_ASM_INVALID, // 114 - r
TSN_JSON_TOKEN_ASM_INVALID, // 115 - s
TSN_JSON_TOKEN_ASM_INVALID, // 116 - t
TSN_JSON_TOKEN_ASM_INVALID, // 117 - u
TSN_JSON_TOKEN_ASM_INVALID, // 118 - v
TSN_JSON_TOKEN_ASM_INVALID, // 119 - w
TSN_JSON_TOKEN_ASM_INVALID, // 120 - x
TSN_JSON_TOKEN_ASM_INVALID, // 121 - y
TSN_JSON_TOKEN_ASM_INVALID, // 122 - z
TSN_JSON_TOKEN_ASM_INVALID, // 123 - {
TSN_JSON_TOKEN_ASM_INVALID, // 124 - |
TSN_JSON_TOKEN_ASM_INVALID, // 125 - }
TSN_JSON_TOKEN_ASM_INVALID, // 126 - ~
TSN_JSON_TOKEN_ASM_INVALID, // 127
TSN_JSON_TOKEN_ASM_INVALID, // 128
TSN_JSON_TOKEN_ASM_INVALID, // 129
TSN_JSON_TOKEN_ASM_INVALID, // 130
TSN_JSON_TOKEN_ASM_INVALID, // 131
TSN_JSON_TOKEN_ASM_INVALID, // 132
TSN_JSON_TOKEN_ASM_INVALID, // 133
TSN_JSON_TOKEN_ASM_INVALID, // 134
TSN_JSON_TOKEN_ASM_INVALID, // 135
TSN_JSON_TOKEN_ASM_INVALID, // 136
TSN_JSON_TOKEN_ASM_INVALID, // 137
TSN_JSON_TOKEN_ASM_INVALID, // 138
TSN_JSON_TOKEN_ASM_INVALID, // 139
TSN_JSON_TOKEN_ASM_INVALID, // 140
TSN_JSON_TOKEN_ASM_INVALID, // 141
TSN_JSON_TOKEN_ASM_INVALID, // 142
TSN_JSON_TOKEN_ASM_INVALID, // 143
TSN_JSON_TOKEN_ASM_INVALID, // 144
TSN_JSON_TOKEN_ASM_INVALID, // 145
TSN_JSON_TOKEN_ASM_INVALID, // 146
TSN_JSON_TOKEN_ASM_INVALID, // 147
TSN_JSON_TOKEN_ASM_INVALID, // 148
TSN_JSON_TOKEN_ASM_INVALID, // 149
TSN_JSON_TOKEN_ASM_INVALID, // 150
TSN_JSON_TOKEN_ASM_INVALID, // 151
TSN_JSON_TOKEN_ASM_INVALID, // 152
TSN_JSON_TOKEN_ASM_INVALID, // 153
TSN_JSON_TOKEN_ASM_INVALID, // 154
TSN_JSON_TOKEN_ASM_INVALID, // 155
TSN_JSON_TOKEN_ASM_INVALID, // 156
TSN_JSON_TOKEN_ASM_INVALID, // 157
TSN_JSON_TOKEN_ASM_INVALID, // 158
TSN_JSON_TOKEN_ASM_INVALID, // 159
TSN_JSON_TOKEN_ASM_INVALID, // 160
TSN_JSON_TOKEN_ASM_INVALID, // 161
TSN_JSON_TOKEN_ASM_INVALID, // 162
TSN_JSON_TOKEN_ASM_INVALID, // 163
TSN_JSON_TOKEN_ASM_INVALID, // 164
TSN_JSON_TOKEN_ASM_INVALID, // 165
TSN_JSON_TOKEN_ASM_INVALID, // 166
TSN_JSON_TOKEN_ASM_INVALID, // 167
TSN_JSON_TOKEN_ASM_INVALID, // 168
TSN_JSON_TOKEN_ASM_INVALID, // 169
TSN_JSON_TOKEN_ASM_INVALID, // 170
TSN_JSON_TOKEN_ASM_INVALID, // 171
TSN_JSON_TOKEN_ASM_INVALID, // 172
TSN_JSON_TOKEN_ASM_INVALID, // 173
TSN_JSON_TOKEN_ASM_INVALID, // 174
TSN_JSON_TOKEN_ASM_INVALID, // 175
TSN_JSON_TOKEN_ASM_INVALID, // 176
TSN_JSON_TOKEN_ASM_INVALID, // 177
TSN_JSON_TOKEN_ASM_INVALID, // 178
TSN_JSON_TOKEN_ASM_INVALID, // 179
TSN_JSON_TOKEN_ASM_INVALID, // 180
TSN_JSON_TOKEN_ASM_INVALID, // 181
TSN_JSON_TOKEN_ASM_INVALID, // 182
TSN_JSON_TOKEN_ASM_INVALID, // 183
TSN_JSON_TOKEN_ASM_INVALID, // 184
TSN_JSON_TOKEN_ASM_INVALID, // 185
TSN_JSON_TOKEN_ASM_INVALID, // 186
TSN_JSON_TOKEN_ASM_INVALID, // 187
TSN_JSON_TOKEN_ASM_INVALID, // 188
TSN_JSON_TOKEN_ASM_INVALID, // 189
TSN_JSON_TOKEN_ASM_INVALID, // 190
TSN_JSON_TOKEN_ASM_INVALID, // 191
TSN_JSON_TOKEN_ASM_INVALID, // 192
TSN_JSON_TOKEN_ASM_INVALID, // 193
TSN_JSON_TOKEN_ASM_INVALID, // 194
TSN_JSON_TOKEN_ASM_INVALID, // 195
TSN_JSON_TOKEN_ASM_INVALID, // 196
TSN_JSON_TOKEN_ASM_INVALID, // 197
TSN_JSON_TOKEN_ASM_INVALID, // 198
TSN_JSON_TOKEN_ASM_INVALID, // 199
TSN_JSON_TOKEN_ASM_INVALID, // 200
TSN_JSON_TOKEN_ASM_INVALID, // 201
TSN_JSON_TOKEN_ASM_INVALID, // 202
TSN_JSON_TOKEN_ASM_INVALID, // 203
TSN_JSON_TOKEN_ASM_INVALID, // 204
TSN_JSON_TOKEN_ASM_INVALID, // 205
TSN_JSON_TOKEN_ASM_INVALID, // 206
TSN_JSON_TOKEN_ASM_INVALID, // 207
TSN_JSON_TOKEN_ASM_INVALID, // 208
TSN_JSON_TOKEN_ASM_INVALID, // 209
TSN_JSON_TOKEN_ASM_INVALID, // 210
TSN_JSON_TOKEN_ASM_INVALID, // 211
TSN_JSON_TOKEN_ASM_INVALID, // 212
TSN_JSON_TOKEN_ASM_INVALID, // 213
TSN_JSON_TOKEN_ASM_INVALID, // 214
TSN_JSON_TOKEN_ASM_INVALID, // 215
TSN_JSON_TOKEN_ASM_INVALID, // 216
TSN_JSON_TOKEN_ASM_INVALID, // 217
TSN_JSON_TOKEN_ASM_INVALID, // 218
TSN_JSON_TOKEN_ASM_INVALID, // 219
TSN_JSON_TOKEN_ASM_INVALID, // 220
TSN_JSON_TOKEN_ASM_INVALID, // 221
TSN_JSON_TOKEN_ASM_INVALID, // 222
TSN_JSON_TOKEN_ASM_INVALID, // 223
TSN_JSON_TOKEN_ASM_INVALID, // 224
TSN_JSON_TOKEN_ASM_INVALID, // 225
TSN_JSON_TOKEN_ASM_INVALID, // 226
TSN_JSON_TOKEN_ASM_INVALID, // 227
TSN_JSON_TOKEN_ASM_INVALID, // 228
TSN_JSON_TOKEN_ASM_INVALID, // 229
TSN_JSON_TOKEN_ASM_INVALID, // 230
TSN_JSON_TOKEN_ASM_INVALID, // 231
TSN_JSON_TOKEN_ASM_INVALID, // 232
TSN_JSON_TOKEN_ASM_INVALID, // 233
TSN_JSON_TOKEN_ASM_INVALID, // 234
TSN_JSON_TOKEN_ASM_INVALID, // 235
TSN_JSON_TOKEN_ASM_INVALID, // 236
TSN_JSON_TOKEN_ASM_INVALID, // 237
TSN_JSON_TOKEN_ASM_INVALID, // 238
TSN_JSON_TOKEN_ASM_INVALID, // 239
TSN_JSON_TOKEN_ASM_INVALID, // 240
TSN_JSON_TOKEN_ASM_INVALID, // 241
TSN_JSON_TOKEN_ASM_INVALID, // 242
TSN_JSON_TOKEN_ASM_INVALID, // 243
TSN_JSON_TOKEN_ASM_INVALID, // 244
TSN_JSON_TOKEN_ASM_INVALID, // 245
TSN_JSON_TOKEN_ASM_INVALID, // 246
TSN_JSON_TOKEN_ASM_INVALID, // 247
TSN_JSON_TOKEN_ASM_INVALID, // 248
TSN_JSON_TOKEN_ASM_INVALID, // 249
TSN_JSON_TOKEN_ASM_INVALID, // 250
TSN_JSON_TOKEN_ASM_INVALID, // 251
TSN_JSON_TOKEN_ASM_INVALID, // 252
TSN_JSON_TOKEN_ASM_INVALID, // 253
TSN_JSON_TOKEN_ASM_INVALID, // 254
TSN_JSON_TOKEN_ASM_INVALID // 255
};
}
//+------------------------------------------------------------------+
#endif // JSONPARSERBYLEO_SRC_JSONASMDEF_MQH