bool CParseTreeTerminalNodeIdentifier::EvaluatesToBinaryNumber() { if (TokenEvaluatesToBinaryNumber(_node_type)) { // Operation that evaluates to binary number, // e.g. bit-shift, logical and, etc. return true; } else if (IsBinaryIdentifier()) return true; else if ((_node_type == kTokenIdentifier) && p_function_collection->EvaluatesToBinaryNumber(_terminal_name)) { return true; } // Nothing binary return false; }
bool CParseTreeNode::EvaluatesToBinaryNumber() { if (TokenEvaluatesToBinaryNumber(_node_type)) { // Operation that evaluates to binary number, // e.g. bit-shift, logical and, etc. return true; } else if (TokenIsBracketOpen(_node_type)) { // Have a look at the sub-extreesopn TPParseTreeNode sub_expression = _first_sibbling; // There has to be an expresison inside the brackets assert (_first_sibbling != NULL); return _first_sibbling->EvaluatesToBinaryNumber(); } else if (IsBinaryIdentifier()) return true; else if ((_node_type == kTokenIdentifier) && p_function_collection->EvaluatesToBinaryNumber(_terminal_name)) { return true; } // Nothing binary return false; }