diff options
author | 2022-06-20 20:01:03 +0200 | |
---|---|---|
committer | 2022-06-20 20:01:03 +0200 | |
commit | 0dad442511fc3e96bae721c38fe8040a222cc21a (patch) | |
tree | b0eb0732f9e7f438a41a889621d36193d16d6e1b /src/lib/netlist/nl_parser.h | |
parent | 3fbfe0b1d76573ee8971eaaee6b37b4024575624 (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.h | 15 |
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_ |