forked from nique_372/BasesParserSLan
550 lines
22 KiB
MQL4
550 lines
22 KiB
MQL4
//+------------------------------------------------------------------+
|
|
//| AsmDef.mqh |
|
|
//| Copyright 2026, Niquel Mendoza. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2026, Niquel Mendoza."
|
|
#property link "https://www.mql5.com"
|
|
#property strict
|
|
|
|
#ifndef BASESPARSERSLAN_SRC_QUERY_ASMDEF_MQH
|
|
#define BASESPARSERSLAN_SRC_QUERY_ASMDEF_MQH
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
//--- 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
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
#include "Def.mqh"
|
|
#include <TSN\\Tables\\Main.mqh>
|
|
#include <TSN\\Tables\\Swar.mqh>
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
namespace TSN
|
|
{
|
|
|
|
|
|
//----
|
|
#define ASMPARSER_MAX_VAL_OPS (5)
|
|
|
|
//---
|
|
struct OpCodeTable
|
|
{
|
|
const int len;
|
|
const uint ops[ASMPARSER_MAX_VAL_OPS];
|
|
const long mask;
|
|
const int bit_start;
|
|
};
|
|
|
|
|
|
//---
|
|
#define ASM_PARSER_TOKF_REGISTER 1
|
|
#define ASM_PARSER_TOKF_NUMBER 2
|
|
#define ASM_PARSER_TOKF_TRUE 4
|
|
#define ASM_PARSER_TOKF_FALSE 8
|
|
#define ASM_PARSER_TOKF_STR 16
|
|
#define ASM_PARSER_TOKF_S_STR 32
|
|
#define ASM_PARSER_TOKF_EQ 64
|
|
#define ASM_PARSER_TOKF_STR_HASH 128
|
|
#define ASM_PARSER_TOKF_PARSE_KEY_HASH 256
|
|
#define ASM_PARSER_TOKF_COMMENT 512
|
|
#define ASM_PARSER_TOKF_PARSE_INS 1024
|
|
#define ASM_PARSER_TOKF_PARSE_END 2048
|
|
#define ASM_PARSER_TOKF_PARSE_JUMP_S 4096
|
|
|
|
|
|
//---
|
|
#define ASM_PARSER_ALL_VALID_NORMAL (ASM_PARSER_TOKF_PARSE_JUMP_S|ASM_PARSER_TOKF_REGISTER|ASM_PARSER_TOKF_COMMENT|ASM_PARSER_TOKF_PARSE_INS)
|
|
|
|
//---
|
|
#define ASM_PARSER_TOK_ALLSTR (ASM_PARSER_TOKF_S_STR | ASM_PARSER_TOKF_STR)
|
|
|
|
/*
|
|
ASM_PARSER_TOK_MAKE_REG, // hacer un regriso luedo inicarlo...
|
|
ASM_PARSER_TOK_PARSE_INS, // instruccion #MUL
|
|
ASM_PARSER_TOK_PARSE_END, // Delegar a especifica
|
|
ASM_PARSER_TOK_PARSE_JUMP_S, // Jump start
|
|
ASM_PARSER_TOK_INVALID
|
|
*/
|
|
|
|
const OpCodeTable g_dompath_op_codes[] =
|
|
{
|
|
//--- base
|
|
{
|
|
3,
|
|
{ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_PARSE_KEY_HASH, DOMPATH_QUERY_INS_TYPE_ACCESO_KEY},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b
|
|
},
|
|
{2, {ASM_PARSER_TOKF_PARSE_KEY_HASH, DOMPATH_QUERY_INS_TYPE_ACCESO_KEY_F}}, // sin jump (F = fatal, return false)
|
|
{
|
|
3,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_ACCESO_IDX},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_INS_ACCESO_INDEX_JUMP_BIT_S, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_INS_ACCESO_INDEX_JUMP_BIT_S, // jump: slot0 bit36, 28b
|
|
},
|
|
{2, {ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_ACCESO_IDX_F}}, // sin jump (F = fatal, return false)
|
|
{2, {ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_INICIAR_ITERACION}}, // sin jump
|
|
{
|
|
2,
|
|
{ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_ITER_ASSING},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_ITER_MASK_JUMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b
|
|
},
|
|
{
|
|
2,
|
|
{ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_PARSE_KEY_HASH, DOMPATH_QUERY_INS_TYPE_EXIST},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b
|
|
},
|
|
{
|
|
3,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_SAVE},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_SAVEPTR_JUMP_BIT_START, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_SAVEPTR_JUMP_BIT_START, // jump: slot0 bit36, 28b
|
|
},
|
|
{
|
|
3,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_SAVE_NO_RESET},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_SAVEPTR_JUMP_BIT_START, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_SAVEPTR_JUMP_BIT_START, // jump: slot0 bit36, 28b
|
|
},
|
|
|
|
//--- math all base (jump de error vive en el SLOT 2, no en el slot 0: [type|B|C][A|jump])
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_MUL},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_RES},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_DIV},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_SUM},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_MOD},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_BIT_OR},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_BIT_AND},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_BIT_XOR},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_BIT_DEZ_IZQ},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_M_BIT_DEZ_DRC},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_MATHERR, // jump: slot1 bit28, 28b
|
|
},
|
|
|
|
//-- unary (jump de error vive en el SLOT 0: [type|B|jump][A])
|
|
{
|
|
4,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_M_BIT_NOT},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_UNARY_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_UNARY_MATHERR, // jump: slot0 bit36, 28b
|
|
},
|
|
{
|
|
4,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_M_UNARY_NOT},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_UNARY_MATHERR, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_UNARY_MATHERR, // jump: slot0 bit36, 28b
|
|
},
|
|
|
|
//-- cmp (jump vive en el SLOT 2: [type|B|C][expected|jump], se lee tras m_ip++)
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_COMPARE_EQ},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, TSN_DOMPATH_BIT_INS_JUMP_MASK_CMP), TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, // jump: slot1 bit2, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_COMPARE_MENOR},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, TSN_DOMPATH_BIT_INS_JUMP_MASK_CMP), TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, // jump: slot1 bit2, 28b
|
|
},
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_COMPARE_MENOR_EQ},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, TSN_DOMPATH_BIT_INS_JUMP_MASK_CMP), TSN_DOMPATH_BIT_INS_JUMP_START_CMPFALSE, // jump: slot1 bit2, 28b
|
|
},
|
|
|
|
//-- (jump vive en el SLOT 1: [type|k|jump][1=esperado])
|
|
{
|
|
4,
|
|
{ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_COMPARE_IS},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_JUMP_START_CMPIS_FALSE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_JUMP_START_CMPIS_FALSE, // jump: slot0 bit36, 28b
|
|
},
|
|
|
|
//--
|
|
{4, {ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_CALL}}, // sin jump
|
|
|
|
//--
|
|
{1, {DOMPATH_QUERY_INS_TYPE_RESERVE}}, // sin jump
|
|
{
|
|
5,
|
|
{ASM_PARSER_TOKF_STR_HASH, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, ASM_PARSER_TOKF_NUMBER, DOMPATH_QUERY_INS_TYPE_SLICING},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b
|
|
},
|
|
{
|
|
2,
|
|
{ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_JUMP},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b (jump incondicional)
|
|
},
|
|
{
|
|
2,
|
|
{ASM_PARSER_TOKF_STR_HASH, DOMPATH_QUERY_INS_TYPE_COPY_ALL},
|
|
TSN_DOMPATH_CREATE_MASK(TSN_DOMPATH_BIT_INS_ETYPE, TSN_DOMPATH_INS_MASK_INDEX_JMP), TSN_DOMPATH_BIT_INS_ETYPE, // jump: slot0 bit8, 28b
|
|
},
|
|
{1, {DOMPATH_QUERY_INS_TYPE_APPEND}}, // sin jump
|
|
{1, {DOMPATH_QUERY_INS_TYPE_SALIDA}}, // sin jump
|
|
};
|
|
|
|
//---
|
|
#define DOMPATH_QUERY_INS_TYPE_REG (DOMPATH_QUERY_INS_TYPE_SALIDA+1)
|
|
|
|
//---
|
|
enum ENUM_ASM_DOMPATH_PARSER_ERR
|
|
{
|
|
ASM_DOMPATH_PARSER_ERR_MALFORMERD_ASM,
|
|
ASM_DOMPATH_PARSER_ERR_INVALID_INSTRUCTION,
|
|
ASM_DOMPATH_PARSER_ERR_INVALID_TOKEN,
|
|
ASM_DOMPATH_PARSER_ERR_JUMP_NOT_CLOSED,
|
|
ASM_DOMPATH_PARSER_ERR_INVALID_CASE_INS,
|
|
ASM_DOMPATH_PARSER_ERR_STRING_NOT_CLOSED,
|
|
ASM_DOMPATH_PARSER_ERR_INVALID_JUMP_KEY,
|
|
ASM_DOMPATH_PARSER_ERR_STR_HASH_NOT_CLOSED,
|
|
ASM_DOMPATH_PARSER_ERR_NOT,
|
|
ASM_DOMPATH_PARSER_ERR_MALFORMERD_ASM_CTX_GEN,
|
|
ASM_DOMPATH_PARSER_ERR_FUNCTION_NOT_EXIST,
|
|
ASM_DOMPATH_PARSER_ERR_COMENTARIO_NO_CERRO_Y_AUN_QUEDA_ALGO,
|
|
ASM_DOMPATH_PARSER_ERR_INVALID_FILE_EXTENSION,
|
|
};
|
|
|
|
//--- Tokens
|
|
enum ENUM_DOMPATH_ASM_PARSER_TOKENS
|
|
{
|
|
ASM_PARSER_TOK_REGISTER = 0, // %reg y algo
|
|
ASM_PARSER_TOK_NUMBER, // mismo que integer
|
|
ASM_PARSER_TOK_TRUE,
|
|
ASM_PARSER_TOK_FALSE,
|
|
ASM_PARSER_TOK_STRING,
|
|
ASM_PARSER_TOK_S_STRING,
|
|
ASM_PARSER_TOK_EQ,
|
|
ASM_PARSER_TOK_STR_HASH,
|
|
ASM_PARSER_TOK_PARSE_KEY_HASH,
|
|
ASM_PARSER_TOK_COMMENT,
|
|
ASM_PARSER_TOK_PARSE_INS, // instruccion #MUL
|
|
ASM_PARSER_TOK_PARSE_END, // Delegar a especifica
|
|
ASM_PARSER_TOK_PARSE_JUMP_S, // Jump start
|
|
ASM_PARSER_TOK_INVALID
|
|
};
|
|
|
|
//---- Palabra -> Token
|
|
// %=ASM_PARSER_TOK_REGISTER
|
|
// integer=se genera soo
|
|
// number= (0-9) inlcuye al signo '-'
|
|
// true= T\t (inicial)
|
|
// false= f\F
|
|
// string=S ()
|
|
// string_s="
|
|
// eq= '='
|
|
// keyhash (se geenra solo)
|
|
// coment ; o #
|
|
// makereg (Se genera oslo)
|
|
// parse ins = I
|
|
// parse end = se genera solo
|
|
// jump = @
|
|
// invlaid (cualquier no mencionada..)
|
|
|
|
const uchar g_dompath_asm_toks[256] =
|
|
{
|
|
ASM_PARSER_TOK_INVALID, // 0 0x00
|
|
ASM_PARSER_TOK_INVALID, // 1 0x01
|
|
ASM_PARSER_TOK_INVALID, // 2 0x02
|
|
ASM_PARSER_TOK_INVALID, // 3 0x03
|
|
ASM_PARSER_TOK_INVALID, // 4 0x04
|
|
ASM_PARSER_TOK_INVALID, // 5 0x05
|
|
ASM_PARSER_TOK_INVALID, // 6 0x06
|
|
ASM_PARSER_TOK_INVALID, // 7 0x07
|
|
ASM_PARSER_TOK_INVALID, // 8 0x08
|
|
ASM_PARSER_TOK_INVALID, // 9 0x09
|
|
ASM_PARSER_TOK_INVALID, // 10 0x0A
|
|
ASM_PARSER_TOK_INVALID, // 11 0x0B
|
|
ASM_PARSER_TOK_INVALID, // 12 0x0C
|
|
ASM_PARSER_TOK_INVALID, // 13 0x0D
|
|
ASM_PARSER_TOK_INVALID, // 14 0x0E
|
|
ASM_PARSER_TOK_INVALID, // 15 0x0F
|
|
ASM_PARSER_TOK_INVALID, // 16 0x10
|
|
ASM_PARSER_TOK_INVALID, // 17 0x11
|
|
ASM_PARSER_TOK_INVALID, // 18 0x12
|
|
ASM_PARSER_TOK_INVALID, // 19 0x13
|
|
ASM_PARSER_TOK_INVALID, // 20 0x14
|
|
ASM_PARSER_TOK_INVALID, // 21 0x15
|
|
ASM_PARSER_TOK_INVALID, // 22 0x16
|
|
ASM_PARSER_TOK_INVALID, // 23 0x17
|
|
ASM_PARSER_TOK_INVALID, // 24 0x18
|
|
ASM_PARSER_TOK_INVALID, // 25 0x19
|
|
ASM_PARSER_TOK_INVALID, // 26 0x1A
|
|
ASM_PARSER_TOK_INVALID, // 27 0x1B
|
|
ASM_PARSER_TOK_INVALID, // 28 0x1C
|
|
ASM_PARSER_TOK_INVALID, // 29 0x1D
|
|
ASM_PARSER_TOK_INVALID, // 30 0x1E
|
|
ASM_PARSER_TOK_INVALID, // 31 0x1F
|
|
ASM_PARSER_TOK_INVALID, // 32 0x20 (espacio, se salta antes de indexar)
|
|
ASM_PARSER_TOK_INVALID, // 33 '!'
|
|
ASM_PARSER_TOK_S_STRING, // 34 '"'
|
|
ASM_PARSER_TOK_COMMENT, // 35 '#'
|
|
ASM_PARSER_TOK_INVALID, // 36 '$'
|
|
ASM_PARSER_TOK_REGISTER, // 37 '%'
|
|
ASM_PARSER_TOK_INVALID, // 38 '&'
|
|
ASM_PARSER_TOK_STR_HASH, // 39 '\''
|
|
ASM_PARSER_TOK_INVALID, // 40 '('
|
|
ASM_PARSER_TOK_INVALID, // 41 ')'
|
|
ASM_PARSER_TOK_STR_HASH, // 42 '*'
|
|
ASM_PARSER_TOK_INVALID, // 43 '+'
|
|
ASM_PARSER_TOK_INVALID, // 44 ','
|
|
ASM_PARSER_TOK_NUMBER, // 45 '-'
|
|
ASM_PARSER_TOK_INVALID, // 46 '.'
|
|
ASM_PARSER_TOK_INVALID, // 47 '/'
|
|
ASM_PARSER_TOK_NUMBER, // 48 '0'
|
|
ASM_PARSER_TOK_NUMBER, // 49 '1'
|
|
ASM_PARSER_TOK_NUMBER, // 50 '2'
|
|
ASM_PARSER_TOK_NUMBER, // 51 '3'
|
|
ASM_PARSER_TOK_NUMBER, // 52 '4'
|
|
ASM_PARSER_TOK_NUMBER, // 53 '5'
|
|
ASM_PARSER_TOK_NUMBER, // 54 '6'
|
|
ASM_PARSER_TOK_NUMBER, // 55 '7'
|
|
ASM_PARSER_TOK_NUMBER, // 56 '8'
|
|
ASM_PARSER_TOK_NUMBER, // 57 '9'
|
|
ASM_PARSER_TOK_INVALID, // 58 ':'
|
|
ASM_PARSER_TOK_COMMENT, // 59 ';'
|
|
ASM_PARSER_TOK_INVALID, // 60 '<'
|
|
ASM_PARSER_TOK_EQ, // 61 '='
|
|
ASM_PARSER_TOK_INVALID, // 62 '>'
|
|
ASM_PARSER_TOK_INVALID, // 63 '?'
|
|
ASM_PARSER_TOK_PARSE_JUMP_S, // 64 '@'
|
|
ASM_PARSER_TOK_INVALID, // 65 'A'
|
|
ASM_PARSER_TOK_INVALID, // 66 'B'
|
|
ASM_PARSER_TOK_INVALID, // 67 'C'
|
|
ASM_PARSER_TOK_INVALID, // 68 'D'
|
|
ASM_PARSER_TOK_INVALID, // 69 'E'
|
|
ASM_PARSER_TOK_FALSE, // 70 'F'
|
|
ASM_PARSER_TOK_INVALID, // 71 'G'
|
|
ASM_PARSER_TOK_INVALID, // 72 'H'
|
|
ASM_PARSER_TOK_PARSE_INS, // 73 'I' (todas las instrucciones empiezan con INS_*)
|
|
ASM_PARSER_TOK_INVALID, // 74 'J'
|
|
ASM_PARSER_TOK_PARSE_KEY_HASH, // 75 'K'
|
|
ASM_PARSER_TOK_INVALID, // 76 'L'
|
|
ASM_PARSER_TOK_INVALID, // 77 'M'
|
|
ASM_PARSER_TOK_INVALID, // 78 'N'
|
|
ASM_PARSER_TOK_INVALID, // 79 'O'
|
|
ASM_PARSER_TOK_INVALID, // 80 'P'
|
|
ASM_PARSER_TOK_INVALID, // 81 'Q'
|
|
ASM_PARSER_TOK_INVALID, // 82 'R'
|
|
ASM_PARSER_TOK_STRING, // 83 'S'
|
|
ASM_PARSER_TOK_TRUE, // 84 'T'
|
|
ASM_PARSER_TOK_INVALID, // 85 'U'
|
|
ASM_PARSER_TOK_INVALID, // 86 'V'
|
|
ASM_PARSER_TOK_INVALID, // 87 'W'
|
|
ASM_PARSER_TOK_INVALID, // 88 'X'
|
|
ASM_PARSER_TOK_INVALID, // 89 'Y'
|
|
ASM_PARSER_TOK_INVALID, // 90 'Z'
|
|
ASM_PARSER_TOK_INVALID, // 91 '['
|
|
ASM_PARSER_TOK_INVALID, // 92 '\\'
|
|
ASM_PARSER_TOK_INVALID, // 93 ']'
|
|
ASM_PARSER_TOK_INVALID, // 94 '^'
|
|
ASM_PARSER_TOK_INVALID, // 95 '_'
|
|
ASM_PARSER_TOK_INVALID, // 96 '`'
|
|
ASM_PARSER_TOK_INVALID, // 97 'a'
|
|
ASM_PARSER_TOK_INVALID, // 98 'b'
|
|
ASM_PARSER_TOK_INVALID, // 99 'c'
|
|
ASM_PARSER_TOK_INVALID, // 100 'd'
|
|
ASM_PARSER_TOK_INVALID, // 101 'e'
|
|
ASM_PARSER_TOK_FALSE, // 102 'f'
|
|
ASM_PARSER_TOK_INVALID, // 103 'g'
|
|
ASM_PARSER_TOK_INVALID, // 104 'h'
|
|
ASM_PARSER_TOK_INVALID, // 105 'i'
|
|
ASM_PARSER_TOK_INVALID, // 106 'j'
|
|
ASM_PARSER_TOK_INVALID, // 107 'k'
|
|
ASM_PARSER_TOK_INVALID, // 108 'l'
|
|
ASM_PARSER_TOK_INVALID, // 109 'm'
|
|
ASM_PARSER_TOK_INVALID, // 110 'n'
|
|
ASM_PARSER_TOK_INVALID, // 111 'o'
|
|
ASM_PARSER_TOK_INVALID, // 112 'p'
|
|
ASM_PARSER_TOK_INVALID, // 113 'q'
|
|
ASM_PARSER_TOK_INVALID, // 114 'r'
|
|
ASM_PARSER_TOK_INVALID, // 115 's'
|
|
ASM_PARSER_TOK_TRUE, // 116 't'
|
|
ASM_PARSER_TOK_INVALID, // 117 'u'
|
|
ASM_PARSER_TOK_INVALID, // 118 'v'
|
|
ASM_PARSER_TOK_INVALID, // 119 'w'
|
|
ASM_PARSER_TOK_INVALID, // 120 'x'
|
|
ASM_PARSER_TOK_INVALID, // 121 'y'
|
|
ASM_PARSER_TOK_INVALID, // 122 'z'
|
|
ASM_PARSER_TOK_INVALID, // 123 '{'
|
|
ASM_PARSER_TOK_INVALID, // 124 '|'
|
|
ASM_PARSER_TOK_INVALID, // 125 '}'
|
|
ASM_PARSER_TOK_INVALID, // 126 '~'
|
|
ASM_PARSER_TOK_INVALID, // 127 0x7F
|
|
ASM_PARSER_TOK_INVALID, // 128 0x80
|
|
ASM_PARSER_TOK_INVALID, // 129 0x81
|
|
ASM_PARSER_TOK_INVALID, // 130 0x82
|
|
ASM_PARSER_TOK_INVALID, // 131 0x83
|
|
ASM_PARSER_TOK_INVALID, // 132 0x84
|
|
ASM_PARSER_TOK_INVALID, // 133 0x85
|
|
ASM_PARSER_TOK_INVALID, // 134 0x86
|
|
ASM_PARSER_TOK_INVALID, // 135 0x87
|
|
ASM_PARSER_TOK_INVALID, // 136 0x88
|
|
ASM_PARSER_TOK_INVALID, // 137 0x89
|
|
ASM_PARSER_TOK_INVALID, // 138 0x8A
|
|
ASM_PARSER_TOK_INVALID, // 139 0x8B
|
|
ASM_PARSER_TOK_INVALID, // 140 0x8C
|
|
ASM_PARSER_TOK_INVALID, // 141 0x8D
|
|
ASM_PARSER_TOK_INVALID, // 142 0x8E
|
|
ASM_PARSER_TOK_INVALID, // 143 0x8F
|
|
ASM_PARSER_TOK_INVALID, // 144 0x90
|
|
ASM_PARSER_TOK_INVALID, // 145 0x91
|
|
ASM_PARSER_TOK_INVALID, // 146 0x92
|
|
ASM_PARSER_TOK_INVALID, // 147 0x93
|
|
ASM_PARSER_TOK_INVALID, // 148 0x94
|
|
ASM_PARSER_TOK_INVALID, // 149 0x95
|
|
ASM_PARSER_TOK_INVALID, // 150 0x96
|
|
ASM_PARSER_TOK_INVALID, // 151 0x97
|
|
ASM_PARSER_TOK_INVALID, // 152 0x98
|
|
ASM_PARSER_TOK_INVALID, // 153 0x99
|
|
ASM_PARSER_TOK_INVALID, // 154 0x9A
|
|
ASM_PARSER_TOK_INVALID, // 155 0x9B
|
|
ASM_PARSER_TOK_INVALID, // 156 0x9C
|
|
ASM_PARSER_TOK_INVALID, // 157 0x9D
|
|
ASM_PARSER_TOK_INVALID, // 158 0x9E
|
|
ASM_PARSER_TOK_INVALID, // 159 0x9F
|
|
ASM_PARSER_TOK_INVALID, // 160 0xA0
|
|
ASM_PARSER_TOK_INVALID, // 161 0xA1
|
|
ASM_PARSER_TOK_INVALID, // 162 0xA2
|
|
ASM_PARSER_TOK_INVALID, // 163 0xA3
|
|
ASM_PARSER_TOK_INVALID, // 164 0xA4
|
|
ASM_PARSER_TOK_INVALID, // 165 0xA5
|
|
ASM_PARSER_TOK_INVALID, // 166 0xA6
|
|
ASM_PARSER_TOK_INVALID, // 167 0xA7
|
|
ASM_PARSER_TOK_INVALID, // 168 0xA8
|
|
ASM_PARSER_TOK_INVALID, // 169 0xA9
|
|
ASM_PARSER_TOK_INVALID, // 170 0xAA
|
|
ASM_PARSER_TOK_INVALID, // 171 0xAB
|
|
ASM_PARSER_TOK_INVALID, // 172 0xAC
|
|
ASM_PARSER_TOK_INVALID, // 173 0xAD
|
|
ASM_PARSER_TOK_INVALID, // 174 0xAE
|
|
ASM_PARSER_TOK_INVALID, // 175 0xAF
|
|
ASM_PARSER_TOK_INVALID, // 176 0xB0
|
|
ASM_PARSER_TOK_INVALID, // 177 0xB1
|
|
ASM_PARSER_TOK_INVALID, // 178 0xB2
|
|
ASM_PARSER_TOK_INVALID, // 179 0xB3
|
|
ASM_PARSER_TOK_INVALID, // 180 0xB4
|
|
ASM_PARSER_TOK_INVALID, // 181 0xB5
|
|
ASM_PARSER_TOK_INVALID, // 182 0xB6
|
|
ASM_PARSER_TOK_INVALID, // 183 0xB7
|
|
ASM_PARSER_TOK_INVALID, // 184 0xB8
|
|
ASM_PARSER_TOK_INVALID, // 185 0xB9
|
|
ASM_PARSER_TOK_INVALID, // 186 0xBA
|
|
ASM_PARSER_TOK_INVALID, // 187 0xBB
|
|
ASM_PARSER_TOK_INVALID, // 188 0xBC
|
|
ASM_PARSER_TOK_INVALID, // 189 0xBD
|
|
ASM_PARSER_TOK_INVALID, // 190 0xBE
|
|
ASM_PARSER_TOK_INVALID, // 191 0xBF
|
|
ASM_PARSER_TOK_INVALID, // 192 0xC0
|
|
ASM_PARSER_TOK_INVALID, // 193 0xC1
|
|
ASM_PARSER_TOK_INVALID, // 194 0xC2
|
|
ASM_PARSER_TOK_INVALID, // 195 0xC3
|
|
ASM_PARSER_TOK_INVALID, // 196 0xC4
|
|
ASM_PARSER_TOK_INVALID, // 197 0xC5
|
|
ASM_PARSER_TOK_INVALID, // 198 0xC6
|
|
ASM_PARSER_TOK_INVALID, // 199 0xC7
|
|
ASM_PARSER_TOK_INVALID, // 200 0xC8
|
|
ASM_PARSER_TOK_INVALID, // 201 0xC9
|
|
ASM_PARSER_TOK_INVALID, // 202 0xCA
|
|
ASM_PARSER_TOK_INVALID, // 203 0xCB
|
|
ASM_PARSER_TOK_INVALID, // 204 0xCC
|
|
ASM_PARSER_TOK_INVALID, // 205 0xCD
|
|
ASM_PARSER_TOK_INVALID, // 206 0xCE
|
|
ASM_PARSER_TOK_INVALID, // 207 0xCF
|
|
ASM_PARSER_TOK_INVALID, // 208 0xD0
|
|
ASM_PARSER_TOK_INVALID, // 209 0xD1
|
|
ASM_PARSER_TOK_INVALID, // 210 0xD2
|
|
ASM_PARSER_TOK_INVALID, // 211 0xD3
|
|
ASM_PARSER_TOK_INVALID, // 212 0xD4
|
|
ASM_PARSER_TOK_INVALID, // 213 0xD5
|
|
ASM_PARSER_TOK_INVALID, // 214 0xD6
|
|
ASM_PARSER_TOK_INVALID, // 215 0xD7
|
|
ASM_PARSER_TOK_INVALID, // 216 0xD8
|
|
ASM_PARSER_TOK_INVALID, // 217 0xD9
|
|
ASM_PARSER_TOK_INVALID, // 218 0xDA
|
|
ASM_PARSER_TOK_INVALID, // 219 0xDB
|
|
ASM_PARSER_TOK_INVALID, // 220 0xDC
|
|
ASM_PARSER_TOK_INVALID, // 221 0xDD
|
|
ASM_PARSER_TOK_INVALID, // 222 0xDE
|
|
ASM_PARSER_TOK_INVALID, // 223 0xDF
|
|
ASM_PARSER_TOK_INVALID, // 224 0xE0
|
|
ASM_PARSER_TOK_INVALID, // 225 0xE1
|
|
ASM_PARSER_TOK_INVALID, // 226 0xE2
|
|
ASM_PARSER_TOK_INVALID, // 227 0xE3
|
|
ASM_PARSER_TOK_INVALID, // 228 0xE4
|
|
ASM_PARSER_TOK_INVALID, // 229 0xE5
|
|
ASM_PARSER_TOK_INVALID, // 230 0xE6
|
|
ASM_PARSER_TOK_INVALID, // 231 0xE7
|
|
ASM_PARSER_TOK_INVALID, // 232 0xE8
|
|
ASM_PARSER_TOK_INVALID, // 233 0xE9
|
|
ASM_PARSER_TOK_INVALID, // 234 0xEA
|
|
ASM_PARSER_TOK_INVALID, // 235 0xEB
|
|
ASM_PARSER_TOK_INVALID, // 236 0xEC
|
|
ASM_PARSER_TOK_INVALID, // 237 0xED
|
|
ASM_PARSER_TOK_INVALID, // 238 0xEE
|
|
ASM_PARSER_TOK_INVALID, // 239 0xEF
|
|
ASM_PARSER_TOK_INVALID, // 240 0xF0
|
|
ASM_PARSER_TOK_INVALID, // 241 0xF1
|
|
ASM_PARSER_TOK_INVALID, // 242 0xF2
|
|
ASM_PARSER_TOK_INVALID, // 243 0xF3
|
|
ASM_PARSER_TOK_INVALID, // 244 0xF4
|
|
ASM_PARSER_TOK_INVALID, // 245 0xF5
|
|
ASM_PARSER_TOK_INVALID, // 246 0xF6
|
|
ASM_PARSER_TOK_INVALID, // 247 0xF7
|
|
ASM_PARSER_TOK_INVALID, // 248 0xF8
|
|
ASM_PARSER_TOK_INVALID, // 249 0xF9
|
|
ASM_PARSER_TOK_INVALID, // 250 0xFA
|
|
ASM_PARSER_TOK_INVALID, // 251 0xFB
|
|
ASM_PARSER_TOK_INVALID, // 252 0xFC
|
|
ASM_PARSER_TOK_INVALID, // 253 0xFD
|
|
ASM_PARSER_TOK_INVALID, // 254 0xFE
|
|
ASM_PARSER_TOK_INVALID, // 255 0xFF
|
|
};
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
#endif // BASESPARSERSLAN_SRC_QUERY_ASMDEF_MQH
|