Age | Commit message (Collapse) | Author |
|
* 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
|
|
* "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
|
|
* now using range for-loops during Tree printing
* inroduced popNode helper method which helps to simplify the Tree construction implementation
|
|
* 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
|
|
Added ConstantNode blueprint
|
|
* OperatorNode class now uses TokenType for internal operator storage and logic selection
* print-Method resolves the TokenType back into its character representation
|
|
* New priority for alphabetic characters
* Overloaded OperandNode constructor
* Currently not usable, only basic proof of concept
|
|
* library is called libSimpleParser.so
* parser was renamed to clc
* test and clc are using the shared library
|
|
|
|
priority determination and tree building functions were hidden in
unnamed namespace
|
|
|