Exemple #1
0
        // FIXME: used by source_t - need a different approach at some time
        public bool parse_stream(plib.istream_uptr istrm, string name)  //bool parse_stream(plib::istream_uptr &&istrm, const pstring &name);
        {
            var filename     = istrm.filename();
            var preprocessed = new MemoryStream(                                                                  //auto preprocessed = std::make_unique<std::stringstream>(putf8string(
                Encoding.ASCII.GetBytes(new plib.ppreprocessor(m_includes, m_defines).process(istrm, filename))); //plib::ppreprocessor(m_includes, &m_defines).process(std::move(istrm), filename)));

            parser_t_token_store st     = new parser_t_token_store();
            parser_t             parser = new parser_t(this);

            parser.parse_tokens(new plib.istream_uptr(preprocessed, filename), st);
            return(parser.parse(st, name));
        }
Exemple #2
0
 public void parse_tokens(plib.istream_uptr strm, parser_t_token_store tokstor)
 {
     //plib::putf8_reader u8reader(strm.release_stream());
     m_tokenizer.append_to_store(new StreamReader(strm.release_stream()), tokstor);
 }