예제 #1
0
        /// <summary>
        /// Converts a group's value into recognizable tokens
        /// </summary>
        /// <param name="group"></param>
        /// <returns></returns>
        private IEnumerable <IToken> ParseTokens(IGroup group)
        {
            ITokenParser tokenParser = null;

            if (group is CriterionGroup)
            {
                var groupIdentifier = new GroupIdentifier(group, _operators);
                if (groupIdentifier.IsRangeCondition())
                {
                    tokenParser = new RangeTokenParser(_operators);
                }
                else if (groupIdentifier.IsSingleCondition())
                {
                    tokenParser = new SingleTokenParser(_operators);
                }
            }
            else
            {
                tokenParser = new LogicTokenParser(_operators);
            }

            if (tokenParser != null)
            {
                return(tokenParser.Parse(group.Value));
            }
            return(null);
        }
예제 #2
0
        static void Main()
        {
            using (var parser = new SingleTokenParser())
            {
                parser.SetText("aAb");
                parser.Start();
            }

            Console.WriteLine("FINISHED!");
            Console.ReadLine();
        }
예제 #3
0
 protected override void Prepare()
 {
     _parser = new SingleTokenParser();
     _parser.SetText("AbbbbbbbbbbbbbBCDashBCDosh[peaAahlahayBCDkaoph;asA");
 }