//+------------------------------------------------------------------+ //| Defines.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com/es/users/nique_372 | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com/es/users/nique_372" #property strict #ifndef EXPRESSEVALBYLEO_SRC_BOOLEAN_EVAL_DEFINES_MQH #define EXPRESSEVALBYLEO_SRC_BOOLEAN_EVAL_DEFINES_MQH //+------------------------------------------------------------------+ //| Include | //+------------------------------------------------------------------+ #include "..\\Common\\GenericParser.mqh" //+------------------------------------------------------------------+ //| Defines \ Enums | //+------------------------------------------------------------------+ enum ENUM_AST_BOOLEAN_OPS_TOKEN_TYPE { BOOLEAN_OPS_TOKEN_TYPE_OPERADOR_BOLEANO = 0, BOOLEAN_OPS_TOKEN_TYPE_OPERADOR_LOGICO, // and\xor\etc.. BOOLEAN_OPS_TOKEN_TYPE_PARA_INI = 1, BOOLEAN_OPS_TOKEN_TYPE_PARA_END = 2, BOOLEAN_OPS_TOKEN_TYPE_VALUE_NUMBER = 3, BOOLEAN_OPS_TOKEN_TYPE_VALUE_STRING = 4, BOOLEAN_OPS_TOKEN_TYPE_VALUE_BUILD_IN_FUNCTION_CALL = 5, BOOLEAN_OPS_TOKEN_TYPE_VALUE_VARIABLE = 6, BOOLEAN_OPS_TOKEN_TYPE_VALUE_CUSTOM_FUNCTION_CALL = 7, BOOLEAN_OPS_TOKEN_TYPE_VALUE_MATH_OPERATION = 8, BOOLEAN_OPS_TOKEN_TYPE_VALUE_BOOLEAN = 9 }; //--- Tipos de operadores #define ENUM_AST_LOGIC_OPERATOR_TOTAL (6) enum ENUM_AST_LOGIC_OPERATOR { AST_LOGIC_OPERATOR_AND, // oAnd AST_LOGIC_OPERATOR_OR, // oOr AST_LOGIC_OPERATOR_XOR, // oXor AST_LOGIC_OPERATOR_NAND, // oNand AST_LOGIC_OPERATOR_NOR, // oNor AST_LOGIC_OPERATOR_XNOR // oXnor }; // Len a saltar const int g_arr_ast_logic_op_len_for_parser[ENUM_AST_LOGIC_OPERATOR_TOTAL] { 2, 1, 2, 3, 2, 3 }; //---Tipos de operaciones enum ENUM_AST_BOOLEAN_OP_TYPE { BOOLEAN_OP_TYPE_MAYOR=0, BOOLEAN_OP_TYPE_MENOR, BOOLEAN_OP_TYPE_MENOR_IGUAL, BOOLEAN_OP_TYPE_MAYOR_IGUAL, BOOLEAN_OP_TYPE_NO_IGUAL, BOOLEAN_OP_TYPE_IGUAL }; //--- Token struct para operacion booleana struct TokenOpsBoolean { string vs; // string value BitInterpreter v; // valor numerico int type; // Tipo }; //--- Codigo de error enum ENUM_OPS_TOKENIZER_BOOLEAN_ERR { OPS_TOKENIZER_BOOLEAN_ERR_OP_IGUAL_MAL_FORMADO=0, OPS_TOKENIZER_BOOLEAN_ERR_OP_LOGICO_X_MAL_FORMADO, OPS_TOKENIZER_BOOLEAN_ERR_OP_LOGICO_N_MAL_FORMADO, OPS_TOKENIZER_BOOLEAN_ERR_CARACTER_INVALIDO, OPS_TOKENIZER_BOOLEAN_ERR_OP_NO_IGUAL_MAL_FORMADO }; //+------------------------------------------------------------------+ #endif // EXPRESSEVALBYLEO_SRC_BOOLEAN_EVAL_DEFINES_MQH