private List <NovelInstruction> ParseAssignment(string text)
        {
            //Splitting the text by assignment operator
            var textByAssignOp = text.Split('=');

            //Getting the left value
            var leftValue = textByAssignOp[0].Trim();

            //Check if variable is declared
            bool containsDeclaration = false;

            //If contains the var to declare variable
            if (leftValue.IndexOf("var ") == 0 || leftValue.IndexOf("var\t") == 0)
            {
                leftValue           = leftValue.Substring(3).Trim();
                containsDeclaration = true;
            }

            //Validate the name of variable
            if (!ValidateName(leftValue))
            {
                throw new NovelException("Invalid variable name " + leftValue + ".", ParsedFile, ParsedLine);
            }

            //If contains declaration
            if (containsDeclaration)
            {
                if (Variables.ContainsVariable(leftValue))
                {
                    throw new NovelException("Variable " + leftValue + " already exists.", ParsedFile, ParsedLine);
                }
                else
                {
                    Variables.AddVaraible(leftValue);
                }
            }
            //if does not contains declaration
            else
            {
                if (!Variables.ContainsVariable(leftValue))
                {
                    throw new NovelException("Variable " + leftValue + " does not exists in this scope.", ParsedFile, ParsedLine);
                }
            }

            //Getting the rvalue (right side)
            //var rightValue = StringUtils.RemoveSpaces(textByAssignOp[1]).Trim();
            var rightValue = textByAssignOp[1].Trim();

            var expressionString = leftValue + "=" + rightValue;
            var instructions     = ParseExpression(expressionString);

            instructions.Insert(0, new NovelExpandStack(1));
            return(instructions);
        }