summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-4/+4
| | | | | | | - convert macros to c++ code. - order of device creation should not depend on std lib. - some state saving cleanup. - added support for clang-tidy to makefile. - modifications triggered by clang-tidy-9.
* netlist: pstream and ppreprocessor (now a pistream) refactoring. (nw) couriersud2019-01-191-6/+5
|
* Fix clang-8 warnings. (nw) couriersud2019-01-111-1/+1
|
* Improve type safety on string->numeric conversions. (nw) couriersud2019-01-101-4/+4
| | | | | | | Also fixed an issue with 7497. ./nltool -t 5 -f src/mame/machine/nl_tp1983.cpp -v now runs again.
* More c++ alignment. pstring now behaves like std::string. (nw) couriersud2019-01-061-6/+5
| | | | | This change removes all string extensions like trim, rpad, left, right, ... from pstring and replaces them by function templates. This aligns a lot better with the intentions of the standard library.
* Netlist code refactoring: couriersud2017-04-091-0/+1
| | | | | | | | | | | | | | | | | | | - more use of c++ features - some CRTP in pfmtlog - demangled code for truthtables - use more constexpr - rewrite main loop - use default constructors and assignment operators were applicable. - optimized 7448 and 9316 All of this has decreased startup time by approx. 25% to 30%. Complex netlists like pong or kidniki are parsed, analyzed and constructed in around 15 ms. Run performance has increased by about 5%. All in all not to bad. A game like pong uses a clock of 7 MHz (after division by 2). Thats 14 MHz clock invocations. Running at over 200%, 28 MHz. On a 3.9 GHz Machine about 140 cycles/clock change. [Couriersud]
* More cppcheck fixes. (nw) Couriersud2017-03-051-1/+1
|
* Separate include file usage for netlist. couriersud2017-01-291-2/+1
| | | | | | | | Device implementations (all cpp files in netlist/devices) now should only include nl_base.h. Netlist implementation sources should only include "net_lib.h". Refactored netlist.h and netlist.cpp to avoid namespace congestion in netlist.h. Fixed VC2015 build. (nw)
* Do not derive other classes from std::vector. More cleanup. (nw) couriersud2017-01-271-2/+2
|
* Netlist: code refactoring couriersud2017-01-201-2/+0
| | | | | | | Make streams provide binary access only. Use putf8_reader and putf8_writer to actually access streams. Replace some char * parameters with pstring where appropriate. Minor code refactoring and move functionality were it belongs. (nw)
* Assume string literals are UTF8 in netlist code. couriersud2017-01-201-8/+3
| | | | | | | At the same time, any char pointer has to be explicitly converted to pstring by specifying an encoding. Not yet optimal, but certainly better than what was there before. Removed unneeded methods from pstring. (nw)
* Converted warnings and fatal log messages to constants. couriersud2017-01-201-21/+4
| | | Also refactored some code to ease the exercise. (nw)
* Keep track were registry elements are created. (nw) couriersud2017-01-161-5/+5
|
* Fix parsing of macro devices. (nw) couriersud2017-01-041-1/+1
|
* Refactored factory. Use namespace "factory" instead of prefix factory_ couriersud2017-01-021-1/+1
| | | all over the place. (nw)
* Simplify code. Introduce consistent approach to loading macro devices. couriersud2017-01-021-39/+20
| | | | Changed nltool "listdevices" command accordingly. Fix some bugs which surfaced by this exercise. (nw)
* Netlist updates: couriersud2016-07-211-6/+6
| | | | | | | | | | | | | | | - Removed trampolines (OUTLOGIC, INPLOGIC and friends). - Started using doxygen comment and documentation style. Added doxygen files to documentation folder. - Refactored code triggered by doxygen output. - Moved internal and support classes into namespace detail. - Use an anordered map in parser. - -Wconversion fixes - All done now. - Fixed -Wold-style-cast warnings in netlist code. - Added iterators to pstring. - Moved two macros, added more RAII and improved exceptions. Fixed some bugs in parser code. - Fixed a number of bugs in parser code and exception handling. [Couriersud]
* Moved two macros, added more RAII and improved exceptions. Fixed some couriersud2016-07-091-2/+2
| | | | bugs in parser code. (nw)
* Netlist changes couriersud2016-06-231-9/+24
| | | | | | | | | | | | | | | | | | | | | - Replaced shared_ptr by unique_ptr. - Better seperation of setup_t and netlist_t. - Fixed bugs in rdtsc code. Refactored timer code. - Simplify conditional activation/deactivation. - Introduced HINT(device, hint) to clarify that hints are inheritent and not specific to devices. - Added improved profiling support to netlist. Statistics output now proposes devices for which whole device activation/deactivation be disabled. No significant improvement for pong, but breakout experiences a 10% improvement. - Moved options code from include to cpp file. - Minor modifications to 7493 and 9316 - Introduced perftime_t and perfcount_t for gathering statistics. These templates do not create any code if statistics are not kept. - Make help2man ./nltool produce usuable output. - More truthtable refactoring. Removed half-finished code for internal state support. As implemented, this would have had no support for timing delays. [Couriersud]
* - More code cleanup. couriersud2016-06-071-1/+1
| | | | | | | | | | | | | | - Dead code removal and minor refactoring. - Simplify. Align naming with stl. Fix somed pedantic warnings. - More STL compatability. - Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time. - Fix long standing workaround which would ignore policy of change-only" propagation. - Rewrote for loops to use auto : semantics. - Truthtable cleanup. (nw) - Get rid of nl_math. Remove nl_util.h and moved contents to plib/putil.h. - Fix standalone build. Refactor ptypes.h. [Couriersud]
* - Minor cosmetic refactoring. Added a "uninitialised array" template to balr0g2016-06-071-1/+1
| | | | | | | | | | | allow in-place creation (for increased locality) of netlist classes. Main use is in truthtable class. - Remove PLIB_NAMESPACE macros. - Remove namespace macros. Use explicit namespace declarations. - Moved device definitions into cpp files. - Moved more device definitions into cpp files. - New prefix "nlid" for include files flags purely internal include files not to be leaked into userland. - Fix factory code.
* Moved more code into plib namespace. (nw) couriersud2016-05-271-8/+8
|
* Converted more devices to new layout. Improved memory handling in couriersud2016-05-211-2/+2
| | | factories. (nw)
* mergeme couriersud2016-05-121-3/+1
|
* Converted most subdevices to unique_ptr. This is a temporary measure couriersud2016-05-021-2/+2
| | | | | until the device initialisation is moved into the constructor. Started converting constructors of devices to be passed name and netlist. (nw)
* netlist: rename plist_t to pvector_t to clarify origin. couriersud2016-03-141-3/+3
|
* netlist updates: couriersud2016-03-141-4/+4
| | | | | | | | | | - First steps to move towards c++11. - Base plist on std::vector - Replace pstack with std::stack - Remove pnamed_list - use c++ "for each" in a number of places - Fixed two "time bombs" [couriersud]
* These are not needed with official tools (nw) Miodrag Milanovic2015-11-101-11/+0
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+469