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.cpp45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/lib/netlist/plib/pparser.cpp b/src/lib/netlist/plib/pparser.cpp
index d666ad11054..d0c7ea5d960 100644
--- a/src/lib/netlist/plib/pparser.cpp
+++ b/src/lib/netlist/plib/pparser.cpp
@@ -16,11 +16,6 @@ namespace plib {
// A simple tokenizer
// ----------------------------------------------------------------------------------------
-ptokenizer::~ptokenizer()
-{
-}
-
-
pstring ptokenizer::currentline_str()
{
return m_cur_line;
@@ -126,7 +121,7 @@ double ptokenizer::get_number_double()
error(pfmt("Expected a number, got <{1}>")(tok.str()) );
}
bool err;
- double ret = plib::pstonum_ne<double>(tok.str(), err);
+ auto ret = plib::pstonum_ne<double>(tok.str(), err);
if (err)
error(pfmt("Expected a number, got <{1}>")(tok.str()) );
return ret;
@@ -140,7 +135,7 @@ long ptokenizer::get_number_long()
error(pfmt("Expected a long int, got <{1}>")(tok.str()) );
}
bool err;
- long ret = plib::pstonum_ne<long>(tok.str(), err);
+ auto ret = plib::pstonum_ne<long>(tok.str(), err);
if (err)
error(pfmt("Expected a long int, got <{1}>")(tok.str()) );
return ret;
@@ -277,18 +272,18 @@ ppreprocessor::ppreprocessor(defines_map_type *defines)
, m_state(PROCESS)
, m_comment(false)
{
- m_expr_sep.push_back("!");
- m_expr_sep.push_back("(");
- m_expr_sep.push_back(")");
- m_expr_sep.push_back("+");
- m_expr_sep.push_back("-");
- m_expr_sep.push_back("*");
- m_expr_sep.push_back("/");
- m_expr_sep.push_back("&&");
- m_expr_sep.push_back("||");
- m_expr_sep.push_back("==");
- m_expr_sep.push_back(" ");
- m_expr_sep.push_back("\t");
+ m_expr_sep.emplace_back("!");
+ m_expr_sep.emplace_back("(");
+ m_expr_sep.emplace_back(")");
+ m_expr_sep.emplace_back("+");
+ m_expr_sep.emplace_back("-");
+ m_expr_sep.emplace_back("*");
+ m_expr_sep.emplace_back("/");
+ m_expr_sep.emplace_back("&&");
+ m_expr_sep.emplace_back("||");
+ m_expr_sep.emplace_back("==");
+ m_expr_sep.emplace_back(" ");
+ m_expr_sep.emplace_back("\t");
m_defines.insert({"__PLIB_PREPROCESSOR__", define_t("__PLIB_PREPROCESSOR__", "1")});
if (defines != nullptr)
@@ -315,10 +310,10 @@ pstream::size_type ppreprocessor::vread(value_type *buf, const pstream::size_typ
#define CHECKTOK2(p_op, p_prio) \
else if (tok == # p_op) \
{ \
- if (prio < p_prio) \
+ if (prio < (p_prio)) \
return val; \
start++; \
- const auto v2 = expr(sexpr, start, p_prio); \
+ const auto v2 = expr(sexpr, start, (p_prio)); \
val = (val p_op v2); \
} \
@@ -389,9 +384,9 @@ pstring ppreprocessor::replace_macros(const pstring &line)
static pstring catremainder(const std::vector<pstring> &elems, std::size_t start, pstring sep)
{
pstring ret("");
- for (auto & elem : elems)
+ for (std::size_t i = start; i < elems.size(); i++)
{
- ret += elem;
+ ret += elems[i];
ret += sep;
}
return ret;
@@ -472,7 +467,7 @@ pstring ppreprocessor::process_line(pstring line)
std::size_t start = 0;
lt = replace_macros(lt);
std::vector<pstring> t(psplit(replace_all(lt.substr(3), pstring(" "), pstring("")), m_expr_sep));
- int val = static_cast<int>(expr(t, start, 255));
+ auto val = static_cast<int>(expr(t, start, 255));
if (val == 0)
m_ifflag |= (1 << m_level);
}
@@ -535,4 +530,4 @@ pstring ppreprocessor::process_line(pstring line)
-}
+} // namespace plib