Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-09-25 | Increased Node constness and removed type member method | Adrian Kummerlaender | |
* marked "solve" and "print" implementations as const * converted member variables into constants where possible * "type" member method is not necessary and partially defeats the purpose of declaring virtual members | |||
2014-09-16 | Improved lexer readabilty and replaced raw new in tree construction | Adrian Kummerlaender | |
* "new" in Tree::addNode member method was replaced with C++14 std::make_unique * renamed and constified lexer local variables to increase readabilty ** replaced chunky if-clauses with switch-clauses where appropriate * updated README.md to mention C++14 requirement | |||
2014-03-04 | Did some refactoring to improve readability | Adrian Kummerländer | |
* now using range for-loops during Tree printing * inroduced popNode helper method which helps to simplify the Tree construction implementation | |||
2014-03-02 | Switched build system to cmake | Adrian Kummerländer | |
* cmake offers a more straight forward and easier understandable way of building this project | |||
2013-10-29 | Added previously missing parser.cc | Adrian Kummerländer | |
2013-10-20 | Modified README to match recently added features | Adrian Kummerländer | |
2013-10-20 | Implemented constant identifier functionality | Adrian Kummerländer | |
* SimpleParser optionally acceps a pointer to an ConstantMap containing string keys mapping to values * Constants are handled in their own ConstantNode class derived from the standard Node class * Operator precedence is now determined separated from the TokenType using a new PrecedenceLevel enum ** Conversion between tokens and their PrecedenceLevel is possible using the new utility function getPrecedence * Added additional test cases for constant identifier resolutions | |||
2013-10-20 | Enabled C++11 for clc and test applications | Adrian Kummerländer | |
2013-10-19 | Merged Node factory-methods into template method | Adrian Kummerländer | |
Added ConstantNode blueprint | |||
2013-10-19 | Switched OperatorNode to TokenType | Adrian Kummerländer | |
* OperatorNode class now uses TokenType for internal operator storage and logic selection * print-Method resolves the TokenType back into its character representation | |||
2013-10-19 | Merge branch 'master' into feature_constants | Adrian Kummerländer | |
Conflicts: src/tree.cc src/utils.cc | |||
2013-10-19 | Improvement: Replaced "priority" with TokenType | Adrian Kummerländer | |
* Made implementation more expressive by replacing the integer priority with an strictly typed enum called TokenType ** Made removal of character comparisons from tree construction and lexer possible * As a side effect distinct numbers had to be assigned to each token ** Operators of same priority do not have identical numbers anymore | |||
2013-10-19 | POC: alphabetic constants | Adrian Kummerländer | |
* New priority for alphabetic characters * Overloaded OperandNode constructor * Currently not usable, only basic proof of concept | |||
2013-10-19 | Fixed undefined behavior of tree construction | Adrian Kummerländer | |
* Invalid input syntax led to undefined behavior when accessing the top element of an empty stack ** Fixed by introducing a new "topNodeFrom" function which throws an exeption in the case that the given std::stack reference is empty | |||
2013-10-19 | Added simple input loop to clc | Adrian Kummerländer | |
2013-09-27 | Modified Makefile to generate shared library | Adrian Kummerländer | |
* library is called libSimpleParser.so * parser was renamed to clc * test and clc are using the shared library | |||
2013-09-26 | Code restructuring of tree and parsing logic | Adrian Kummerländer | |
* Enabled tree to generate itself ** Main work is now done during tree construction * Moved lexer and getPriority utility functions into separate compilation unit | |||
2013-07-29 | Coding style improvements | Adrian Kummerländer | |
2013-07-28 | Added MIT license | Adrian Kummerländer | |
2013-01-11 | Included previously missing exceptions header | Adrian Kummerländer | |
2013-01-06 | Added a basic readme file | Adrian Kummerländer | |
2013-01-05 | Made existing Graphviz tree generation available | Adrian Kummerländer | |
to the libary user by providing a new plain "exportTree" function | |||
2013-01-05 | Deprecated parser class in favour of plain functions; Internal lexer, | Adrian Kummerländer | |
priority determination and tree building functions were hidden in unnamed namespace | |||
2013-01-05 | Moved node classes into separate compilation unit; File extension change | Adrian Kummerländer | |
2013-01-05 | Folder structure change; Further improvements of parser code | Adrian Kummerländer | |
2013-01-05 | Fixes for ugly style used in my early C++ days | Adrian Kummerländer | |
2012-10-12 | Added gtest based test cases to be executed after every compile | Adrian Kummerländer | |
2012-04-22 | Fixed a bug which was preventing the lexer from working correctly | Adrian Kummerländer | |
2012-04-15 | Removed all memory leaks detected by valgrind | Adrian Kummerländer | |
2012-04-14 | Updated Makefile | Adrian Kummerländer | |
2012-03-10 | Enabled full precision output of results | Adrian Kummerländer | |
2012-03-10 | Moved static_cast needed for accessing the specific solve methods of the two ↵ | Adrian Kummerländer | |
derivatives of Node into a template function | |||
2012-03-04 | Got rid of boost dependency | Adrian Kummerländer | |
2011-11-20 | Added support for signed numbers | Adrian Kummerländer | |
2011-11-18 | Inital commit | Adrian Kummerländer | |