Esempio n. 1
0
        private Token ReaderComment(CharIterator reader)
        {
            var isMulti = reader.NextIs('*');
            var i       = isMulti ? reader.IndexOf("*/") : reader.IndexOf("\n");
            var start   = reader.Position + 2;
            var end     = i < 0 ? reader.Length : i - 1;
            var content = reader.ReadSeek(start, end - start);

            reader.Position = i < 0 ? reader.Length : i + 1;
            return(new Token()
            {
                Type = TokenType.Comment, Content = content
            });
        }
Esempio n. 2
0
        private Token ReaderFor(CharIterator reader)
        {
            var end     = reader.IndexOf('}');
            var start   = reader.Position + (reader.NextIs('~') ? 2 : 4);
            var content = reader.ReadSeek(start, end - start);

            reader.Position = end;
            return(new BlockToken()
            {
                Type = TokenType.For,
                Content = content,
                Children = RenderBlockInner(reader, true)
            });
        }