/// <summary>
        ///		Ejecuta una sentencia de declaración
        /// </summary>
        private async Task ExecuteDeclareAsync(SentenceDeclare sentence, CancellationToken cancellationToken)
        {
            VariableModel variable = new VariableModel(sentence.Variable.Name, ConvertSymbolType(sentence.Variable.Type));

            // Si es un tipo conocido, añade la variable al contexto
            if (variable.Type == VariableModel.VariableType.Unknown)
            {
                AddError($"Unknown variable type: {sentence.Variable.Name} - {sentence.Variable.Type}");
            }
            else
            {
                // Ejecuta la expresión
                if (sentence.Expressions.Count != 0)
                {
                    variable.Value = (await ExecuteExpressionAsync(sentence.Expressions, cancellationToken)).Value;
                }
                else
                {
                    variable.AssignDefault();
                }
                // Si no hay errores, añade la variable a la colección
                if (!Stopped)
                {
                    // Ejecuta la sentencia
                    Context.Actual.VariablesTable.Add(variable);
                    // Debug
                    AddDebug($"Declare {sentence.Variable.Name} = " + variable.GetStringValue());
                }
            }
        }