Пример #1
0
        // Variable = Name & ? one of defined variables ?
        private IParsingProduct ParseVariable(ISourceCode src)
        {
            using var ctx = src.GetFurtherContext();
            var fragment = ParseName(ctx);

            if (fragment == null)
            {
                return(null);
            }

            var variableNode = _grammarProductsFactory.CreateVariableNode(fragment);

            if (variableNode == null)
            {
                ctx.SetError(ParsingErrors.UndefinedVariable);
                return(null);
            }

            ctx.Accept();
            return(variableNode);
        }