2026-10-27 10:45:17 -05:00 | | | | //+------------------------------------------------------------------+
|
| | | | //| JsonUE.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_JSONCORE_JSONUET_MQH
|
| | | | #define JSONPARSERBYLEO_SRC_JSONCORE_JSONUET_MQH
|
| | | |
|
| | | | //+------------------------------------------------------------------+
|
| | | | //| |
|
| | | | //+------------------------------------------------------------------+
|
| | | | // unescap escpae backend
|
| | | | #include <TSN\\BSFL\\UE.mqh>
|
| | | |
|
| | | | //+------------------------------------------------------------------+
|
| | | | //| |
|
| | | | //+------------------------------------------------------------------+
|
| | | | namespace TSN
|
| | | | {
|
| | | | //+------------------------------------------------------------------+
|
| | | | //| |
|
| | | | //+------------------------------------------------------------------+
|
| | | | class JsonUET
|
| | | | {
|
| | | | public:
|
| | | | JsonUET(void) {}
|
| | | | ~JsonUET(void) {}
|
| | | |
|
| | | | //--- Tablas unescape escape
|
| | | | // unescape
|
| | | | static const uchar s_unescape_table[256];
|
| | | | // escape
|
| | | | static const uchar s_escape_table[256];
|
| | | | };
|
| | | |
|
| | | | //+------------------------------------------------------------------+
|
| | | | //| |
|
| | | | //+------------------------------------------------------------------+
|
| | | | const uchar JsonUET::s_unescape_table[256] =
|
| | | | {
|
| | | | // char idx ascii
|
| | | |
|
| | | | //--- WS \ Invalid
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | |
|
| | | | //---
|
| | | | '"', // 0 0x22 \" = "
|
| | | | 0xFF, // 1 0x23 #
|
| | | | 0xFF, // 2 0x24 $
|
| | | | 0xFF, // 3 0x25 %
|
| | | | 0xFF, // 4 0x26 &
|
| | | | 0xFF, // 5 0x27 ' \' = '
|
| | | | 0xFF, // 6 0x28 (
|
| | | | 0xFF, // 7 0x29 )
|
| | | | 0xFF, // 8 0x2A *
|
| | | | 0xFF, // 9 0x2B +
|
| | | | 0xFF, // 10 0x2C ,
|
| | | | 0xFF, // 11 0x2D -
|
| | | | 0xFF, // 12 0x2E .
|
| | | | '/', // 13 0x2F / \/ = /
|
| | | | 0xFF, // 14 0x30
|
| | | | 0xFF, // 15 0x31 1
|
| | | | 0xFF, // 16 0x32 2
|
| | | | 0xFF, // 17 0x33 3
|
| | | | 0xFF, // 18 0x34 4
|
| | | | 0xFF, // 19 0x35 5
|
| | | | 0xFF, // 20 0x36 6
|
| | | | 0xFF, // 21 0x37 7
|
| | | | 0xFF, // 22 0x38 8
|
| | | | 0xFF, // 23 0x39 9
|
| | | | 0xFF, // 24 0x3A :
|
| | | | 0xFF, // 25 0x3B ;
|
| | | | 0xFF, // 26 0x3C <
|
| | | | 0xFF, // 27 0x3D =
|
| | | | 0xFF, // 28 0x3E >
|
| | | | 0xFF, // 29 0x3F ?
|
| | | | 0xFF, // 30 0x40 @
|
| | | | 0xFF, // 31 0x41 A
|
| | | | 0xFF, // 32 0x42 B
|
| | | | 0xFF, // 33 0x43 C
|
| | | | 0xFF, // 34 0x44 D
|
| | | | 0xFF, // 35 0x45 E
|
| | | | 0xFF, // 36 0x46 F
|
| | | | 0xFF, // 37 0x47 G
|
| | | | 0xFF, // 38 0x48 H
|
| | | | 0xFF, // 39 0x49 I
|
| | | | 0xFF, // 40 0x4A J
|
| | | | 0xFF, // 41 0x4B K
|
| | | | 0xFF, // 42 0x4C L
|
| | | | 0xFF, // 43 0x4D M
|
| | | | 0xFF, // 44 0x4E N
|
| | | | 0xFF, // 45 0x4F O
|
| | | | 0xFF, // 46 0x50 P
|
| | | | 0xFF, // 47 0x51 Q
|
| | | | 0xFF, // 48 0x52 R
|
| | | | 0xFF, // 49 0x53 S
|
| | | | 0xFF, // 50 0x54 T
|
| | | | 0xFF, // 51 0x55 U
|
| | | | 0xFF, // 52 0x56 V
|
| | | | 0xFF, // 53 0x57 W
|
| | | | 0xFF, // 54 0x58 X
|
| | | | 0xFF, // 55 0x59 Y
|
| | | | 0xFF, // 56 0x5A Z
|
| | | | 0xFF, // 57 0x5B [
|
| | | | '\\', // 58 0x5C \ \\ =
|
| | | | 0xFF, // 59 0x5D ]
|
| | | | 0xFF, // 60 0x5E ^
|
| | | | 0xFF, // 61 0x5F _
|
| | | | 0xFF, // 62 0x60 `
|
| | | | 0xFF, // 63 0x61 a
|
| | | | 0x08, // 64 0x62 b \b = backspace
|
| | | | 0xFF, // 65 0x63 c
|
| | | | 0xFF, // 66 0x64 d
|
| | | | 0xFF, // 67 0x65 e
|
| | | | 0x0C, // 68 0x66 f \f = form feed
|
| | | | 0xFF, // 69 0x67 g
|
| | | | 0xFF, // 70 0x68 h
|
| | | | 0xFF, // 71 0x69 i
|
| | | | 0xFF, // 72 0x6A j
|
| | | | 0xFF, // 73 0x6B k
|
| | | | 0xFF, // 74 0x6C l
|
| | | | 0xFF, // 75 0x6D m
|
| | | | 0x0A, // 76 0x6E n \n = newline
|
| | | | 0xFF, // 77 0x6F o
|
| | | | 0xFF, // 78 0x70 p
|
| | | | 0xFF, // 79 0x71 q
|
| | | | 0x0D, // 80 0x72 r \r = carriage return
|
| | | | 0xFF, // 81 0x73 s
|
| | | | 0x09, // 82 0x74 t \t = tab
|
| | | | TSN_TABLE_UNESCAPE_UNICODE, // 83 0x75 u \uXXXX unicode
|
| | | | 0xFF, // 84 0x76 v
|
| | | | 0xFF, // 85 0x77 w
|
| | | | 0xFF, // 86 0x78 x
|
| | | | 0xFF, // 87 0x79 y
|
| | | | 0xFF, // 88 0x7A z
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x7B - 0x7F
|
| | | |
|
| | | | //--- Extended / high range (0x80 - 0xFF): all invalid for JSON escape context
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
| | | | };
|
| | | | const uchar JsonUET::s_escape_table[256] =
|
| | | | {
|
| | | | //--- 0x00–0x1F: caracteres de control
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x00 \0 null
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x01
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x02
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x03
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x04
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x05
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x06
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x07
|
| | | | 'b', // 0x08 \b backspace
|
| | | | 't', // 0x09 \t tab
|
| | | | 'n', // 0x0A \n newline
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x0B \v
|
| | | | 'f', // 0x0C \f form feed
|
| | | | 'r', // 0x0D \r carriage return
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x0E
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x0F
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x10
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x11
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x12
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x13
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x14
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x15
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x16
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x17
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x18
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x19
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1A
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1B
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1C
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1D
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1E
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x1F
|
| | | |
|
| | | | //--- 0x20–0x21: imprimibles
|
| | | | 0xFF, // 0x20 ' ' space
|
| | | | 0xFF, // 0x21 !
|
| | | |
|
| | | | //--- 0x22: comilla doble
|
| | | | '"', // 0x22 \"
|
| | | |
|
| | | | //--- 0x23–0x26: imprimibles
|
| | | | 0xFF, // 0x23 #
|
| | | | 0xFF, // 0x24 $
|
| | | | 0xFF, // 0x25 %
|
| | | | 0xFF, // 0x26 &
|
| | | |
|
| | | | //--- 0x27: comilla simple
|
| | | | 0xFF, // 0x27 \'
|
| | | |
|
| | | | //--- 0x28–0x2E: imprimibles
|
| | | | 0xFF, // 0x28 (
|
| | | | 0xFF, // 0x29 )
|
| | | | 0xFF, // 0x2A *
|
| | | | 0xFF, // 0x2B +
|
| | | | 0xFF, // 0x2C ,
|
| | | | 0xFF, // 0x2D -
|
| | | | 0xFF, // 0x2E .
|
| | | |
|
| | | | //--- 0x2F: slash
|
| | | | '/', // 0x2F \/
|
| | | |
|
| | | | //--- 0x30–0x5B: imprimibles
|
| | | | 0xFF, // 0x30 0
|
| | | | 0xFF, // 0x31 1
|
| | | | 0xFF, // 0x32 2
|
| | | | 0xFF, // 0x33 3
|
| | | | 0xFF, // 0x34 4
|
| | | | 0xFF, // 0x35 5
|
| | | | 0xFF, // 0x36 6
|
| | | | 0xFF, // 0x37 7
|
| | | | 0xFF, // 0x38 8
|
| | | | 0xFF, // 0x39 9
|
| | | | 0xFF, // 0x3A :
|
| | | | 0xFF, // 0x3B ;
|
| | | | 0xFF, // 0x3C <
|
| | | | 0xFF, // 0x3D =
|
| | | | 0xFF, // 0x3E >
|
| | | | 0xFF, // 0x3F ?
|
| | | | 0xFF, // 0x40 @
|
| | | | 0xFF, // 0x41 A
|
| | | | 0xFF, // 0x42 B
|
| | | | 0xFF, // 0x43 C
|
| | | | 0xFF, // 0x44 D
|
| | | | 0xFF, // 0x45 E
|
| | | | 0xFF, // 0x46 F
|
| | | | 0xFF, // 0x47 G
|
| | | | 0xFF, // 0x48 H
|
| | | | 0xFF, // 0x49 I
|
| | | | 0xFF, // 0x4A J
|
| | | | 0xFF, // 0x4B K
|
| | | | 0xFF, // 0x4C L
|
| | | | 0xFF, // 0x4D M
|
| | | | 0xFF, // 0x4E N
|
| | | | 0xFF, // 0x4F O
|
| | | | 0xFF, // 0x50 P
|
| | | | 0xFF, // 0x51 Q
|
| | | | 0xFF, // 0x52 R
|
| | | | 0xFF, // 0x53 S
|
| | | | 0xFF, // 0x54 T
|
| | | | 0xFF, // 0x55 U
|
| | | | 0xFF, // 0x56 V
|
| | | | 0xFF, // 0x57 W
|
| | | | 0xFF, // 0x58 X
|
| | | | 0xFF, // 0x59 Y
|
| | | | 0xFF, // 0x5A Z
|
| | | | 0xFF, // 0x5B [
|
| | | |
|
| | | | //--- 0x5C: backslash
|
| | | | '\\', // 0x5C \\
|
| | | |
|
| | | | //--- 0x5D–0x7E: imprimibles
|
| | | | 0xFF, // 0x5D ]
|
| | | | 0xFF, // 0x5E ^
|
| | | | 0xFF, // 0x5F _
|
| | | | 0xFF, // 0x60 `
|
| | | | 0xFF, // 0x61 a
|
| | | | 0xFF, // 0x62 b
|
| | | | 0xFF, // 0x63 c
|
| | | | 0xFF, // 0x64 d
|
| | | | 0xFF, // 0x65 e
|
| | | | 0xFF, // 0x66 f
|
| | | | 0xFF, // 0x67 g
|
| | | | 0xFF, // 0x68 h
|
| | | | 0xFF, // 0x69 i
|
| | | | 0xFF, // 0x6A j
|
| | | | 0xFF, // 0x6B k
|
| | | | 0xFF, // 0x6C l
|
| | | | 0xFF, // 0x6D m
|
| | | | 0xFF, // 0x6E n
|
| | | | 0xFF, // 0x6F o
|
| | | | 0xFF, // 0x70 p
|
| | | | 0xFF, // 0x71 q
|
| | | | 0xFF, // 0x72 r
|
| | | | 0xFF, // 0x73 s
|
| | | | 0xFF, // 0x74 t
|
| | | | 0xFF, // 0x75 u
|
| | | | 0xFF, // 0x76 v
|
| | | | 0xFF, // 0x77 w
|
| | | | 0xFF, // 0x78 x
|
| | | | 0xFF, // 0x79 y
|
| | | | 0xFF, // 0x7A z
|
| | | | 0xFF, // 0x7B {
|
| | | | 0xFF, // 0x7C |
|
| | | | 0xFF, // 0x7D }
|
| | | | 0xFF, // 0x7E ~
|
| | | |
|
| | | | //--- 0x7F: DEL (control)
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x7F
|
| | | |
|
| | | | //--- 0x80–0xFF: extended ASCII → \uXXXX
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0x80–0x87
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, // 0x88–0x8F
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0x90–0x97
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0x98–0x9F
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xA0–0xA7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xA8–0xAF
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xB0–0xB7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xB8–0xBF
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xC0–0xC7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xC8–0xCF
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xD0–0xD7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xD8–0xDF
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xE0–0xE7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xE8–0xEF
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xF0–0xF7
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE,
|
| | | | TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, TSN_TABLE_ESCAPE_UNICODE, // 0xF8–0xFF
|
| | | | };
|
| | | |
|
| | | | //+------------------------------------------------------------------+
|
| | | | //| Alias para facilitar |
|
| | | | //+------------------------------------------------------------------+
|
| | | | //--- uet
|
| | | | #define JSONPBL_UET_JSCLASS TSN::JsonUET
|
| | | |
|
| | | | //--- make
|
2026-10-27 10:51:55 -05:00 | | | | #define JSONPBL_MAKESTRING(RAW, I, LEN, STR) TSN::CBSFLUnescape::MakeString<JSONPBL_UET_JSCLASS>(RAW, (I), (LEN), STR)
|
| | | | #define JSONPBL_MAKEHASH(RAW, I, LEN, HASH) TSN::CBSFLUnescape::MakeHash<JSONPBL_UET_JSCLASS>(RAW, (I), (LEN), HASH)
|
| | | | #define JSONPBL_MAKEUARR(RAW, I, LEN, UARRAY, POS, SURRO) TSN::CBSFLUnescape::MakeUArray<JSONPBL_UET_JSCLASS, SURRO>(RAW, (I), (LEN), UARRAY, POS)
|
2026-10-27 10:45:17 -05:00 | | | |
|
| | | | //---
|
| | | | #define JSONPBL_UET_ESCAPE_GET(POS) TSN::JsonUET::s_escape_table[POS];
|
| | | |
|
| | | | //---
|
| | | | }
|
| | | | //+------------------------------------------------------------------+
|
| | | | #endif // JSONPARSERBYLEO_SRC_JSONCORE_JSONUET_MQH
|