/// <summary>
        /// Return parsed formula nodes without RPN
        /// </summary>
        public List <BaseFormulaNode> ParseWithoutRpn(ReadOnlySpan <char> formula)
        {
            var negativeBracketCounters = new BracketCounters();
            var nodes = new List <BaseFormulaNode>();

            for (int i = 0; i < formula.Length; i++)
            {
                var ch = formula[i];

                if (ch.IsWhiteSpace())
                {
                    continue;
                }

                if (FunctionCharReader.TryProceedFunctionChar(nodes, ch))
                {
                    continue;
                }

                if (BracketReader.TryProceedOpenBracket(nodes, formula, negativeBracketCounters, ref i))
                {
                    continue;
                }

                if (BracketReader.TryProceedCloseBracket(nodes, formula, negativeBracketCounters, ref i))
                {
                    continue;
                }

                if (VariableReader.TryProceedBorderedVariable(nodes, formula, ref i))
                {
                    continue;
                }

                if (NumberReader.TryProceedNumber(nodes, formula, ref i))
                {
                    continue;
                }

                if (FunctionsReader.TryProceedFunction(nodes, formula, ref i))
                {
                    continue;
                }

                if (VariableReader.TryProceedSimpleVariable(nodes, formula, ref i))
                {
                    continue;
                }

                if (WordReader.TryProceedWord(nodes, formula, ref i))
                {
                    continue;
                }

                if (ListReader.TryProceedList(nodes, formula, ref i))
                {
                    continue;
                }

                if (OperatorReader.TryProceedOperator(nodes, formula, ref i))
                {
                    continue;
                }
            }

            return(nodes);
        }