summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/plib/pparser.cpp')
-rw-r--r--src/lib/netlist/plib/pparser.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/netlist/plib/pparser.cpp b/src/lib/netlist/plib/pparser.cpp
index 35629aacdee..6604c07dcb7 100644
--- a/src/lib/netlist/plib/pparser.cpp
+++ b/src/lib/netlist/plib/pparser.cpp
@@ -8,14 +8,15 @@
#include <cstdarg>
#include "pparser.h"
-#include "plib/palloc.h"
+#include "palloc.h"
+#include "putil.h"
namespace plib {
// ----------------------------------------------------------------------------------------
// A simple tokenizer
// ----------------------------------------------------------------------------------------
-ptokenizer::ptokenizer(pistream &strm)
+ptokenizer::ptokenizer(plib::putf8_reader &strm)
: m_strm(strm), m_lineno(0), m_cur_line(""), m_px(m_cur_line.begin()), m_unget(0), m_string('"')
{
}
@@ -302,7 +303,7 @@ void ppreprocessor::error(const pstring &err)
-double ppreprocessor::expr(const pstring_vector_t &sexpr, std::size_t &start, int prio)
+double ppreprocessor::expr(const std::vector<pstring> &sexpr, std::size_t &start, int prio)
{
double val;
pstring tok=sexpr[start];
@@ -383,7 +384,7 @@ ppreprocessor::define_t *ppreprocessor::get_define(const pstring &name)
pstring ppreprocessor::replace_macros(const pstring &line)
{
- pstring_vector_t elems(line, m_expr_sep);
+ std::vector<pstring> elems(psplit(line, m_expr_sep));
pstringbuffer ret = "";
for (auto & elem : elems)
{
@@ -396,7 +397,7 @@ pstring ppreprocessor::replace_macros(const pstring &line)
return ret;
}
-static pstring catremainder(const pstring_vector_t &elems, std::size_t start, pstring sep)
+static pstring catremainder(const std::vector<pstring> &elems, std::size_t start, pstring sep)
{
pstringbuffer ret = "";
for (auto & elem : elems)
@@ -415,13 +416,13 @@ pstring ppreprocessor::process_line(const pstring &line)
// FIXME ... revise and extend macro handling
if (lt.startsWith("#"))
{
- pstring_vector_t lti(lt, " ", true);
+ std::vector<pstring> lti(psplit(lt, " ", true));
if (lti[0].equals("#if"))
{
m_level++;
std::size_t start = 0;
lt = replace_macros(lt);
- pstring_vector_t t(lt.substr(3).replace(" ",""), m_expr_sep);
+ std::vector<pstring> t(psplit(lt.substr(3).replace(" ",""), m_expr_sep));
int val = static_cast<int>(expr(t, start, 0));
if (val == 0)
m_ifflag |= (1 << m_level);
@@ -483,7 +484,7 @@ pstring ppreprocessor::process_line(const pstring &line)
}
-postream & ppreprocessor::process_i(pistream &istrm, postream &ostrm)
+void ppreprocessor::process(putf8_reader &istrm, putf8_writer &ostrm)
{
pstring line;
while (istrm.readline(line))
@@ -491,7 +492,6 @@ postream & ppreprocessor::process_i(pistream &istrm, postream &ostrm)
line = process_line(line);
ostrm.writeline(line);
}
- return ostrm;
}
}