Beispiel #1
0
        /// <summary>
        /// Добавляет присвоение переменной в код.
        /// </summary>
        /// <param name="variableName">Имя переменной.</param>
        /// <param name="variableExpression">Присваеваемое выражение.</param>
        public void AddVariableAssignment(string variableName, TokenList variableExpression, bool isGlobal)
        {
            bool   isReassignment = variables.Contains(variableName);
            string prefix         = (!isReassignment && !isGlobal) ? "var " : "";
            string operationCode  = $"{prefix}{variableName} = {variableExpression};";

            if (!isReassignment)
            {
                variables.Add(variableName);
            }

            if (isGlobal)
            {
                Compilator.AddVariable(variableName);
            }

            code.Add(TransformOperationCode(operationCode));
        }