aboutsummaryrefslogtreecommitdiff
path: root/tree.cpp
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-10-02 19:59:48 +0200
committerAdrian Kummerlaender2014-10-02 19:59:48 +0200
commitab3a0312247f1467cd1eee81f6b1d22b499a8715 (patch)
tree875815935a92f75714dd301286c5dc35a30bfd96 /tree.cpp
parent0840f434541b57fbd6d3c9d7b2a8b127cc680912 (diff)
downloadSimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar.gz
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar.bz2
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar.lz
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar.xz
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.tar.zst
SimpleParser-ab3a0312247f1467cd1eee81f6b1d22b499a8715.zip
Moved exception based syntax check into buildTree
* invalid expressions typically cause the operator and operand stacks to become unbalanced ** this in turn causes a operator_exception instance to be thrown as soon as the shunting yard implementation in "buildTree" tries to modify the stack _too far_ ** this is not directly visible from the tree construction implementation * the compilation unit local helper methods "pop" and "top" now return "boost::optional<Node*>" instances ** this enables the operator placement errors to be handled where they occur * as a side effect children assignment is now more obvious through correctly named variables * added missing default initialization in lexer implementation
Diffstat (limited to 'tree.cpp')
0 files changed, 0 insertions, 0 deletions