public override void Read(Tokeniser t, CharacterReader r)
            {
                string data = r.ConsumeTo("]]>");

                t.Emit(data);
                r.MatchConsume("]]>");
                t.Transition(Data);
            }
Exemple #2
0
            public override void Read(Tokeniser t, CharacterReader r)
            {
                // TODO: handle bogus comment starting from eof. when does that trigger?
                // rewind to capture char that lead us here
                r.Unconsume();
                Token.Comment comment = new Token.Comment();
                comment.data.Append(r.ConsumeTo('>'));
                comment.IsBogus = true;

                // TODO: replace nullChar with replaceChar
                t.Emit(comment);
                t.AdvanceTransition(Data);
            }
Exemple #3
0
            public override void Read(Tokeniser t, CharacterReader r)
            {
                switch (r.Current)
                {
                case nullChar:
                    t.Error(this);
                    r.Advance();
                    t.Emit(replacementChar);
                    break;

                case eof:
                    t.Emit(Token.EOF.Instance);
                    break;

                default:
                    string data = r.ConsumeTo(nullChar);
                    t.Emit(data);
                    break;
                }
            }