diff --git a/src/V3PreProc.cpp b/src/V3PreProc.cpp index c12d27292..1297c7a09 100644 --- a/src/V3PreProc.cpp +++ b/src/V3PreProc.cpp @@ -204,6 +204,7 @@ private: int getStateToken(); int getFinalToken(string& buf); + ProcState state() const { return m_states.top(); } void statePush(ProcState state) { m_states.push(state); } @@ -806,7 +807,7 @@ int V3PreProcImp::getRawToken() { yyourtext(rtncmt.c_str(), rtncmt.length()); m_lineCmt = ""; if (yyourleng()) m_rawAtBol = (yyourtext()[yyourleng()-1]=='\n'); - if (m_states.top()==ps_DEFVALUE) { + if (state()==ps_DEFVALUE) { V3PreLex::s_currentLexp->appendDefValue(yyourtext(),yyourleng()); goto next_tok; } else { @@ -839,7 +840,7 @@ void V3PreProcImp::debugToken(int tok, const char* cmtp) { while ((pos=buf.find("\r")) != string::npos) { buf.replace(pos, 1, "\\r"); } fprintf (stderr, "%d: %s %s %s(%d) dr%d: <%d>%-10s: %s\n", m_lexp->m_tokFilelinep->lineno(), cmtp, m_off?"of":"on", - procStateName(m_states.top()), (int)m_states.size(), (int)m_defRefs.size(), + procStateName(state()), (int)m_states.size(), (int)m_defRefs.size(), m_lexp->currentStartState(), tokenName(tok), buf.c_str()); } } @@ -853,11 +854,10 @@ int V3PreProcImp::getStateToken() { next_tok: if (isEof()) return VP_EOF; int tok = getRawToken(); - ProcState state = m_states.top(); // Most states emit white space and comments between tokens. (Unless collecting a string) - if (tok==VP_WHITE && state !=ps_STRIFY) return (tok); - if (tok==VP_BACKQUOTE && state !=ps_STRIFY) { tok = VP_TEXT; } + if (tok==VP_WHITE && state() !=ps_STRIFY) return (tok); + if (tok==VP_BACKQUOTE && state() !=ps_STRIFY) { tok = VP_TEXT; } if (tok==VP_COMMENT) { if (!m_off) { if (m_lexp->m_keepComments == KEEPCMT_SUB) { @@ -918,7 +918,7 @@ int V3PreProcImp::getStateToken() { } // Deal with some special parser states - switch (state) { + switch (state()) { case ps_TOP: { break; } @@ -929,17 +929,17 @@ int V3PreProcImp::getStateToken() { case ps_DEFNAME_ELSIF: { if (tok==VP_SYMBOL) { m_lastSym.assign(yyourtext(),yyourleng()); - if (state==ps_DEFNAME_IFDEF - || state==ps_DEFNAME_IFNDEF) { + if (state()==ps_DEFNAME_IFDEF + || state()==ps_DEFNAME_IFNDEF) { bool enable = defExists(m_lastSym); UINFO(4,"Ifdef "<pushStateDefForm(); @@ -1214,7 +1214,7 @@ int V3PreProcImp::getStateToken() { case VP_INCLUDE: if (!m_off) { statePush(ps_INCNAME); - } + } // Else incname looks like normal text, that will be ignored goto next_tok; case VP_UNDEF: statePush(ps_DEFNAME_UNDEF);