示例#1
0
        public void LexicalState_Uncovered()
        {
            Ensure.Throws(() => new LexicalState(null));

            LexicalState state = new LexicalState("test");

            Assert.IsNull(state.Get("key", 0));
        }
        public override bool Parse(LexicalState state)
        {
            int index = state.Position;

            if (!UnicodeEscapeSequence.S.Parse(state))
            {
                return(false);
            }

            string sequence = state.Get(UnicodeEscapeSequence.S.Key, index);
            char   c        = (char)Convert.ToInt32(sequence.Substring(2), 16);

            if (!m_categories.Contains(Char.GetUnicodeCategory(c)))
            {
                state.Reset(index);
                return(false);
            }

            state.AddBack(Key, index);
            return(true);
        }