summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_parser.h
diff options
context:
space:
mode:
author couriersud <couriersud@users.noreply.github.com>2022-06-20 20:01:03 +0200
committer GitHub <noreply@github.com>2022-06-20 20:01:03 +0200
commit0dad442511fc3e96bae721c38fe8040a222cc21a (patch)
treeb0eb0732f9e7f438a41a889621d36193d16d6e1b /src/lib/netlist/nl_parser.h
parent3fbfe0b1d76573ee8971eaaee6b37b4024575624 (diff)
netlist: fix bug, prepare for future changes and improve readability (#9947)
* netlist: fix bug, prepare for future changes and improve readability - fix a bug where a net processing error may trigger a nullptr access - applied some clang-tidy recommendations - add no_return to plib::terminate - properly encapsulate dynamic_cast usage - more review of noexcept - added a clang-format file. Over time, all source files will be processed with clang-format - Used clang format on a number of files - Rewrote 74174 - all device constructors now use a struct to pass data on to base classes. Neither netlist state nor the name are intended to be used in a constructor. After the base class was constructed, they can be accessed by state() and name(). - The device construction macros can now be removed. Changes to the core will not need to be reflected in constructors. - Change truth table macros so that going forward NETLIST_END and TRUTH_TABLE_END can be replaced by a closing curly brace. netlists can than use curly braces enclosed blocks. - more clang-format - removed some macros completely - all derived classes from base_device_t now don't use macros any longer. - as a result, delegator_t was removed. This class was only used to support macros :-(
Diffstat (limited to 'src/lib/netlist/nl_parser.h')
-rw-r--r--src/lib/netlist/nl_parser.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/netlist/nl_parser.h b/src/lib/netlist/nl_parser.h
index 0f5e135e9a6..87997866e32 100644
--- a/src/lib/netlist/nl_parser.h
+++ b/src/lib/netlist/nl_parser.h
@@ -8,8 +8,10 @@
#ifndef NL_PARSER_H_
#define NL_PARSER_H_
-#include "core/setup.h"
#include "nltypes.h" // for setup_t
+
+#include "core/setup.h"
+
#include "plib/ptokenizer.h"
#include <unordered_map>
@@ -51,6 +53,7 @@ namespace netlist
void net_truth_table_start(const pstring &nlname);
void verror(const pstring &msg) override;
+
private:
void register_local_as_source(const pstring &name);
@@ -86,16 +89,17 @@ namespace netlist
token_id_t m_tok_TT_FAMILY;
plib::tokenizer_t m_tokenizer;
- nlparse_t &m_setup;
+ nlparse_t & m_setup;
std::unordered_map<pstring, token_store_t> m_local;
- token_store_t *m_cur_local;
+ token_store_t * m_cur_local;
};
class source_token_t : public source_netlist_t
{
public:
- source_token_t(const pstring &name, const parser_t::token_store_t &store)
+ source_token_t(const pstring & name,
+ const parser_t::token_store_t &store)
: m_store(store)
, m_name(name)
{
@@ -108,10 +112,9 @@ namespace netlist
private:
parser_t::token_store_t m_store;
- pstring m_name;
+ pstring m_name;
};
-
} // namespace netlist
#endif // NL_PARSER_H_